BacklogのwebhookでJenkinsのジョブを実行する方法(パラメータ付き)


経緯

backlogのGitプッシュをトリガーにして、pushされたブランチに対してJenkinsのジョブを実行することを考えていました。

BacklogのWebhookでJenkinsのビルドを走らせるの記事を参考に解決できそうでしたが、
パラメータ付きビルドのジョブの場合WebhookのURLが変わってくるので補足で記録しておきます。

細かい説明は上記の記事を参考にしてください。

backlog に登録する WebHook URL

  • your_jenkins_domain : jenkinsのドメイン名
  • job : Jenkinsのジョブ名
  • token : ジョブに設定したtoken

前提

以下プラググインをインストール
Build Authorization Token Root

パラメータなしビルド(build)

https://your_jenkins_domain/buildByToken/build?job=RevolutionTest&token=TacoTuesday

パラメータ付きビルド(buildWithParameters)

https://your_jenkins_domain/buildByToken/buildWithParameters?job=RevolutionTest&token=TacoTuesday&Type=Mexican

参考

Build Authorization Token RootのEXAMPLE

使用例

Gitプッシュをトリガーにプッシュしたブランチを対象にジョブを実行する方法

Jenkins側の設定

ビルドのパラメータ化にチェックをいれてデフォルト値は何も入力しません。
名前は任意ですが、ここではGIT_BRANCH_PARAMETERとしておきます。

ビルドするブランチに$GIT_BRANCH_PARAMETERを設定します。

Backlogの設定

WebHook URLを以下の様に設定します。

https://your_jenkins_domain/buildByToken/buildWithParameters?job=RevolutionTest&token=TacoTuesday&GIT_BRANCH_PARAMETER=
  • job, tokenは環境によって変更してください。
  • GIT_BRANCH_PARAMETERは何も指定しないでおきます。
    • Jenkins側の設定でビルドするブランチ名が空白だと、全てのブランチが対象となります。全ブランチの中でジョブ実行されていないブランチのコミットを探しに行くみたいなのでそれを利用します。

動作確認

Backlogの実行テストを行うと、Jenkins側でジョブが実行されることを確認できます。


参考になれば幸いです。