Skip to content
This repository has been archived by the owner on Oct 8, 2022. It is now read-only.

andymckay/labeler

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

Automatically adds or removes labels from issues, pull requests and project cards.

Supported Github events

  • issues
  • pull_request
  • project_card

add-labels & remove-labels

to add or remove labels the parameters are:

  • add-labels
  • remove-labels

They may receive multiple labels separated by commas. They also may be used together.

add-labels: 'label1, label2'
remove-labels: 'label3, label4'

Complete 'basic' usage

name: issue-automation

on:
  issues:
    types: [opened]
  pull_request:
    types: [opened]
  project_card:
    types: [moved]

jobs:
  automate-issues-labels:
    runs-on: ubuntu-latest
    steps:
      - name: initial labeling
        uses: andymckay/labeler@master
        with:
          add-labels: "needs-triage, bug"
          remove-labels: "in progress"

This runs on 3 types of events:

  • issues creation
  • pull_request creation
  • project_card move

This adds the labels:

  • needs-triage
  • bug

And removes the label in progress.

ignore-if-assigned

The parameter ignore-if-assigned checks at the time of the action running if the issue has been assigned to anyone. If set to True and the issue is assigned to anyone, then no labels will be added or removed. This can be helpful for new issues that immediatly get labels or assignees and don't require any action to be taken.

An example use-case would be, to remove the help-wanted label when an issue is assigned to someone. For this, the workflow file would look like:

name: issue-automation

on:
  issues:
    types: [assigned]

jobs:
  automate-issues-labels:
    runs-on: ubuntu-latest
    steps:
      - uses: andymckay/labeler@master
        with:
          remove-labels: "help-wanted"
          ignore-if-assigned: false

ignore-if-labeled

The parameter ignore-if-labeled checks at the time of the action running if the issue has been labeled. If set to True and the issue is labeled, then no labels will be added or removed. This can be helpful for new issues that immediatly get labels or assignees and don't require any action to be taken.

An example use-case would be, to add the needs-triage label when an issue is oppened without labels. For this, the workflow file would look like:

name: issue-automation

on:
  issues:
    types: [opened]

jobs:
  automate-issues-labels:
    runs-on: ubuntu-latest
    steps:
      - uses: andymckay/labeler@1.0.2
        with:
          add-labels: "needs-triage"
          ignore-if-labeled: true