This GitHub Action detects issues that were unblocked by the closing of another issue.
| Name | Description | Required |
|---|---|---|
token | GITHUB_TOKEN or a PAT with issues:read. | false |
| Name | Description |
|---|---|
issues | A JSON array of issue numbers that are now unblocked. |
has_issues | A boolean string ("true" or "false") if any were found. |
Note: When using the default GITHUB_TOKEN, you must grant the appropriate permissions to the job that runs this action. See the example below.
name: Handle Unblocked Issues on: issues: types: [closed] jobs: # JOB 1: Find the issues detect-unblocked: runs-on: ubuntu-latest permissions: issues: read outputs: # Pass the JSON array to the next job matrix: ${{ steps.finder.outputs.issues }} found: ${{ steps.finder.outputs.has_issues }} steps: - name: Checkout uses: actions/checkout@v4 - name: Find Unblocked Issues id: finder uses: BeksOmega/on-unblocked@v1 # JOB 2: Run generic actions for EACH unblocked issue process-unblocked-issues: needs: detect-unblocked if: needs.detect-unblocked.outputs.found == 'true' runs-on: ubuntu-latest permissions: issues: write strategy: matrix: # Parse the JSON array from the previous job issue-number: ${{ fromJson(needs.detect-unblocked.outputs.matrix) }} steps: - name: Log Information run: echo "Processing Unblocked Issue $ISSUE_NUMBER" env: ISSUE_NUMBER: ${{ matrix.issue-number }} - name: Label as Ready uses: actions/github-script@v7 with: script: | await github.rest.issues.addLabels({ owner: context.repo.owner, repo: context.repo.repo, issue_number: ${{ matrix.issue-number }}, labels: ['ready-for-dev'] });