The Cake Issues addins for Cake allows you to read issues from any analyzer or linter, create reports or write issues to comments in pull requests.
Recipe Functionality
See Supported Tools for a list of tools supported by Cake.Issues.Recipe.
Supported Core Functionality
The core addins provide a modular architecture, allowing to easily enhance it for supporting additional analyzers, linters, report formats and code review systems.
Cake.Issues
Addin for creating and reading issues providing the following functionality:
- NewIssue alias for creating issues in the build script.
- ReadIssues aliases for reading issues from an issue provider.
- Support for reading issues from multiple issue providers.
- Support for reading issues in multiple formats (Plain text, Markdown, HTML) if supported by issue provider.
- Support for creating links to file & location on source code hosting system (GitHub, Azure Repos, etc).
- Support for passing additional run information to identify specific runs.
Cake.Issues.Reporting
Addin for creating reports providing the following functionality:
- CreateIssueReport aliases for creating reports about issues.
- Support for creating reports with issues from multiple issue providers.
Cake.Issues.PullRequests
Addin for writing issues as comments to pull requests providing the following functionality:
- ReportIssuesToPullRequest aliases for writing issues as comments to pull requests.
- Support for reporting issues from multiple issue providers.
- Support for passing custom issue filter routines in
ReportIssuesToPullRequestSettings.IssueFilters
. - Advanced support to limit number of maximum issues per run, across multiple runs or per issue provider by setting
ReportIssuesToPullRequestSettings.MaxIssuesToPost
,ReportIssuesToPullRequestSettings.MaxIssuesToPostAcrossRuns
,ReportIssuesToPullRequestSettings.MaxIssuesToPostForEachIssueProvider
andReportIssuesToPullRequestSettings.ProviderIssueLimits
. - Returns all issues as provided by the issue providers and the issues reported to the pull request.
Concrete pull request systems can implement optional capabilities which will provide the following functionality:
- Filter by modified files (BaseFilteringByModifiedFilesCapability)
- Filtering issues to only those related to changed files in a pull request.
- Check commit ID (BaseCheckingCommitIdCapability)
- Skipping posting of issues if checked source code is outdated by setting
ReportIssuesToPullRequestSettings.CommitId
.
- Skipping posting of issues if checked source code is outdated by setting
- Support for discussion threads (BaseDiscussionThreadsCapability)
- Automatic resolving of issues fixed in subsequent commits.
- Automatic reopening of still existing issues which are already closed on pull request.
- Comparing issues by identifier to not rely on message or line numbers.
Supported Issue Providers
See Issue Provider Addins for a list of currently supported analyzers and linters.
Supported Report Formats
See Report Format Addins for a list of currently supported report output formats.
Supported Pull Request Systems
See Pull Request System Addins for a list of currently supported pull request systems.