Techioz Blog

Gitlab Push ルールが正規表現コミットを拒否する

概要

「コミット メッセージ内の式が必要」の Gitlab Push ルールには正規表現があります。

^(feat|fix|perf|refactor|removed)(:\s)(HPA-\d+)(\s)(.+)

ただし、有効なコミット「feat: HPA-1234 Test」をプッシュすると、コミットは拒否されます。

regex101 に対してチェックすると、コミットは成功します: https://regex101.com/r/hwwO1l/1

もっと広い正規表現を作ると

^(feat|fix|perf|refactor|removed)(.*)

コミットも拒否されます。

また、プッシュ ルール「feat: WPPA-3135 Test test」でコミットを明示的に指定し、このコミットをプッシュしようとすると、そのコミットも拒否されます。

コミットが定期スケジュールを通過しない理由を確認するにはどうすればよいですか?

解決策

そのブランチで複数のコミットを行ったところ、そのうちの 1 つのコミットで送信メッセージが必要な正規表現と一致しませんでした。ブランチ上のすべてのコミットは、Gitlab で設定されている正規表現と一致する必要があるようです。