Skip to content
This repository has been archived by the owner on Sep 26, 2023. It is now read-only.
/ dependent-issues Public archive

📦 A GitHub Action for marking issues as dependent on another

License

Notifications You must be signed in to change notification settings

z0al/dependent-issues

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Dependent Issues

A GitHub Action for marking issues as dependent on another

It works with PRs and issues and supports cross-repository dependencies.

Usage

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:

example

Inputs

  • 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. Default off.
  • ignore_dependabot (Optional): Ignore dependabot PRs. Enable by setting the value to on. Default off. Use this if you run the action on pull_request rather than pull_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.

Environment variables

  • GITHUB_TOKEN (Required): The token to use to make API calls to GitHub.

FAQ

Trouble setting up the action? Check the FAQ.

Credits

Special thanks to Jason Etcovitch for the original bot idea.

License

MIT © Ahmed T. Ali