A GitHub Action for marking issues as dependent on another
It works with PRs and issues and supports cross-repository dependencies.
Create .github/workflows/dependent-issues.yml
with the following content:
name: Dependent Issues
on:
issues:
types:
- opened
- edited
- closed
- reopened
pull_request_target:
types:
- opened
- edited
- closed
- reopened
# Makes sure we always add status check for PRs. Useful only if
# this action is required to pass before merging. Otherwise, it
# can be removed.
- synchronize
# Schedule a daily check. Useful if you reference cross-repository
# issues or pull requests. Otherwise, it can be removed.
schedule:
- cron: '0 0 * * *'
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: z0al/dependent-issues@v1
env:
# (Required) The token to use to make API calls to GitHub.
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# (Optional) The token to use to make API calls to GitHub for remote repos.
GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }}
with:
# (Optional) The label to use to mark dependent issues
label: dependent
# (Optional) Enable checking for dependencies in issues.
# Enable by setting the value to "on". Default "off"
check_issues: off
# (Optional) Ignore dependabot PRs.
# Enable by setting the value to "on". Default "off"
ignore_dependabot: off
# (Optional) A comma-separated list of keywords. Default
# "depends on, blocked by"
keywords: depends on, blocked by
# (Optional) A custom comment body. It supports `{{ dependencies }}` token.
comment: >
This PR/issue depends on:
{{ dependencies }}
By **[Dependent Issues](https://github.com/z0al/dependent-issues)** (๐ค). Happy coding!
Here how it can look like in practice:
- label (Optional): The label to use to mark dependent issues. Default
dependent
. - check_issues (Optional): Enable checking for dependencies in issues. Enable by setting the value to
on
. Defaultoff
. - ignore_dependabot (Optional): Ignore dependabot PRs. Enable by setting the value to
on
. Defaultoff
. Use this if you run the action onpull_request
rather thanpull_request_target
. - keywords (Optional): A comma-separated list of keywords. Default
depends on, blocked by
. - comment (Optional): A custom comment body. It supports
{{ dependencies }}
token.
- GITHUB_TOKEN (Required): The token to use to make API calls to GitHub.
Trouble setting up the action? Check the FAQ.
Special thanks to Jason Etcovitch for the original bot idea.
MIT ยฉ Ahmed T. Ali