概要
私は Release Drafter を使って GitHub のリリースノートを自動化しています。
この Release DrafterはGitHubのPRのLabelを基準に動作します。Release DrafterはLabelを自動で生成する機能を提供しており、この時PRのタイトルを使います。そのため、PRのタイトルは重要です。
以前はPRのタイトルをチェックするため、Conventional PR Title Actionを使いました。
しかし、現在のモノレポプロジェクトでは、この Conventional PR Title Actionだけでは十分ではなく、他のGitHub Actionsを使うことになりました。
今回のブログポストでは、action-check-pr-titleを使ってPRを作成した際、PRのタイトルをチェックする方法について説明します。
action-check-pr-title
action-check-pr-titleは正規表現を使ってPRのタイトルをチェックするGitHub Actionsです。
GitHub Actions 生成
action-check-pr-titleを使ってPRのタイトルをチェックするGitHub Actionsを生成するために、.github/workflows/check_pr_title.ymlファイルを生成し、以下のように修正します。
name: Check PR Title
on:
pull_request:
types:
- opened
- reopened
- edited
- synchronize
jobs:
check-pr-title:
runs-on: ubuntu-latest
timeout-minutes: 1
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Check PR Title
uses: Slashgear/[email protected]
with:
regexp: '(feat|fix|chore|docs|style|refactor|test|build|ci)\((SERVICE1|SERVICE2|template|components|config|common)\): .+'
helpMessage: "Example: 'feat(SERVICE1): example of title'"
Pull Requestのタイトルをチェックする部分をもう少し詳しく見てみます。
- name: Check PR Title
uses: Slashgear/[email protected]
with:
regexp: '(feat|fix|chore|docs|style|refactor|test|build|ci)\((SERVICE1|SERVICE2|template|components|config|common)\): .+'
helpMessage: "Example: 'feat(SERVICE1): example of title'"
action-check-pr-titleが提供するregexpオプションを使ってPRのタイトルをチェックします。ここで使う正規表現は以下のようなPRタイトルを許可します。
feat(SERVICE1): Add new feature
fix(SERVICE2): Fix bug
refactor(common): Refactor code
...
モノレポを使っているため、Conventional CommitsのScope領域にサービス名を設定し、これをチェックするように設定しました。
完了
これでaction-check-pr-titleを使ってPRを作成した際、PRのタイトルをチェックする方法について説明しました。Conventional PR Title Actionでも正規表現チェックが可能ですが、設定が簡単ではないため、action-check-pr-titleを使うことにしました。
皆さんも簡単に正規表現でPRタイトルをチェックしたい場合は、action-check-pr-titleを使ってみてください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Dekuが開発したアプリを使ってみてください。Dekuが開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。






