GitHub Pull Request Builder Plugin の多すぎる設定項目を補足してみる

  • 43
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

GitHub Pull Request Builder Plugin とは何ぞや?的な内容については、下記のページを参考にしてください。
私も非常に参考になりました。ありがとうございます。

その上でこのページでは、多すぎる設定項目について、上記参考ページでは書かれていない部分や、私がハマった部分などをベースに解説できればと思います。

システムの設定

GitHub Pull Request Builder のブロックまで移動。

トークンの生成

Create API Token... から、ID/PW を使ってトークンを生成する。
このとき、前回生成したときのゴミなどが残っていると生成に失敗するので注意。

トークン生成後、下記の通り値を入力したら、一度保存して画面を抜ける。

項目 設定値
GitHub Server API URL https://api.github.com
Shared secret ※上記で生成したトークン

再度システムの設定から GitHub Pull Request Builder のブロックまで移動。
すると、Credentials プルダウンに先ほど入力した値が候補になっているはずなので、それを選択し Credential の妥当性をチェックしていきます。

Test Credentials...

Test basic connection to GitHub にチェック

Connect to API ボタンを押下し、下記の通り表示されれば OK。

Connected to https://api.github.com as xxxxxx login: xxxxxxxxxxx

Repository owner/name

ここには Credential の妥当性チェック時に使用するリポジトリの owner/name 部分を設定する。
※対象リポジトリ URL が https://github.com/naotawool/sample_project の場合

項目 設定値
owner/name naotawool/sample_project

Test Permissions to a Repository にチェック

Check repo permissions ボタンを押下し、下記の通り表示されれば OK。

User has access to: Push, Pull

Test adding comment to Pull Request にチェック

ここにはチェック用に issue へコメントを送信するための情報を設定する。

項目 設定値
Issue ID チェック用 issue 番号
Comment to post 上記番号で指定した issue へ送信するコメント (何でも OK)

Comment to issue ボタンを押下し、下記の通り表示されれば OK。

Issued comment to issue: https://github.com/naotawool/sample_project/issues/xxxx

Test updating commit status にチェック

ここにはチェック用に Pull & Request のステータスを更新するための情報を設定する。

項目 設定値
Commit SHA PR のマージ元となるブランチのコミットID (ハッシュ値)
Commit State PR に対して設定するステータス (プルダウンから選択)
Status url ステータス欄に表示されるリンクの URL
Message to post ステータス欄に表示するコメント文
Context for the status ステータス文言

実際の設定例と、GitHub 側のイメージ。

項目 設定値
Commit SHA xxxxxxxxxxxxxxxxxxxxx ※任意のコミットID
Commit State SUCCESS
Status url http://localhost/
Message to post This dummy message.
Context for the status TEST ok

ghprb_2.png

ジョブの設定

続いて各ジョブの設定について。
参考サイトにて解説されている内容は端折ります。

Trigger phrase

ここで指定したフレーズをプルリクのコメント欄に入力しても、ビルドが実行されます。
※「ok to test」や「test this please」以外に指定が可能
※ここで指定しても、「ok to test」などは有効のまま

Only use trigger phrase for build triggering

ここにチェックを入れると、上記の「Trigger phrase」で指定したフレーズが入力されない限り、ビルドが実行されなくなります。

Close failed pull request automatically?

ここにチェックを入れると、対象プルリクのビルドが失敗した場合、プルリクを自動で close します。
※チェックを入れて保存し、再度編集を行うとすると、チェック状態が初期化されてしまうバグあり

White list

Pull Request を送信する可能性のあるユーザ名を入力。
※Admin list でも List of organizations でもないユーザ

Admin list にも White list にも organizations にも属さないユーザが Pull Request を出した場合、このジョブは下記のコメントを送信します。
Can one of the admins verify this patch?
これに対し「Admin list」などに属しているユーザが「add to whitelist」とコメントすると、この Pull Request を出したユーザは自動的に「White list」に追加されます
※Jenkins の設定を自動的に書き換えてくれる

List of organizations. Their members will be whitelisted.

Allow members of whitelisted organizations as admins

ここにチェックを入れると、「List of organizations」で設定した組織に所属するメンバを admin として許可したことと同じになります。
つまり、「List of organizations」に組織を入力し、ここにチェックを入れれば、Admin list にわざわざ所属メンバを指定する必要はないということです。

Build description template

Jenkins 側のジョブ履歴に表示する説明文のテンプレート
※デフォルトは、PR #{PR番号}: {PRタイトル}

Whitelist Target Branches

ビルド対象のブランチを指定
ここで指定した名前 (正規表現あり) のブランチがマージ先 (base) に設定されたプルリクのみ、ビルドが実行される
※例えば developfeature\/.*とか

おわりに

てな感じで細かく実行制御を行うことが出来るので、参考にしてみてください。