Esempio n. 1
0
        public bool ModifTrigger(string buildTypeId, string triggerId, string newBt)
        {
            //Get data from the old trigger
            var urlExtractAllTriggersOld = String.Format("/app/rest/buildTypes/id:{0}/triggers", buildTypeId);
            var triggers = _caller.GetFormat <BuildTriggers>(urlExtractAllTriggersOld);

            foreach (var trigger in triggers.Trigger.OrderByDescending(m => m.Id))
            {
                if (trigger.Type != "buildDependencyTrigger")
                {
                    continue;
                }

                foreach (var property in trigger.Properties.Property)
                {
                    if (property.Name != "dependsOn")
                    {
                        continue;
                    }

                    if (triggerId != property.Value)
                    {
                        continue;
                    }

                    property.Value = newBt;
                    var writer =
                        new JsonWriter(
                            new DataWriterSettings(new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.Lowercase, "-")));
                    var ttt           = writer.Write(trigger);
                    var urlNewTrigger = String.Format("/app/rest/buildTypes/id:{0}/triggers", buildTypeId);
                    var response      = _caller.Post(ttt, HttpContentTypes.ApplicationJson, urlNewTrigger,
                                                     HttpContentTypes.ApplicationJson);
                    if (response.StatusCode != HttpStatusCode.OK)
                    {
                        continue;
                    }

                    var urlDeleteOld = String.Format("/app/rest/buildTypes/id:{0}/triggers/{1}", buildTypeId, trigger.Id);
                    _caller.Delete(urlDeleteOld);
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
Esempio n. 2
0
        /// <summary>
        /// Unpin a build by build number
        /// </summary>
        /// <param name="buildConfigId"></param>
        /// <param name="buildNumber"></param>
        public void UnPinBuildByBuildNumber(string buildConfigId, string buildNumber)
        {
            var urlPart = $"/builds/buildType:{buildConfigId},number:{buildNumber}/pin/";

            m_caller.Delete(urlPart);
        }