예제 #1
0
        /// <summary>
        /// Look at the "foundFailureCauses" member of the JSON.  This is the custom failures that Jenkins
        /// admins have assigned via regex.
        ///     http://dotnet-ci.cloudapp.net/failure-cause-management/
        /// </summary>
        private static bool TryGetFailureCauses(JArray actions, List <BuildFailureCause> causeList)
        {
            var any = false;

            foreach (var cur in actions)
            {
                var foundCauses = (JArray)cur["foundFailureCauses"];
                if (foundCauses == null)
                {
                    continue;
                }

                foreach (JObject entry in foundCauses)
                {
                    var category = GetCategory(entry);
                    if (category == null)
                    {
                        continue;
                    }

                    var description = entry.Value <string>("description");
                    var name        = entry.Value <string>("name");
                    var cause       = new BuildFailureCause(name: name, description: description, category: category);
                    causeList.Add(cause);
                    any = true;
                }
            }

            return(any);
        }
예제 #2
0
 public BuildFailureInfo(BuildFailureCause cause) : this(new ReadOnlyCollection <BuildFailureCause>(new[] { cause }))
 {
 }