Class BuildService
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
dbAndoDbContextjobClientIBackgroundJobClientcancellationRegistryCancellationTokenRegistryhubContextIHubContext<BuildLogHub>loggerILogger<BuildService>
Methods
CancelBuildAsync(int)
Cancels a running build.
public Task<bool> CancelBuildAsync(int buildId)
Parameters
buildIdint
Returns
GetBuildAsync(int)
Gets a build by ID with related project data.
public Task<Build?> GetBuildAsync(int buildId)
Parameters
buildIdint
Returns
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
Returns
GetRecentBuildsForUserAsync(int, int)
Gets recent builds across all projects for a user.
public Task<IReadOnlyList<Build>> GetRecentBuildsForUserAsync(int userId, int take = 10)
Parameters
Returns
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
projectIdintProject to build.
commitShastringCommit SHA to build.
branchstringBranch name.
triggerBuildTriggerWhat triggered the build.
commitMessagestringOptional commit message.
commitAuthorstringOptional commit author.
pullRequestNumberint?Optional PR number if this is a PR build.
profilestring
Returns
RetryBuildAsync(int)
Retries a failed or cancelled build.
public Task<int> RetryBuildAsync(int buildId)
Parameters
buildIdint
Returns
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
buildIdintstatusBuildStatuserrorMessagestringstepsTotalint?stepsCompletedint?stepsFailedint?