Skip to content

A GitHub action to add labels to Pull Request based on matched file patterns

License

Notifications You must be signed in to change notification settings

banyan/auto-label

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

auto-label

A GitHub action to add labels to Pull Request based on matched file patterns

Installation

To configure the action simply add the following lines to your .github/workflows/auto-label.yml file:

name: Auto Label
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  auto-label:
    name: Auto Label
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: banyan/[email protected]
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

NOTE: pull_request event is triggered by many actions, so please make sure to filter by [opened, synchronize] of on.<event_name>.types as in the example above.

And configure by creating .github/auto-label.json file. The format is label: rule:

{ [key: string]: string | string[] }

Pattern matching is following .gitignore spec using by node-ignore.

{
  "rules": {
    "frontend": ["*.js", "*.css", "*.html"],
    "backend": ["app/", "*.rb"],
    "ci": ".circleci"
  }
}

Features

Tips

  • In case if you want to debug the response quickly, just set ACTIONS_STEP_DEBUG as true on Secrets from Settings of GitHub.

TODO

  • Handle pagination of label (currently only handles 100)