Ejemplo n.º 1
0
        /// <summary>
        /// Gets the build run time message.
        /// </summary>
        /// <param name="currentTime">The current time.</param>
        /// <param name="status">The status.</param>
        /// <param name="endTime">The end time.</param>
        /// <param name="runTime">The run time.</param>
        /// <returns>The build run time message.</returns>
        public static string GetBuildRunTimeMessage(DateTime currentTime, BuildStatus?status, DateTime?endTime, TimeSpan?runTime)
        {
            if (status.IsQueued())
            {
                return(status.Humanize());
            }

            if (status.IsInProgress())
            {
                return(!runTime.HasValue
                    ? status.Humanize()
                    : $"{status.Humanize()} for {runTime.Value.Humanize()}");
            }

            // ReSharper disable once InvertIf
            if (status.IsFinished())
            {
                if (!runTime.HasValue)
                {
                    return(!endTime.HasValue
                        ? status.Humanize()
                        : $"{status.Humanize()} {endTime.Value.Humanize()}");
                }

                return(!endTime.HasValue
                    ? $"{status.Humanize()} in {runTime.Value.Humanize()}"
                    : $"{status.Humanize()} in {runTime.Value.Humanize()}, {endTime.Value.Humanize()}");
            }

            return(null);
        }
Ejemplo n.º 2
0
        public FluidBuildLocator WithStatus(BuildStatus?status)
        {
            var clone = (FluidBuildLocator)this.MemberwiseClone();

            clone.Status = status;
            return(clone);
        }
Ejemplo n.º 3
0
        public static Investigation FromXml(string rawXml)
        {
            BuildStatus?status = null;

            var document = XDocument.Parse(rawXml);

            foreach (XElement element in document.XPathSelectElements("/investigations/investigation"))
            {
                if (element.GetAttributeOrDefault("state", "").Equals("fixed", StringComparison.InvariantCultureIgnoreCase))
                {
                    Logger.Verbose("Investigation status detected as 'fixed'");
                    status = BuildStatus.Fixed;
                }

                if (element.GetAttributeOrDefault("state", "").Equals("taken", StringComparison.InvariantCultureIgnoreCase))
                {
                    Logger.Verbose("Investigation status detected as 'taken'");
                    status = BuildStatus.Investigating;
                }
            }

            return(new Investigation
            {
                Status = status
            });
        }
Ejemplo n.º 4
0
 public static BuildLocator WithDimensions(BuildTypeLocator buildType = null,
                                           UserLocator user           = null,
                                           string agentName           = null,
                                           BuildStatus?status         = null,
                                           bool?personal           = null,
                                           bool?canceled           = null,
                                           bool?running            = null,
                                           bool?pinned             = null,
                                           int?maxResults          = null,
                                           int?startIndex          = null,
                                           BuildLocator sinceBuild = null,
                                           DateTime?sinceDate      = null,
                                           string[] tags           = null,
                                           string branch           = null
                                           )
 {
     return(new BuildLocator
     {
         BuildType = buildType,
         User = user,
         AgentName = agentName,
         Status = status,
         Personal = personal,
         Canceled = canceled,
         Running = running,
         Pinned = pinned,
         MaxResults = maxResults,
         StartIndex = startIndex,
         SinceBuild = sinceBuild,
         SinceDate = sinceDate,
         Tags = tags,
         Branch = branch
     });
 }
