# .github/commenter.yml
Backend:
where:
path:
matches: "backend/**/*"
body: |
:wave: You've changed Backend code, please:
- [ ] Do this
- [ ] And this
- [ ] And that
Frontend:
where:
path:
matches: "frontend/**/*"
body: |
:wave: You've changed Frontend code, please:
- [ ] Do this
- [ ] And this
- [ ] And thatThe keys are ignored, and for your own organizational use. We will find the
first stanza where the PR's changed files matches any of the given
paths and add a comment with the given body.
- uses: freckle/commenter-action@v1
with:
repo-token:
# The `GITHUB_TOKEN` secret
#
# Required: false
# Default: ${{ github.token }}
configuration-path:
# The path for the comment configurations
#
# Required: false
# Default: .github/commenter.yml
body-file-prefix:
# The path for finding body markdown files
#
# Required: false
# Default: .github/commenter/| name | description | required | default |
|---|---|---|---|
repo-token |
The |
false |
${{ github.token }} |
configuration-path |
The path for the comment configurations |
false |
.github/commenter.yml |
body-file-prefix |
The path for finding body markdown files |
false |
.github/commenter/ |
Running this action requires the following permissions:
permissions:
contents: read
pull-requests: writeThese are required to be explicitly set for repositories with restricted
default access for workflows or to allow a workflow run triggered by
Dependabot pull requests, which are run as if they are from a forked repository
and use a read-only GITHUB_TOKEN.
You can also match based on specific file changes by supplying the
diff where-clause configuration key.
For example, if you wanted to comment on any changes that contain the word "unsafe" you could supply a YAML configuration like the following
UnsafeMentionedInCode:
where:
path:
matches: "backend/**/*.hs"
diff:
contains:
- unsafe
body: |
:wave: Hi, I see a mention of "unsafe" in Haskell code. If you removed it,
good going! If you added it, please consider finding a safer alternative!diff.adds and diff.removes are also supported, to match on specifically
additions or removals of certain text.
Use where.author.any to only comment on PRs that authored by specific users,
and where.labels.any to only comment when specific labels are present. Keep
in mind that all where conditions must be satisfied for a comment to be made:
CommentOnAutomatedUpdate:
where:
path:
matches: "*/**/yarn.lock"
author:
any:
- dependabot[bot]
labels:
any:
- Frontend
body: |
This is an automated update to the frontend lockfile. Please verify the
integrity of the packages being updated.If body is omitted, a file named .github/commenter/{name}.md is read from
the default branch for the comment contents. The .github/commenter/ prefix can
be changed via inputs.body-file-prefix. The complete path, or just the name
part, can be specified via the body-file and body-file-name attributes of
the configuration, respectively.
This action was highly inspired by (and began as a copy of)
@actions/labeler.