為さねば成らぬ

retia.verno@gmail.com

GitlabのMRのStatusを変える

課題

GitlabへのMRをフックしてBitriseでCIを回した時、MRに対してCIの状態を更新したい。 公式のステップだとGitHubGitHub Status が存在するが、Gitlabは無いため。

解決

以下の curl コマンドを Script ステップに設定すると、Gitlabのpipelineに test という名前で running のJobができる。 target_url を指定しているため、このBitriseのビルドへのリンクも行われている。

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/17/statuses/$BITRISE_GIT_COMMIT?name=test&state=running&target_url=$BITRISE_BUILD_URL"

参照

利用可能な環境変数 | Bitrise DevCenter

Commits API | GitLab