The issues addin for Cake allows you to read issue from any code analyzer or linter. This addin provides the aliases for reading issues. It also requires one or more issue provider addins for the specific code analyzer or linter. There are also additional addins for generating reports or posting issues to pull requests. See the Project Site for an overview of the whole ecosystem of addins for working with issues in Cake scripts.
$ dotnet add package Cake.IssuesThe issues addin for Cake allows you to read issue from any code analyzer or linter.
Cake.Issues redefines issue management within the Cake build system by offering a comprehensive, universal, and extensible solution. The unique capabilities of the addins empower development teams to enforce coding standards, generate insightful reports, seamlessly incorporate various linting tools, and streamline the integration with build servers and pull requests. With its modular architecture and extensive set of aliases, Cake.Issues provides a future-proof infrastructure for issue management in Cake builds, fostering a more efficient and adaptable development process.
For more information and extensive documentation see the Cake.Issues website. For general information about the Cake build automation system see the Cake website.
Integrating Cake.Issues into your Cake build is straightforward. With minimal setup, teams can enjoy the benefits of enhanced code quality management seamlessly integrated into their existing build pipeline.
NOTE: Cake.Issues.Recipe for Cake .NET Tool and Cake.Frosting.Issues.Recipe provide a single NuGet package, which can be used inside your projects build to add fully flavored issue management, including parsing of linter outputs, integration with build systems and pull requests and creation of different reports.
The addin provides the ReadIssues alias to read issues.
It needs an additional NuGet package to provide the specific issue provider implementation:
| Cake .NET Tool Addin | Cake Frosting Addin | Description |
|---|---|---|
| Cake.Frosting.Issues.MsBuild |
| Issue provider for reading MsBuild errors and warnings. |
| Cake.Issues.DocFx | Cake.Frosting.Issues.DocFx | Issue provider for reading DocFx warnings. |
| Cake.Issues.EsLint | Cake.Frosting.Issues.EsLint | Issue provider for reading ESLint issues. |
| Cake.Issues.GitRepository | Cake.Frosting.Issues.GitRepository | Issue provider for analyzing Git repositories. |
| Cake.Issues.InspectCode | Cake.Frosting.Issues.InspectCode | Issue provider for reading JetBrains Inspect Code issues. |
| Cake.Issues.Markdownlint | Cake.Frosting.Issues.Markdownlint | Issue provider for reading issues from markdownlint. |
| Cake.Issues.Sarif | Cake.Frosting.Issues.Sarif | Issue provider for reading SARIF reports. |
| Cake.Issues.Tap | Cake.Frosting.Issues.Tap | Issue provider for reading files in Test Anything Protocol format. |
| Cake.Issues.Terraform | Cake.Frosting.Issues.Terraform | Issue provider for reading Terraform validation output. |
See Issue Providers for a list of available issue providers and detailed documentation.
To create issues directly in the build script the NewIssue alias can be used:
[TaskName("Create-Issue")]
public sealed class CreateIssueTask : FrostingTask<BuildContext>
{
public override void Run(BuildContext context)
{
var issue =
context
.NewIssue(
"Something went wrong",
"MyCakeScript",
"My Cake Script")
.WithMessageInHtmlFormat("Something went <b>wrong</b>")
.WithMessageInMarkdownFormat("Something went **wrong**")
.InFile("myfile.txt", 42)
.WithPriority(IssuePriority.Warning)
.Create();
context.Information("Issue created with message: {0}", issues.MessageText);
}
}Issue reports can be created using any of the available Report Format addin together with the Cake.Issues.Reporting addin for Cake .NET Tool or Cake.Frosting.Issues.Reporting addin for Cake Frosting.
| Cake .NET Tool Addin | Cake Frosting Addin | Description |
|---|---|---|
| Cake.Issues.Reporting.Console | Cake.Frosting.Issues.Reporting.Console | Support for reporting issues to the console. |
| Cake.Issues.Reporting.Generic | Cake.Frosting.Issues.Reporting.Generic | Support for creating reports in any text based format (HTML, Markdown, ...). |
| Cake.Issues.Reporting.Sarif | Cake.Frosting.Issues.Reporting.Sarif | Support for creating reports in SARIF format. |
Issues can be written to build server using any of the available Build Server addin together with the Cake.Issues.BuildServer addin for Cake .NET Tool or Cake.Frosting.Issues.BuildServer addin for Cake Frosting.
| Cake .NET Tool Addin | Cake Frosting Addin | Description |
|---|---|---|
| Cake.Issues.BuildServer.AppVeyor | Cake.Frosting.Issues.BuildServer.AppVeyor | Integration with AppVeyor builds. |
| Cake.Issues.BuildServer.GitHubActions | Cake.Frosting.Issues.BuildServer.GitHubActions | Integration with GitHub Actions. |
Issues can be written as comments to pull request systems using any of the available Pull Request System addin together with the Cake.Issues.PullRequests addin for Cake .NET Tool or Cake.Frosting.Issues.PullRequests addin for Cake Frosting.
| Cake .NET Tool Addin | Cake Frosting Addin | Description |
|---|---|---|
| Cake.Issues.PullRequests.AzureDevOps | Cake.Frosting.Issues.PullRequests.AzureDevOps | Integration with Azure DevOps pull requests. |
For questions and to discuss ideas & feature requests, use the GitHub discussions on the Cake GitHub repository, under the Extension Q&A category.
Contributions are welcome. See Contribution Guidelines.
Binary distributions for some addins contain third-party code which is licensed under its own respective license. See LICENSE for details.