Pipelines のビルド番号に新しい値を設定する
Pipelines のビルド番号の更新
Pipelines のビルド番号 $BITBUCKET_BUILD_NUMBER
を大きい値に変更する場合、Bitbucket REST API を使用できます。これは、ほかのビルド ツールからの移行を行ったためにソフトウェア バージョンのビルド番号にすでに値が設定されている場合などに利用できます。
手順
- Bitbucket にログインして左下の自分のアバターに移動し、ワークスペースを選択して、[Personal settings] > [アプリ パスワード] の順に選択します。
- Pipelines の "edit variables" 権限を持つ新しいアプリ パスワードを作成します。新しいパスワードをクリップボードにコピーします。
- curl を使用して Pipelines build_number config API に PUT します。
curl -v -H 'Content-Type: application/json' -XPUT \
-d '{ "next": 1000 }' \
--user 'USERNAME:PASSWORD' \
'https://api.bitbucket.org/2.0/repositories/USERNAME/REPONAME/pipelines_config/build_number'
この例で、次の情報を置き換えます。
- 1000: を対象のビルド番号で置き換え
- USERNAME: Bitbuket のユーザー名で置き換え (コマンド内に USERNAME は 2 つあることにご注意ください)
- PASSWORD: 前述の手順で生成およびコピーしたアプリ パスワード
- REPONAME: リポジトリの短縮名
正常に完了すると、Bitbucket が次のような応答を返します。
{"type": "pipeline_build_number", "next": 1000}
次に実行する Pipelines ビルドではこれがビルド番号として使用されます。
エラー応答
エラー応答には次のようなものがあります。
HTTP/1.1 401 Unauthorized
– これは、Bitbucket がユーザー名を識別できない場合に返される HTTP ヘッダーです。前述のコマンドを更新し、URL と--user
パラメーターの両方に適切なユーザー名を設定していることを確認します。Your credentials lack one or more required privilege scopes
– アプリ パスワードに Pipelines 変数の編集権限が設定されていることを確認します。An invalid field was found in the JSON payload
– JSON ペイロードが前述のフォーマットに一致していることを確認します。フォーマットは単一のオブジェクトで、next
フィールドには整数値が設定されている必要があります (type は任意で設定します)。The request body contains invalid properties
- 指定したビルド番号が Pipelines の既存のビルドよりも小さい値です。
制限事項
Bitbucket の web UI からビルド番号を更新することはできません。ビルド番号の変更は Bitbucket REST API 経由でのみ行うことができます。
ビルド番号を、リポジトリ内の既存のビルド結果よりも小さい値に設定することはできません。これは、現在 Pipelines ビルドを削除することができず、以降のビルドが既存のビルドと競合しないようにするためです。
最終更新日 2020 年 6 月 24 日
Powered by Confluence and Scroll Viewport.