CodeMention is a GitHub Action that mentions users and teams who subscribe to certain file changes on pull requests. See in pull requests in the codemention-test repo for examples of how this looks like.
This is similar to Codenotify, but this retrieves the diff via GitHub's REST API instead of using actions/checkout to clone the repo.
To use this GitHub Action, add a .github/codemention.yml
file to your repo that contains mentions/notifications rules.
An example looks like:
rules:
- patterns: ['config/**']
mentions: ['sysadmin']
- patterns: ['db/migrate/**']
mentions: ['cto', 'dba']
- patterns: ['.github/**', 'spec/*.rb']
mentions: ['ci']
Add a .github/workflows/codemention.yml
file to your repo with the following:
name: codemention
on:
pull_request_target:
types: [opened, synchronize, ready_for_review]
jobs:
codemention:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: tobyhs/codemention@v1
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
In order for CodeMention to mention teams, you need to use a GitHub personal access token that has organization permissions to read members.
Replace the githubToken
input with your personal access token.