Ejemplo n.º 5
0
        public void CanGetBuildStatusMessageWithParts(BuildStatus?status, string expected)
        {
            var parts = GetPartsForBuildStatusMessage();

            var buildStatusMessage = BuildMessageUtility.GetBuildStatusMessage(status, parts);

            buildStatusMessage.ShouldBe(expected);
        }
        /// <summary>
        /// Modify a build
        /// </summary>
        /// <param name="projectName"></param>
        /// <param name="buildId"></param>
        /// <param name="status"></param>
        /// <param name="quality"></param>
        /// <param name="retainIndefinitely"></param>
        /// <returns></returns>
        public async Task <Build> UpdateBuild(string projectName, int buildId, BuildStatus?status = null, string quality = null, bool?retainIndefinitely = null)
        {
            string response = await PatchResponse(string.Format("builds/{0}", buildId),
                                                  new { status = status, quality = quality, retainIndefinitely = retainIndefinitely },
                                                  projectName,
                                                  JSON_MEDIA_TYPE);

            return(JsonConvert.DeserializeObject <Build>(response));
        }
Ejemplo n.º 7
0
        public void CanNotGetRunTimedWithoutStartAndEndTime(BuildStatus?status)
        {
            var buildMock = new Mock <IBuild>();

            buildMock.Setup(m => m.Status).Returns(status);

            var runTime = buildMock.Object.RunTime();

            runTime.ShouldBeNull();
        }
 internal StaticSiteBuildARMResourceData(ResourceIdentifier id, string name, ResourceType type, SystemData systemData, string kind, string buildId, string sourceBranch, string pullRequestTitle, string hostname, DateTimeOffset?createdTimeUtc, DateTimeOffset?lastUpdatedOn, BuildStatus?status, IReadOnlyList <Models.StaticSiteUserProvidedFunctionApp> userProvidedFunctionApps) : base(id, name, type, systemData, kind)
 {
     BuildId                  = buildId;
     SourceBranch             = sourceBranch;
     PullRequestTitle         = pullRequestTitle;
     Hostname                 = hostname;
     CreatedTimeUtc           = createdTimeUtc;
     LastUpdatedOn            = lastUpdatedOn;
     Status                   = status;
     UserProvidedFunctionApps = userProvidedFunctionApps;
 }
Ejemplo n.º 9
0
 public Build(BuildDefinitionReference definition, int id, BuildStatus?status, DateTime?queueTime, DateTime?startTime, DateTime?finishTime, BuildResult?result, IReadOnlyList <TestRun> testRuns)
 {
     Definition = definition;
     Id         = id;
     Status     = status;
     QueueTime  = queueTime;
     StartTime  = startTime;
     FinishTime = finishTime;
     Result     = result;
     TestRuns   = testRuns ?? new List <TestRun>();
 }
Ejemplo n.º 10
0
        public void Reading_the_status_of_a_non_default_build()
        {
            // Given
            CreateClient();
            var expectedBuildInfo = new Build()
            {
                Status = "SUCCESS"
            };
            string expectedBuildConfigurationId = "BuildServer_Branch";

            var locator = BuildLocator.WithDimensions(
                buildType: BuildTypeLocator.WithId(expectedBuildConfigurationId),
                maxResults: 1,
                branch: "branched:true");

            var mockBuilds = ExpectReadOfBuildStatus(expectedBuildConfigurationId, expectedBuildInfo, locator: locator);

            ExpectReadOfBuildConfiguration(expectedBuildConfigurationId, expectedBuildConfigurationId + "_hello");


            var server = new TeamCityServer("localhost", "Username", "Password");

            var wait = new System.Threading.AutoResetEvent(false);

            BuildStatus?actualStatus = null;
            string      actualBuildConfigurationId = null;

            System.Threading.Thread actualThread = null;
            string actualName = null;

            server.ReadBuildStatusComplete += (sender, e) =>
            {
                actualThread = System.Threading.Thread.CurrentThread;
                actualStatus = e.Status;
                actualBuildConfigurationId = e.BuildConfigurationId;
                actualName = e.Name;
                wait.Set();
            };

            server.UseDefault = false; // Set the server to not use the builds default branch

            // When
            server.ReadBuildStatusAsync(expectedBuildConfigurationId);

            Assert.IsTrue(wait.WaitOne(5000));

            // Then
            clientMock.VerifyAll();
            mockBuilds.VerifyAll();
            Assert.AreEqual(BuildStatus.Success, actualStatus);
            Assert.AreEqual(expectedBuildConfigurationId, actualBuildConfigurationId);
            Assert.AreEqual(expectedBuildConfigurationId + "_hello", actualName);
            Assert.AreNotEqual(System.Threading.Thread.CurrentThread, actualThread);
        }
