Table of Contents

Class BuildService

Namespace
Ando.Server.Services
Assembly
Ando.Server.dll

Implementation of build management operations.

public class BuildService : IBuildService
Inheritance
BuildService
Implements
Inherited Members

Constructors

BuildService(AndoDbContext, IBackgroundJobClient, CancellationTokenRegistry, IHubContext<BuildLogHub>, ILogger<BuildService>)

public BuildService(AndoDbContext db, IBackgroundJobClient jobClient, CancellationTokenRegistry cancellationRegistry, IHubContext<BuildLogHub> hubContext, ILogger<BuildService> logger)

Parameters

db AndoDbContext
jobClient IBackgroundJobClient
cancellationRegistry CancellationTokenRegistry
hubContext IHubContext<BuildLogHub>
logger ILogger<BuildService>

Methods

CancelBuildAsync(int)

Cancels a running build.

public Task<bool> CancelBuildAsync(int buildId)

Parameters

buildId int

Returns

Task<bool>

True if the build was cancelled.

GetBuildAsync(int)

Gets a build by ID with related project data.

public Task<Build?> GetBuildAsync(int buildId)

Parameters

buildId int

Returns

Task<Build>

GetBuildsForProjectAsync(int, int, int)

Gets builds for a project with pagination.

public Task<IReadOnlyList<Build>> GetBuildsForProjectAsync(int projectId, int skip = 0, int take = 20)

Parameters

projectId int
skip int
take int

Returns

Task<IReadOnlyList<Build>>

GetRecentBuildsForUserAsync(int, int)

Gets recent builds across all projects for a user.

public Task<IReadOnlyList<Build>> GetRecentBuildsForUserAsync(int userId, int take = 10)

Parameters

userId int
take int

Returns

Task<IReadOnlyList<Build>>

QueueBuildAsync(int, string, string, BuildTrigger, string?, string?, int?, string?)

Queues a new build for a project.

public Task<int> QueueBuildAsync(int projectId, string commitSha, string branch, BuildTrigger trigger, string? commitMessage = null, string? commitAuthor = null, int? pullRequestNumber = null, string? profile = null)

Parameters

projectId int

Project to build.

commitSha string

Commit SHA to build.

branch string

Branch name.

trigger BuildTrigger

What triggered the build.

commitMessage string

Optional commit message.

commitAuthor string

Optional commit author.

pullRequestNumber int?

Optional PR number if this is a PR build.

profile string

Returns

Task<int>

The new build ID.

RetryBuildAsync(int)

Retries a failed or cancelled build.

public Task<int> RetryBuildAsync(int buildId)

Parameters

buildId int

Returns

Task<int>

The new build ID.

UpdateBuildStatusAsync(int, BuildStatus, string?, int?, int?, int?)

Updates build status and related fields.

public Task UpdateBuildStatusAsync(int buildId, BuildStatus status, string? errorMessage = null, int? stepsTotal = null, int? stepsCompleted = null, int? stepsFailed = null)

Parameters

buildId int
status BuildStatus
errorMessage string
stepsTotal int?
stepsCompleted int?
stepsFailed int?

Returns

Task