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