🔘

CircleCIのパイプラインをcurlとAPIv2で起動するメモ

2023/01/27に公開

前提

  • 2023/1/27現在

準備

これを書いている時点ではプロジェクトトークンは不可という記述がある。

現在 API v2 でサポートされているのは パーソナル API トークン のみです。 プロジェクトトークン は、現在 API v2 ではサポートされていません。

https://circleci.com/docs/ja/api-developers-guide/

curl

CIRCLE_TOKEN=1234567890abcd
curl -f -Ss -u $CIRCLE_TOKEN: --request POST \
  --url https://circleci.com/api/v2/project/github/username/projectname/pipeline \
  --header 'content-type: application/json' \
  --data '{"branch":"master"}'

ポイント1
-u $CIRCLE_TOKEN: の最後の : を忘れない(忘れると、パスワードを聞かれる)
-u はBASIC認証のユーザー名とパスワードを username:password 形式で指定するため。

ポイント2
APIのURLは、Webでプロジェクトを開いたときのURLを見ながら入れる(ex: https://app.circleci.com/pipelines/github/username/projectname)
ドキュメントに従うと、githubの部分がghと略されているので注意

ポイント3
CircleCIのAPI結果はステータスコードで成否判定ができるので curlに -f をつけておくとリターンコードが変わってくれて便利。応答のJSONにmessageが入っているので理由が知りたければそこも見る必要がある。

蛇足

https://circleci.com/docs/api/v2/index.html#operation/triggerPipeline

上記にあるcurlの例がどうも正しくないようで動作しなかったので書いた。

Discussion