/// <inheritdoc /> public override string DetermineCommitId( IssuesContext context, DirectoryPath repositoryRootDirectory) { context.NotNull(nameof(context)); return(context.AzurePipelines().Environment.Repository.SourceVersion); }
/// <inheritdoc /> public override void PublishIssuesArtifacts(IssuesContext context) { context.NotNull(nameof(context)); if (context.Parameters.BuildServer.ShouldPublishFullIssuesReport && context.State.FullIssuesReport != null && context.FileExists(context.State.FullIssuesReport)) { context.AzurePipelines().Commands.UploadArtifact("Issues", context.State.FullIssuesReport, "Issues"); } }
/// <inheritdoc /> public override void ReportIssuesToBuildServer( IssuesContext context) { context.NotNull(nameof(context)); foreach (var issue in context.State.Issues) { context.AzurePipelines().Commands.WriteWarning( issue.MessageText, new AzurePipelinesMessageData { SourcePath = issue.AffectedFileRelativePath?.FullPath, LineNumber = issue.Line }); } }
/// <inheritdoc /> public override void CreateSummaryIssuesReport( IssuesContext context, [System.Runtime.CompilerServices.CallerFilePath] string sourceFilePath = "") { context.NotNull(nameof(context)); var summaryFileName = "summary"; if (!string.IsNullOrWhiteSpace(context.Parameters.BuildIdentifier)) { summaryFileName += $"-{context.Parameters.BuildIdentifier}"; } summaryFileName += ".md"; var summaryFilePath = context.Parameters.OutputDirectory.CombineWithFilePath(summaryFileName); var templateName = "Cake.Frosting.Issues.Recipe.BuildServers.AzurePipelineSummary.cshtml"; using (var stream = this.GetType().Assembly.GetManifestResourceStream(templateName)) { if (stream == null) { throw new ApplicationException($"Could not load resource {templateName}"); } using (var sr = new StreamReader(stream)) { // Create summary for Azure Pipelines using custom template. context.CreateIssueReport( context.State.Issues, context.GenericIssueReportFormatFromContent(sr.ReadToEnd()), context.State.ProjectRootDirectory, summaryFilePath); } } context.AzurePipelines().Commands.UploadTaskSummary(summaryFilePath); }