Skip to content

A simple action to automatically label PRs based on the gitmoji used in the title.

License

Notifications You must be signed in to change notification settings

georgepstaylor/gitmoji-auto-label

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

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gitmoji-auto-label

A simple action to automatically label PRs based on the gitmoji used in the title.

Note: GitHub requires more than just the gitmoji in the title, so this action will create the labels as <gitmoji>_gitmoji for example ✨_gitmoji or 🐛_gitmoji etc.

Usage

name: Create gitmoji label
on:
  pull_request:
    types: [opened, edited, reopened, synchronize]
jobs:
  create-gitmoji-label:
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
      contents: read
      repository-projects: read
    steps:
      - name: Enforce gitmoji PR title
        uses: georgepstaylor/[email protected]
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Permissions

The token requires the pull-request: write (to add a label to a PR) and if you are running this in a github-organisation, repository-projects: read too. Please see the following reference for the latter: cli/cli#5307

Using the above example verbatim, you can use the job title gitmoji-pr-title as a required check.

Using this action to assist with GitHub automated release notes

Ensure you set this action job as a required check for your PRs, otherwise PRs could be merged without the correct labels

Optionally you can use this action in conjunction with georgepstaylor/gitmoji-release-action to automatically generate releases and release notes based on the gitmoji labels.

Likewise, you can create releases using the GitHub UI and the release notes will be generated based on the gitmoji labels if you use the following configuration:

See:

# .github/release.yml
changelog:
  exclude:
    labels:
      - ignore-for-release
    authors:
      - octocat
  categories:
    - title: Exciting New Features and Enhancements ✨
      labels:
        - ✨_gitmoji
        - ⚡_gitmoji
        - 🚀_gitmoji
        - 🎉_gitmoji
        - 🥚_gitmoji
    - title: Security Fixes 🔒
      labels:
        - 🔒_gitmoji
        - 🛡️_gitmoji
        - 🛂_gitmoji
        - 🔐_gitmoji
    - title: Bug Fixes 🐛
      labels:
        - 🐛_gitmoji
        - 🚑_gitmoji
        - 🩹_gitmoji
    - title: Documentation 📚
      labels:
        - 📚_gitmoji
        - 📝_gitmoji
        - 💡_gitmoji
        - 📄_gitmoji
    - title: Typo Corrections 📝
      labels:
        - 📝_gitmoji
        - 📚_gitmoji
    - title: Breaking Changes 💥
      labels:
        - 💥_gitmoji
    - title: Refactor ♻️
      labels:
        - ♻️_gitmoji
        - ⚰️_gitmoji
        - 🗑️_gitmoji
        - 🚚_gitmoji
    - title: Work In Progress 🚧
      labels:
        - 🚧_gitmoji
        - 🍺_gitmoji
        - 💩_gitmoji
    - title: Dependency Updates 📦
      labels:
        - ➕_gitmoji
        - ➖_gitmoji
        - 📌_gitmoji
        - ⬆️_gitmoji
        - ⬇️_gitmoji
    - title: Other Changes
      labels:
        - "*"

About

A simple action to automatically label PRs based on the gitmoji used in the title.

Resources

License

Stars

Watchers

Forks

Packages

No packages published