โ๏ธ๐ 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@v2
The 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.
Checks
Check Runs
Create a check run
- POST
/repos/{owner}/{repo}/check-runs
- POST
Update a check run
- PATCH
/repos/{owner}/{repo}/check-runs/{check_run_id}
- PATCH
Issues
Comments
Create 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