Ejemplo n.º 1
0
        protected void SetReleaseDefinitions(string name)
        {
            Classes.VSTS.VstsReleaseDefinitions defs = null;

            try
            {
                if (!_inReleaseProcess)
                {
                    if (!_cache.TryGetValue(CACHE.RELEASES, out defs))
                    {
                        _inReleaseProcess = true;

                        var options = new MemoryCacheEntryOptions().SetPriority(CacheItemPriority.NeverRemove);

                        var vsts = new Classes.VSTS.Vsts(HttpContext.Session.GetString(Session.TOKEN));
                        var temp = vsts.GetDetailedReleaseDefinitions(name);

                        _cache.Set(CACHE.RELEASES, temp, options);

                        _inReleaseProcess = false;
                    }
                }
            }
            catch (System.Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Releases -> " + e.Message);
            }
        }
Ejemplo n.º 2
0
        public List <Classes.VSTS.VstsReleaseDefinition> GetReleaseDefinitionOnBuildId(string id)
        {
            var items = new List <Classes.VSTS.VstsReleaseDefinition>();

            Classes.VSTS.VstsReleaseDefinitions defs = null;

            var timesThrough = 0;

            while (defs == null && timesThrough++ < MAXTIMES_TRY)
            {
                defs = _cache.Get <Classes.VSTS.VstsReleaseDefinitions>(CACHE.RELEASES);
            }
            if (defs != null)
            {
                if (!((defs.ReleaseDefinitions?.Count ?? 0) > 0))
                {
                    defs = new Classes.VSTS.VstsReleaseDefinitions()
                    {
                        ReleaseDefinitions = new List <Classes.VSTS.VstsReleaseDefinition>()
                    };
                }

                var theCount = 1;
                System.Diagnostics.Debug.WriteLine($"Release definitions are {defs.ReleaseDefinitions.Count}");

                foreach (var def in defs.ReleaseDefinitions)
                {
                    System.Diagnostics.Debug.WriteLine($"On {theCount++}");

                    if (def.Artifacts != null)
                    {
                        foreach (var art in def.Artifacts)
                        {
                            var ttt = art.DefinitionReference;

                            var tttt = ttt.Definition;

                            if (tttt.Id == id)  // This release is connected to the build
                            {
                                items.Add(def);
                            }
                        }
                    }
                }
            }

            return(items);
        }