โ๏ธ๐ Report the results from knip on pull requests.
This action runs knip, parses the results, and posts the report as comments on the related pull request.
The execution of knip requires you to have followed the general knip setup and have a command script present in your package.json file, knip, by default but this can be of any name. If this script name deviates from the standard knip setup, please provide the script name in the config.
knip-reporter appends a reporter to the knip command used, --reporter json, to output a parseable report with information needed for annotations where supported.
name: Pull Request
on:
pull_request:
# This permissions config is only required if you are
# not providing own permissive token
permissions:
checks: write
issues: write
pull-requests: write
steps:
- name: Post the knip results
uses: codex-/knip-reporter@v2The following inputs are supported
| Input | Description | Required | Default |
|---|---|---|---|
token |
GitHub Personal Access Token for making API requests. | false |
${{ github.token }} |
command_script_name |
The package script that runs knip. | false |
knip |
comment_id |
ID to use when updating the PR comment. Spaces will be replaced with dashes. | false |
${{ github.workflow }}-knip-reporter |
annotations |
Annotate the project code with the knip results. | false |
true |
verbose |
Include annotated items in the comment report. | false |
false |
ignore_results |
Do not fail the action run if knip results are found. | false |
false |
working_directory |
Run knip in a different directory. | false |
. |
If you encounter a case where comments are not being posted, or known sections are missing from the report, please enable step debug logging and create an issue with the results and expected behaviour.
ChecksCheck RunsCreate a check run- POST
/repos/{owner}/{repo}/check-runs
- POST
Update a check run- PATCH
/repos/{owner}/{repo}/check-runs/{check_run_id}
- PATCH
IssuesCommentsCreate an issue comment- POST
/repos/{owner}/{repo}/issues/{issue_number}/comments
- POST
List issue comments- GET
/repos/{owner}/{repo}/issues/{issue_number}/comments
- GET
Update an issue comment- PATCH
/repos/{owner}/{repo}/issues/comments/{comment_id}
- PATCH
Delete an issue comment- DELETE
/repos/{owner}/{repo}/issues/comments/{comment_id}
- DELETE