/// <inheritdoc/> public async Task <ReleaseEntity> CreateAsync(ReleaseEntity release) { release.PopulateBaseProperties(_org, _app, _httpContext); await ValidateUniquenessOfRelease(release); QueueBuildParameters queueBuildParameters = new QueueBuildParameters { AppCommitId = release.TargetCommitish, AppOwner = release.Org, AppRepo = release.App, TagName = release.TagName }; Build queuedBuild = await _azureDevOpsBuildClient.QueueAsync( queueBuildParameters, _azureDevOpsSettings.BuildDefinitionId); release.Build = new BuildEntity { Id = queuedBuild.Id.ToString(), Status = queuedBuild.Status, Result = BuildResult.None, Started = queuedBuild.StartTime }; return(await _releaseRepository.CreateAsync(release)); }
/// <inheritdoc/> public async Task <Build> QueueAsync( QueueBuildParameters queueBuildParameters, int buildDefinitionId) { queueBuildParameters.GiteaEnvironment = $"{_generalSettings.HostName}/repos"; queueBuildParameters.AppDeployToken = _sourceControl.GetDeployToken(); QueueBuildRequest queueBuildRequest = CreateBuildRequest(queueBuildParameters, buildDefinitionId); return(await SendRequest(queueBuildRequest)); }
private static QueueBuildRequest CreateBuildRequest(QueueBuildParameters queueBuildParameters, int buildDefinitionId) { JsonSerializerSettings jsonSerializerSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; return(new QueueBuildRequest { DefinitionReference = new DefinitionReference { Id = buildDefinitionId }, Parameters = JsonConvert.SerializeObject(queueBuildParameters, jsonSerializerSettings) }); }
private async Task <Build> QueueDeploymentBuild( ReleaseEntity release, DeploymentEntity deploymentEntity, string environmentHostname) { QueueBuildParameters queueBuildParameters = new QueueBuildParameters { AppCommitId = release.TargetCommitish, AppOwner = deploymentEntity.Org, AppRepo = deploymentEntity.App, AppEnvironment = deploymentEntity.EnvironmentName, Hostname = environmentHostname, TagName = deploymentEntity.TagName }; return(await _azureDevOpsBuildClient.QueueAsync( queueBuildParameters, _azureDevOpsSettings.DeployDefinitionId)); }