🔘
CircleCIのパイプラインをcurlとAPIv2で起動するメモ
前提
- 2023/1/27現在
準備
- CircleCIの(パーソナルアクセストークンを生成する)[https://app.circleci.com/settings/user/tokens]
これを書いている時点ではプロジェクトトークンは不可という記述がある。
現在 API v2 でサポートされているのは パーソナル API トークン のみです。 プロジェクトトークン は、現在 API v2 ではサポートされていません。
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が入っているので理由が知りたければそこも見る必要がある。
蛇足
上記にあるcurlの例がどうも正しくないようで動作しなかったので書いた。
Discussion