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); } }
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); }