Ejemplo n.º 11
0
        public void CanNotGetRunTimeWithoutEndTime(BuildStatus?status)
        {
            var utcNow = DateTime.UtcNow;

            var buildMock = new Mock <IBuild>();

            buildMock.Setup(m => m.Status).Returns(status);
            buildMock.Setup(m => m.StartTime).Returns(utcNow);

            var runTime = buildMock.Object.RunTime();

            runTime.ShouldBeNull();
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Gets the build status message.
        /// </summary>
        /// <param name="status">The status.</param>
        /// <param name="parts">The parts.</param>
        /// <returns>The build status message.</returns>
        public static string GetBuildStatusMessage(BuildStatus?status, IDictionary <string, string> parts)
        {
            Ensure.That(parts).IsNotNull();

            if (!status.HasValue)
            {
                return(null);
            }

            var messageParts = GetMessageParts(parts);

            return(string.IsNullOrWhiteSpace(messageParts)
                ? $"Build {status.Value.Humanize().Transform(To.LowerCase)}"
                : $"Build {messageParts} {status.Value.Humanize().Transform(To.LowerCase)}");
        }
Ejemplo n.º 13
0
 public Build(long id, string number, BuildStatus?status, DateTime startDate, DateTime finishDate,
              DateTime queuedDate, BuildConfiguration buildConfiguration, Agent agent, List <Change> changes, string webUrl,
              Properties properties)
 {
     m_Id                 = id;
     m_Number             = number;
     m_Status             = status;
     m_StartDate          = startDate;
     m_FinishDate         = finishDate;
     m_QueuedDate         = queuedDate;
     m_BuildConfiguration = buildConfiguration;
     m_Agent              = agent;
     m_Changes            = changes;
     m_WebUrl             = webUrl;
     m_Properties         = properties;
 }
Ejemplo n.º 14
0
        private void Reading_the_status_of_a_XYZ_build(string status, BuildStatus expectedStatus,
                                                       string expectedBuildConfigurationId = "BuildServer_Branch",
                                                       string returnedName = "Name", string expectedName = "Name")
        {
            // Given
            CreateClient();
            var expectedBuildInfo = new Build()
            {
                Status = status
            };
            var mockBuilds = ExpectReadOfBuildStatus(expectedBuildConfigurationId, expectedBuildInfo);

            ExpectReadOfBuildConfiguration(expectedBuildConfigurationId, returnedName);

            var server = new TeamCityServer("localhost", "Username", "Password");

            var wait = new System.Threading.AutoResetEvent(false);

            BuildStatus?actualStatus = null;
            string      actualBuildConfigurationId = null;

            System.Threading.Thread actualThread = null;
            string actualBuildName = null;

            server.ReadBuildStatusComplete += (sender, e) =>
            {
                actualThread = System.Threading.Thread.CurrentThread;
                actualStatus = e.Status;
                actualBuildConfigurationId = e.BuildConfigurationId;
                actualBuildName            = e.Name;
                wait.Set();
            };

            // When
            server.ReadBuildStatusAsync(expectedBuildConfigurationId);

            Assert.IsTrue(wait.WaitOne(5000));

            // Then
            clientMock.VerifyAll();
            mockBuilds.VerifyAll();
            Assert.AreEqual(expectedStatus, actualStatus);
            Assert.AreEqual(expectedBuildConfigurationId, actualBuildConfigurationId);
            Assert.AreEqual(expectedName, actualBuildName);
            Assert.AreNotEqual(System.Threading.Thread.CurrentThread, actualThread);
        }
Ejemplo n.º 15
0
        public static Core.Models.BuildStatus Convert(BuildStatus?status, BuildResult?result)
        {
            switch (status)
            {
            case BuildStatus.InProgress:
                return(Core.Models.BuildStatus.InProgress);

            case BuildStatus.NotStarted:
                return(Core.Models.BuildStatus.NotStarted);

            case BuildStatus.Completed:
                return(Convert(result));

            default:
                throw new NotSupportedException("Unable to convert unrecognised BuildStatus.");
            }
        }
Ejemplo n.º 16
0
        private async Task <List <BuildStatus> > GetStatusOfAllBuilds(IEnumerable <string> buildTypeIds)
        {
            var statusPerBuild = new List <BuildStatus>();

            foreach (var buildTypeId in buildTypeIds)
            {
                HttpResponseMessage result = await httpClient.GetAsync($"{authPath}/app/rest/buildTypes/id:{buildTypeId}");

                if (result.IsSuccessStatusCode)
                {
                    var buildType = BuildType.FromXml(await result.Content.ReadAsStringAsync());

                    Logger.Verbose($"Analyzing the builds for '{buildType.Id}' over a period of {config.TimeSpan.Days} days.");

                    BuildStatus?status = await GetBuildTypeStatus(buildType);

                    if (status.HasValue)
                    {
                        statusPerBuild.Add(status.Value);
                    }

                    var statusMessage = $"Status of build type '{buildType.Id}' is {status ?? BuildStatus.Unavailable}.";
                    switch (status)
                    {
                    case BuildStatus.Failed:
                        Logger.WriteErrorLine(statusMessage);
                        break;

                    case BuildStatus.Investigating:
                        Logger.WriteWarningLine(statusMessage);
                        break;

                    default:
                        Logger.WriteLine(statusMessage);
                        break;
                    }
                }
                else
                {
                    Logger.WriteLine($"Failed to get info for build type {buildTypeId}: {result.StatusCode}");
                }
            }

            return(statusPerBuild);
        }
Ejemplo n.º 17
0
        public async Task <JsonCollection <BuildRequest> > GetBuildRequests(string projectName, string requestedFor = null,
                                                                            int?definitionId   = null, int?queueId = null, int?maxCompletedAge = null,
                                                                            BuildStatus?status = null, int?top     = null, int?skip = null)
        {
            string response = await GetResponse("requests",
                                                new Dictionary <string, object>() {
                { "requestedFor", requestedFor },
                { "definitionId", definitionId },
                { "queueId", queueId },
                { "maxCompletedAge", maxCompletedAge },
                { "status", status != null ? status.Value.ToString() : null },
                { "$top", top },
                { "$skip", skip }
            },
                                                projectName);

            return(JsonConvert.DeserializeObject <JsonCollection <BuildRequest> >(response));
        }
Ejemplo n.º 18
0
        public PipelineEnvironmentBuildStatus(BuildStatus?status)
        {
            if (!status.HasValue)
            {
                Description = "Loading";
            }
            else
            {
                Status = status.Value;

                switch (status)
                {
                case BuildStatus.InProgress:
                    Description = "In Progress";
                    break;

                case BuildStatus.Failed:
                    Description = "Failed";
                    break;

                case BuildStatus.None:
                    Description = "Unknown Status";
                    break;

                case BuildStatus.NotStarted:
                    Description = "Unknown Status";
                    break;

                case BuildStatus.PartiallySucceeded:
                    Description = "Partially Succeeded";
                    break;

                case BuildStatus.Stopped:
                    Description = "Stopped";
                    break;

                case BuildStatus.Succeeded:
                    Description = "Succeeded";
                    break;
                }
            }
        }
Ejemplo n.º 19
0
 public Build(long id, string number, BuildStatus?status, DateTime startDate, DateTime finishDate,
              DateTime queuedDate, BuildConfiguration buildConfiguration, Agent agent, List <Change> changes, string webUrl,
              Properties properties, ITestOccurrences testOccurrences, BuildState?state, RevisionsWrapper revisions, string branch = null)
 {
     m_Id                 = id;
     m_Number             = number;
     m_Status             = status;
     m_State              = state;
     m_StartDate          = startDate;
     m_FinishDate         = finishDate;
     m_QueuedDate         = queuedDate;
     m_BuildConfiguration = buildConfiguration;
     m_Agent              = agent;
     m_TestOccurrences    = testOccurrences;
     m_Changes            = changes;
     m_WebUrl             = webUrl;
     m_Properties         = properties;
     m_Revisions          = revisions;
     m_Branch             = branch;
 }
Ejemplo n.º 20
0
        /// <summary>
        /// List the builds that meet the provided query parameters
        /// </summary>
        public IAsyncEnumerable <Build> EnumerateBuildsAsync(
            string project,
            IEnumerable <int>?definitions = null,
            IEnumerable <int>?queues      = null,
            string?buildNumber            = null,
            DateTimeOffset?minTime        = null,
            DateTimeOffset?maxTime        = null,
            string?requestedFor           = null,
            BuildReason?reasonFilter      = null,
            BuildStatus?statusFilter      = null,
            BuildResult?resultFilter      = null,
            int?top = null,
            int?maxBuildsPerDefinition       = null,
            QueryDeletedOption?deletedFilter = null,
            BuildQueryOrder?queryOrder       = null,
            string?branchName          = null,
            IEnumerable <int>?buildIds = null,
            string?repositoryId        = null,
            string?repositoryType      = null)
        {
            var builder = GetBuilder(project, "build/builds");

            builder.AppendList("definitions", definitions);
            builder.AppendList("queues", queues);
            builder.AppendString("buildNumber", buildNumber);
            builder.AppendDateTime("minTime", minTime);
            builder.AppendDateTime("maxTime", maxTime);
            builder.AppendString("requestedFor", requestedFor);
            builder.AppendEnum("reasonFilter", reasonFilter);
            builder.AppendEnum("statusFilter", statusFilter);
            builder.AppendEnum("resultFilter", resultFilter);
            builder.AppendInt("$top", top);
            builder.AppendInt("maxBuildsPerDefinition", maxBuildsPerDefinition);
            builder.AppendEnum("deletedFilter", deletedFilter);
            builder.AppendEnum("queryOrder", queryOrder);
            builder.AppendString("branchName", branchName);
            builder.AppendList("buildIds", buildIds);
            builder.AppendString("repositoryId", repositoryId);
            builder.AppendString("repositoryType", repositoryType);
            return(EnumerateItemsAsync <Build>(builder, limit: top));
        }
Ejemplo n.º 21
0
        public Microsoft.TeamFoundation.Build.Server.BuildStatus ConvertBuildStatus(BuildStatus?status, BuildResult?result)
        {
            if (!status.HasValue)
            {
                return(Microsoft.TeamFoundation.Build.Server.BuildStatus.NotStarted);
            }
            BuildStatus value = status.Value;

            switch (value)
            {
            case BuildStatus.None:
                return(Microsoft.TeamFoundation.Build.Server.BuildStatus.None);

            case BuildStatus.InProgress:
                return(Microsoft.TeamFoundation.Build.Server.BuildStatus.InProgress);

            case BuildStatus.Completed:
                return(this.ConvertBuildResult(result));

            case (BuildStatus)3:
            case (BuildStatus)5:
            case (BuildStatus)6:
            case (BuildStatus)7:
                break;

            case BuildStatus.Cancelling:
                return(Microsoft.TeamFoundation.Build.Server.BuildStatus.Stopped);

            case BuildStatus.Postponed:
                return(Microsoft.TeamFoundation.Build.Server.BuildStatus.NotStarted);

            default:
                if (value == BuildStatus.NotStarted)
                {
                    return(Microsoft.TeamFoundation.Build.Server.BuildStatus.NotStarted);
                }
                break;
            }
            return(Microsoft.TeamFoundation.Build.Server.BuildStatus.NotStarted);
        }
Ejemplo n.º 22
0
 public FluidBuildLocator WithDimensions(IBuildTypeLocator buildType     = null,
                                         IUserLocator user               = null,
                                         IProjectLocator project         = null,
                                         IProjectLocator affectedProject = null,
                                         string agentName           = null,
                                         BuildStatus?status         = null,
                                         bool?personal              = null,
                                         bool?cancelled             = null,
                                         RunningLocatorFlag?running = null,
                                         bool?pinned              = null,
                                         int?maxResults           = null,
                                         int?startIndex           = null,
                                         IBuildLocator sinceBuild = null,
                                         DateTime?sinceDate       = null,
                                         string[] tags            = null,
                                         IBranchLocator branch    = null
                                         )
 {
     return(new FluidBuildLocator
     {
         BuildType = buildType,
         User = user,
         Project = project,
         AffectedProject = affectedProject,
         AgentName = agentName,
         Status = status,
         Personal = personal,
         Cancelled = cancelled,
         Running = running,
         Pinned = pinned,
         MaxResults = maxResults,
         StartIndex = startIndex,
         SinceBuild = sinceBuild,
         SinceDate = sinceDate,
         Tags = tags,
         Branch = branch
     });
 }
Ejemplo n.º 23
0
        /// <inheritdoc />
        public bool TryUpdate(string projectName, BuildStatus?status, DateTime?startTime, DateTime?endTime, TimeSpan?runTime)
        {
            var name = BuildMessageUtility.GetBuildName(projectName, VersionNumber);

            var isUpdated = false;

            if (Name != name)
            {
                Name      = name;
                isUpdated = true;
            }

            var message = BuildMessageUtility.GetBuildRunTimeMessage(DateTime.UtcNow, status, endTime, runTime);

            if (Message != message)
            {
                Message   = message;
                Status    = status;
                EndTime   = endTime;
                isUpdated = true;
            }

            if (StartTime != startTime)
            {
                StartTime = startTime;
                isUpdated = true;
            }

            // ReSharper disable once InvertIf
            if (EndTime != endTime)
            {
                EndTime   = endTime;
                isUpdated = true;
            }

            return(isUpdated);
        }
Ejemplo n.º 24
0
 public void CanGetIsQueued(BuildStatus?status, bool expected)
 {
     status.IsQueued().ShouldBe(expected);
 }
Ejemplo n.º 25
0
        public void CanGetBuildStatusMessage(BuildStatus?status, string expected)
        {
            var buildStatusMessage = BuildMessageUtility.GetBuildStatusMessage(status);

            buildStatusMessage.ShouldBe(expected);
        }
Ejemplo n.º 26
0
 public void CanGetIsInProgress(BuildStatus?status, bool expected)
 {
     status.IsInProgress().ShouldBe(expected);
 }
Ejemplo n.º 27
0
        public void CanGetStatus(TeamCity.Api.Models.BuildState?state, TeamCity.Api.Models.BuildStatus?status, BuildStatus?expected)
        {
            var build = new Build(new TeamCity.Api.Models.Build
            {
                State  = state,
                Status = status
            });

            build.Status.ShouldBe(expected);
        }
Ejemplo n.º 28
0
        private void Query(Object stateInfo)
        {
            Hashtable latestBuilds = new Hashtable();
            Random    random       = new Random();

            lock (this.builds)
            {
                foreach (string key in this.builds.Keys)
                {
                    string[] build          = key.Split(';');
                    string   teamProject    = build[0];
                    string   definitionName = build[1];

                    int         rand   = random.Next(8);
                    BuildStatus?status = BuildStatus.NotStarted;

                    switch (rand)
                    {
                    case 0:
                        status = BuildStatus.InProgress;
                        break;

                    case 1:
                        status = BuildStatus.Succeeded;
                        break;

                    case 2:
                        status = BuildStatus.Succeeded;
                        break;

                    case 3:
                        status = BuildStatus.Failed;
                        break;

                    case 4:
                        status = BuildStatus.Stopped;
                        break;

                    case 5:
                        status = BuildStatus.NotStarted;
                        break;

                    case 6:
                        status = BuildStatus.Succeeded;
                        break;

                    case 7:
                        status = BuildStatus.PartiallySucceeded;
                        break;
                        //this.OnError();

                        //return;
                    }

                    MockBuildInfo latestBuild = null;

                    if (status.HasValue)
                    {
                        var start = GetRandomDateTimeForStart();
                        latestBuild = new MockBuildInfo(status.Value, "DOMAIN\\Joe Bloggs", start, true, GetRandomDateTimeForEnd(start));
                        latestBuild.FailedTests.Clear();

                        switch (status)
                        {
                        case BuildStatus.Succeeded:
                            latestBuild.TestsFailed = 0;
                            latestBuild.TestsPassed = 1337;
                            break;

                        case BuildStatus.PartiallySucceeded:
                            latestBuild.TestsFailed = 42;
                            latestBuild.TestsPassed = 1066;
                            latestBuild.FailedTests.Add("TestDatabase");
                            latestBuild.FailedTests.Add("TestLogin");
                            latestBuild.FailedTests.Add("TestPurchase");
                            break;
                        }
                    }

                    latestBuilds.Add(key, latestBuild);
                }

                foreach (string key in latestBuilds.Keys)
                {
                    this.builds[key] = latestBuilds[key];
                }
            }

            this.OnQueryCompleted();
        }
Ejemplo n.º 29
0
        /// <summary>
        /// Get a list of builds
        /// </summary>
        /// <param name="projectName"></param>
        /// <param name="requestedFor"></param>
        /// <param name="definitionId"></param>
        /// <param name="minFinishTime"></param>
        /// <param name="quality"></param>
        /// <param name="status"></param>
        /// <param name="top"></param>
        /// <param name="skip"></param>
        /// <returns></returns>
        public async Task <JsonCollection <Build> > GetBuilds(string projectName, string requestedFor = null,
                                                              int?definitionId = null, DateTime?minFinishTime = null, string quality = null, BuildStatus?status = null, int?top = null, int?skip = null)
        {
            string response = await GetResponse("builds",
                                                new Dictionary <string, object>() {
                { "requestedFor", requestedFor },
                { "definitionId", definitionId },
                { "minFinishTime", minFinishTime },
                { "quality", quality },
                { "status", status != null ? status.Value.ToString() : null },
                { "$top", top },
                { "$skip", skip }
            },
                                                projectName);

            return(JsonConvert.DeserializeObject <JsonCollection <Build> >(response));
        }
Ejemplo n.º 30
0
 public Build(long id, string number, BuildStatus? status, DateTime startDate, DateTime finishDate,
     DateTime queuedDate, BuildConfiguration buildConfiguration, Agent agent, List<Change> changes, string webUrl,
     Properties properties, ITestOccurrences testOccurrences, BuildState? state)
 {
     m_Id = id;
     m_Number = number;
     m_Status = status;
     m_State = state;
     m_StartDate = startDate;
     m_FinishDate = finishDate;
     m_QueuedDate = queuedDate;
     m_BuildConfiguration = buildConfiguration;
     m_Agent = agent;
     m_TestOccurrences = testOccurrences;
     m_Changes = changes;
     m_WebUrl = webUrl;
     m_Properties = properties;
 }
Ejemplo n.º 31
0
 public Task <IPagedList <Build> > GetBuildsAsync(Guid projectId, IEnumerable <int> definitions = null, BuildStatus?statusFilter = null)
 {
     return(_inner.GetBuildsAsync2(projectId, definitions: definitions, statusFilter: statusFilter));
 }