Skip to content

Latest commit

 

History

History
123 lines (97 loc) · 4.68 KB

README.md

File metadata and controls

123 lines (97 loc) · 4.68 KB

GitHub release GitHub marketplace Test workflow Codecov Become a sponsor Paypal Donate

About

GitHub Action to manage labels on GitHub (create/rename/update/delete) as code.

GitHub Labeler


Usage

YAML configuration

In the repository where you want to perform this action, create the YAML file .github/labels.yml (you can also set a custom filename) that looks like:

- name: "bug"
  color: "d73a4a"
  description: "Something isn't working"
- name: "documentation"
  color: "0075ca"
  description: "Improvements or additions to documentation"
- name: "duplicate"
  color: "cfd8d7"
  description: "This issue or pull request already exists"
- name: "enhancement"
  color: "a22eef"
- name: "wontfix_it"
  color: "000000"
  description: "This will not be worked on"
  from_name: "wontfix"
  • name, color and description are the main GitHub label fields
  • description can be omit if your want to keep the current one
  • from_name allow to rename a label from one currently available on your repository

Workflow

name: github

on:
  push:
    branches:
      - 'main'
    paths:
      - '.github/labels.yml'
      - '.github/workflows/labels.yml'

jobs:
  labeler:
    runs-on: ubuntu-latest
    steps:
      -
        name: Checkout
        uses: actions/checkout@v3
      -
        name: Run Labeler
        uses: crazy-max/ghaction-github-labeler@v4
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          yaml-file: .github/labels.yml
          exclude: |
            help*
            *issue

With this workflow, the YAML configuration above on a fresh repository, this will:

  • Skip bug (because same color and description)
  • Skip documentation (because same color and description)
  • Update duplicate (color is different)
  • Update enhancement (color is different, keep current description)
  • Leave good first issue alone (because it matches an exclude pattern)
  • Leave help wanted alone (because it matches an exclude pattern)
  • Delete invalid
  • Delete question
  • Rename wontfix to wontfix_it and set color and description

Customizing

inputs

Following inputs can be used as step.with keys

Name Type Description
yaml-file String Path to YAML file containing labels definitions. (default .github/labels.yml)
skip-delete Bool If enabled, labels will not be deleted if not found in YAML file. (default false)
dry-run Bool If enabled, changes will not be applied. (default false)
exclude List Newline delimited list of labels pattern(s)/matcher to exclude

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. If you want to open a pull request, please read the contributing guidelines.

You can also support this project by becoming a sponsor on GitHub or by making a Paypal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! 🙏

License

MIT. See LICENSE for more details.