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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Issue Label Enforcer

Issue Label Enforcer is a lightweight GitHub Action that checks whether a newly opened or edited issue has at least one label.

It helps maintainers keep issue triage consistent by requiring labels before an issue workflow is considered valid.

Usage

Create a workflow file such as .github/workflows/issue-label-enforcer.yml:

name: Issue Label Enforcer

on:
  issues:
    types:
      - opened
      - edited
      - labeled
      - unlabeled

permissions:
  issues: read
  contents: read

jobs:
  enforce-labels:
    runs-on: ubuntu-latest
    steps:
      - name: Check issue labels
        uses: brandonhimpfen/issue-label-enforcer@v1

Require More Than One Label

name: Issue Label Enforcer

on:
  issues:
    types:
      - opened
      - edited
      - labeled
      - unlabeled

permissions:
  issues: read
  contents: read

jobs:
  enforce-labels:
    runs-on: ubuntu-latest
    steps:
      - name: Check issue labels
        uses: brandonhimpfen/issue-label-enforcer@v1
        with:
          min-labels: 2

Custom Failure Message

name: Issue Label Enforcer

on:
  issues:
    types:
      - opened
      - edited
      - labeled
      - unlabeled

permissions:
  issues: read
  contents: read

jobs:
  enforce-labels:
    runs-on: ubuntu-latest
    steps:
      - name: Check issue labels
        uses: brandonhimpfen/issue-label-enforcer@v1
        with:
          message: Please add at least one label before continuing triage.

Inputs

Input Required Default Description
github-token No ${{ github.token }} GitHub token used to read issue data.
min-labels No 1 Minimum number of labels required on an issue.
message No This issue must include at least one label. Failure message shown when the issue does not meet the label requirement.
ignore-pull-requests No true Skips pull requests when issue events are triggered by pull request activity.

Behavior

The action reads the issue from the GitHub event payload and counts the labels attached to it.

If the issue has fewer labels than required, the workflow fails. If the issue meets the requirement, the workflow passes.

By default, pull requests are ignored because GitHub pull requests can also appear in issue-related event payloads.

Recommended Events

Use the action with these issue event types:

on:
  issues:
    types:
      - opened
      - edited
      - labeled
      - unlabeled

This allows the check to run when an issue is created, modified, labeled, or has labels removed.

Permissions

The action only needs read access:

permissions:
  issues: read
  contents: read

Development

Install dependencies:

npm install

Run tests:

npm test

Build the bundled action file:

npm run build

License

MIT License.

About

Issue Label Enforcer is a lightweight GitHub Action that checks whether a newly opened or edited issue has at least one label.

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages