概要
今回のブログポストではGitHub Actionsを使ってPull requestのタイトルがConventional Commitsを守っているのかチェックする方法について説明します。
ブログシリーズ
このブログはシリーズで制作されました。次のリンクを通じて他のブログポストも確認してみてください。
- [GitHub Actions] Pull request のタイトルチェック
 - [GitHub Actions] Release notes の自動化
 - [GitHub Actions] Pull request のラベルチェック
 
Conventional Commits とは
Conventional Commitsはソフト開発で使ってるコミットメッセージの標準化のためのルールです。これはコード変更をより読みやすくするし、自動化されたバージョン管理システムと統合しやすくする目的があります。
Conventional Commitsは次のような構造を持っています。
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
- タイプ(Type): コミットの意図を表す単語で、主に feat(機能追加)、fix(バグ修正)、chore(ビルドやツール関連の変更)などが使われます。
 - スコープ(Scope): 変更がどの部分に影響を与えるかを指定するオプションです。Optional なので省略することができます。
 - コミットメッセージ(Description): 変更の簡潔な説明を含む部分で、命令文の形で書かれる必要があります。
 
ここでタイプは次のような種類を使うことができます。
- feat: 新しい機能を追加するときに使われます。
 - fix: バグ修正をするときに使われます。
 - chore: ビルドプロセスやツール関連の変更をするときに使われます。
 - docs: ドキュメントを変更するときに使われます。
 - style: コードスタイルを変更するときに使われます。
 - refactor: コードのリファクタリングをするときに使われます。機能の変更はなく、コードの構造を改善するときに使われます。
 - test: テスト関連の変更や追加をするときに使われます。
 - build: ビルドシステムや外部依存関係の変更をするときに使われます。
 - ci: CI/CD パイプラインに関連する変更をするときに使われます。
 
GitHubではPull requestを作成するとき、ブランチの最初のコミットメッセージをデフォルトで使うことになります。そのため、コミットするときにConventional Commitsを守るようにすると、Pull requestを作成するとき、より意味のあるタイトルを使うことができます。
Conventional PR Title Action
このブログポストではGitHub ActionsでPull requestのタイトルがConventional Commitsを守っているのかチェックするため、Conventional PR Title Actionを使います。
GitHub Actions の生成
GitHub ActionsでConventional PR Title Actionを使うため.github/workflows/pr-title-checker.ymlファイルを生成して、次のように修正します。
name: Check PR title
on:
  pull_request:
    types:
      - opened
      - reopened
      - edited
      - synchronize
jobs:
  lint:
    runs-on: ubuntu-latest
    permissions:
      statuses: write
    steps:
      - uses: aslafy-z/conventional-pr-title-action@v3
        env:
          GITHUB_TOKEN: $
このGitHub ActionsはPull requestが生成されたり、修正された時、Pull requestのタイトルがConventional Commitsを守っているのかチェックします。
完了
これでGitHub Actionsを使ってPull requestのタイトルがConventional Commitsを守っているのかチェックする方法について説明しました。
私がこのようにPull requestのタイトルがConventional Commitsを守っているのかチェックする理由は、このPull requestのタイトルを使ってRelease notesの自動化をするためです。
GitHub Actionsを使ってRelease notesの自動化する方法については次のリンクを参考してください。
 私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります! 
アプリ広報
Dekuが開発したアプリを使ってみてください。Dekuが開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。






