logo-midori-global-consulting-jira-commit-policy
Midori Commit Policy Plugin for JIRA

ユーザー定義のポリシーを基に VCS へのコミットを自動で検証

JIRA 上で定義したコミット ポリシーを基に VCS 上でフック スクリプトを実行。コミットに関する要件充足の徹底を実現。

Midori Global Consulting Git JIRA 用アドオン Mercurial Subversion 注目 課題管理 Data Center Server

お問い合わせ

ユーザー定義のポリシーを基に VCS へのコミットを自動で検証

Midori Commit Policy for JIRA は、JIRA 上で定義されたコミット ポリシーを基にバージョン管理システム (VCS) へのコミットを検証する JIRA 用アドオンです。コミット ポリシーは、正規表現、Glob パターン、JQL などを利用して柔軟に指定できます。もちろん、同じコミット ポリシーを異なる VCS に同時適用することも可能です。

開発元サイト  マーケットプレイス  製品ドキュメント

主な機能

コミット ポリシーを JIRA 上で定義

コミット ポリシーの作成は JIRA の管理画面上で行います。VCS 側では、リポジトリ単位でどのコミット ポリシーを使用するかを選択するだけです。

各種 VCS に対応

バージョン管理システムは、Git、Bitbucket Server、Mercurial、Subversion、Perforce、Team Foundation Server、ClearCase、CVS に対応しています (すべてオンプレミス版にのみ対応)。

検証結果を即座に確認

コミット内容がコミット ポリシーに即しているかはリアル タイムに確認できます。ポリシーを満たしていない場合、エラー画面が表示されるので、コミッターはすぐにコミット内容の修正を行えます。

さまざまなコミット要素を検証可能

コミット ポリシーでは、コミッター、コミット メッセージの内容、コミットするファイルの種類、コミット先のディレクトリなどを条件として指定できます。

ポリシー条件は柔軟に指定可能

コミット ポリシーの条件は、正規表現、Glob パターン、JQL を使用して指定します。さらに AND 論理演算子や OR 論理演算子で複数の条件を組み合わせることも可能です。

同じポリシーを異なる VCS で利用可能

コミット ポリシーは、VCS 上でフック スクリプトとして実行されます。フック スクリプト記述は各 VCS により異なりますが、Commit Policy Plugin for JIRA のポリシー評価エンジンはこの差異を吸収するように設計されています。

Bitbucket Server 用アドオンを用意

JIRA と Bitbucket Server とを統合している場合、無償アドオンの Commit Policy for Bitbucket を導入することで、Bitbucket Server 上でのコミット ポリシーに関する設定を GUI 経由で行えます。

インストールは JIRA 上で

Commit Policy for JIRA のインストールやライセンス キーの入力は JIRA の管理コンソール上で行えます。また、JIRA の再起動も必要ありません。


スクリーンショット

Midori Commit Policy for JIRA : コミット ポリシーの管理画面 (JIRA 側)
Midori Commit Policy for JIRA : コミット ポリシーの設定画面 (JIRA 側)
Midori Commit Policy for JIRA : コミット ポリシーの選択画面 (Bitbucket 側)
Midori Commit Policy for JIRA : コミット ポリシーの選択画面 (Bitbucket 側)
Midori Commit Policy for JIRA : コミットが拒否された場合のエラー画面
Midori Commit Policy for JIRA : コミット メッセージの修正作業の例

条件オプションとその活用例

オプション #1 : “コミッターは有効な JIRA アカウントが必要” 条件

コミッターが有効な JIRA アカウントを持っているか、また特定のグループのメンバーであるかを検証します。

  • 有効かつアクティブな JIRA ユーザーからのコミットのみを受け付ける
  • “チーム リード” JIRA グループに属するユーザーからのコミットのみを受け付ける
  • 誰からのコミットも受け付けない (リポジトリを読み取り専用にする場合に使用)

オプション #2 : “コミッター属性はパターンに必ず一致” 条件

コミッターのユーザー名 (またはメール アドレス) が、正規表現 (または Glob パターン) で指定したパターンに一致するかを検証します。

  • ユーザー名の一覧にあるユーザーからのコミットのみを受け付ける
  • 誰からのコミットも受け付けない (リポジトリを凍結する場合に使用)

オプション #3 : “コミット メッセージは JQL クエリの実行結果に含まれる課題キーを必ず含む” 条件

JQL クエリの実行結果に含まれる JIRA 課題へのリンク付け (関連付け) を強制します。

  • JIRA 課題が指定されていない場合はコミットを受け付けない
  • 現在のスプリントのユーザー ストーリーを 1 件だけ参照している場合にのみコミットを受け付ける
  • JIRA プロジェクト FOOBAR の次期メンテナンス バージョンで計画されている未解決バグまたは修正リクエストを言及するコミットのみを受け付ける

オプション #4 : “コミット メッセージはパターンに必ず一致” 条件

コミット メッセージが、正規表現 (または Glob パターン) で指定したパターンに一致するかを検証します。

  • コミットメッセージは必ず 10 文字以上 (空白を除く)
  • コミット メッセージは JIRA 課題キーで必ず始まる
  • コミット メッセージはテスト実行 ID を必ず含む

オプション #5 : “コミットされるファイルはパターンに必ず一致” 条件

コミットに含まれている各ファイルのファイル パスが、正規表現 (または Glob パターン) で指定したパターンに一致するかを検証します。

コミッターのユーザー名 (またはメール アドレス) が、正規表現 (または Glob パターン) に一致するかを検証します。

  • 拡張子が .html, .javascript, .css であるファイルのみを受け付ける
  • *.tmp, *.cfg, *.obj, *.class, .* および他の一次ファイル、隠しファイル、ローカル専用ファイルを拒否する (リポジトリにチェックインされるのを防ぐ)
  • “/doc/legal” ディレクトリおよび “copyright.txt” ファイルを拒否することで修正されるのを防ぐ

オプション #6 : カスタム条件 (Groovy で記述)

ビルトイン条件で解決できない場合は、Groovy 言語でカスタム条件を記述できます。


デプロイメント オプション

導入先JIRA (Server)JIRA (Data Center)JIRA (Cloud)
説明各種 JIRA オンプレミス版への導入各種 JIRA クラスタリング対応版への導入各種 JIRA SaaS 版への導入
対応

無料でお試しいただけます

Midori Commit Policy Plugin for JIRA を無料でお試しいただけます。無料トライアルのお申し込みの際は、ご希望のデプロイメント オプションをお申し付けください。

お問い合わせ