GitlabのMRのStatusを変える
課題
GitlabへのMRをフックしてBitriseでCIを回した時、MRに対してCIの状態を更新したい。 公式のステップだとGitHubは GitHub 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"