Skip to main content

ビルドのトリガーと中止

概要

Bitrise API を使用して、アプリのビルドをトリガーしたり中止したりできます。ビルドのパラメーターを定義します。たとえば、使用するブランチ、タグ、git commit などです。カスタム環境変数も定義できます。

表1 APIを使用したビルドのトリガーと中止に関連するエンドポイント

エンドポイント

関数

アプリのチームで必要な役割

POST / apps / {app-slug} / builds / {build-slug} / abort

新しいビルドをトリガーします。

所有者、管理者、または開発者

POST / apps / {app-slug} / builds / {build-slug} / abort

特定のビルドを中止します。

所有者、管理者、または開発者


Bitrise APIを使用して、ビルドをトリガーおよび中止できます。ビルドのパラメーターを定義します。たとえば、使用するブランチ、タグ、またはgitcommitです。カスタム環境変数も定義できます。

APIを使用して新しいビルドをトリガーする

Bitrise APIを使用して新しいビルドをトリガーするには、 /apps/{APP-SLUG}/builds 終点。 JSONオブジェクトでアプリスラッグと少なくとも1つのビルドパラメーターを指定する必要があります。

  • gitタグまたはgitcommitハッシュ

  • ブランチ

  • ワークフローID

You also must have a valid build trigger set up in the trigger map in your app's bitrise.yml file.

必要な役割

APIを使用して新しいビルドをトリガーするには、アプリのチームに開発者、管理者、または所有者の役割が必要です。

ユーザーの役割と役割のチートシートの完全なリストについては、次を確認してください。 アプリチームでのユーザーの役割

JSONオブジェクトには、 hook_info オブジェクトと type キーと bitrise キーの値として。

これは、以下を指定する最小限のサンプルJSON本文です。 main の値として branch パラメータ:

{
  "hook_info": {
    "type": "bitrise",
  },
  "build_params": {
    "branch": "main"
  }
}

そして、これがビルドをトリガーするためのcurlリクエスト構文です main ブランチ:

curl -X 'POST' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/builds' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "build_params": {
    "branch": "main"
  },
  "hook_info": {
    "type": "bitrise"
  }
}'

インタラクティブなcURL呼び出しコンフィギュレーター

をクリックすると、インタラクティブなcURL呼び出しコンフィギュレータを見つけることができます。 Start/Schedule a build アプリのボタン bitrise.io ページと切り替え Advanced ポップアップのモード。ポップアップの下部に、 curl ポップアップで指定したパラメータに基づいて呼び出します。

前の例では、このJSONペイロードを文字列として渡しました。正確には、文字列にシリアル化されたJSONオブジェクトとして渡しました。

オブジェクトとして渡すこともできます(たとえば、JavaScriptから呼び出す場合)。これを行うには、ルートを含めます payload 要素、または代わりに、JSONオブジェクトをの値として設定します payload POSTパラメータ。

これは、を使用したjQueryの例です。 payload パラメータ:

$.post("https://api.bitrise.io/v0.1/apps/APP-SLUG/builds/", {
    "payload":{
        "hook_info":{
            "type":"bitrise",
        },
        "build_params":{
            "branch":"main"
        }
    }
})

ビルドをトリガーするときに、いくつかの異なるビルドパラメーターを指定できます。パラメータはで設定する必要があります build_params 物体。

ビルドするブランチ、コミット、またはタグを設定する

通話でGit固有のパラメーターを設定できます。 NS branch パラメータは、構築するソースブランチを指定します。これは、git commitのブランチ、またはプルリクエストビルドの場合はプルリクエストのソースブランチのいずれかです。

curl -X 'POST' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/builds' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
        "hook_info": {
                "type": "bitrise"
        },
        "build_params": {
                "branch": "main"
        }
 }'

特定のgitcommitまたはgitタグを作成することもできます。コミットハッシュまたはタグのいずれかを設定する必要があります。 build_params 物体。ビルドのコミットメッセージを設定することもできます commit_message パラメータ。

curl -X 'POST' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/builds' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "hook_info":{
    "type":"bitrise"
  },
  "build_params": {
    "commit_hash": "0000ffffeeeee",
    "commit_message": "testing"
  }
}'

パラメータの優先度

NS Git Clone ステップには、次のパラメーター優先順位があります。

  1. commit_hash

  2. 鬼ごっこ

  3. ブランチ

複数のパラメーターを指定した場合、優先度の低いパラメーターは無視されます。

無視されたパラメータは引き続きログに記録されます。それらはステップで利用可能になり、ビルドに表示されます 詳細とアドオン ページが Git Clone ステップは、チェックアウトに最も具体的なパラメーターを使用します。

プルリクエストビルドのパラメータの設定

プルリクエストビルドの場合は、 branch_dest プルリクエストの宛先またはターゲットブランチを設定するパラメータ。 PRはこのブランチにマージされますが、その前に、Bitriseはマージ後のコードの外観に基づいてアプリをビルドします。これは、たとえば、PRビルドがWebhookによって自動的にトリガーされたときに発生します。

NS branch_repo_ownerbranch_dest_repo_owner パラメータは、リポジトリの所有者を識別し、プルリクエストに関係するブランチを明確に識別するために使用されます。

フォークからのプルリクエストビルド

指定しない場合 branch_repo_ownerbranch_dest_repo_owner パラメータの場合、APIはプルリクエストのビルドがフォークからのものであると想定します。そのため、手動による承認が出るまで保留になる可能性があります。 プルリクエストビルドの承認

PR自体を識別するには、 pull_request_id パラメータ:整数を取ります。たとえば、GitHubのPRの番号。

curl -X 'POST' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/builds' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "hook_info":{
    "type":"bitrise"
  },
  "build_params": {
    "branch": "the-pr-branch",
    "branch_dest": "main",
    "commit_hash": "fffff000000eeeeee",
    "pull_request_id": 1
  }
}'

gitプロバイダーがサポートしている場合は、 pull_request_merge_branch PRのブランチの事前マージされた状態を構築するためのパラメータ。別の選択肢は pull_request_head_branch パラメータ:これは、PRのソースを指す必要がある特別なgitrefです。

リポジトリのフォークから開いたPRからビルドをトリガーする場合は、 pull_request_repository_url パラメータ。値はフォークのURLである必要があります。

Gitステータスレポートをスキップする

あなたが持っている場合 webhook 設定すると、Bitriseはビルドに関するステータスレポートをgitプロバイダーに送信します。ただし、これはAPIを介して無効にすることができます。 skip_git_status_report パラメータ。に設定されている場合 true、ビルドステータスレポートは送信されません。

curl -X 'POST' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/builds' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "hook_info":{
    "type":"bitrise"
  },
  "build_params": {
    "branch": "the-pr-branch",
    "branch_dest": "main",
    "skip_git_status_report": true
  }
}'

環境変数の指定

追加で定義できます 環境変数 (Env Vars)ビルド用。これらの追加の変数は、 SecretsApp Env Vars、つまり、ビルド構成で定義されたEnv Var(App Env Varなど)のみを上書きすることはできません。 秘密

を使用して追加の環境変数を定義します 環境 パラメータ。このパラメータは、 オブジェクトの配列、および配列のすべての項目には、少なくとも mapped_to 財産。これには次のものが含まれている必要があります。

  • EnvVarのキー。

  • Env変数の値。

EnvVar名の置き換え

デフォルトでは、値内のEnv Var名は、トリガーされたビルドでターゲット環境からの実際の値に置き換えられます。この動作は、を設定することで無効にできます is_expand フラグを立てる false

"environments":[
  {"mapped_to":"API_TEST_ENV","value":"This is the test value","is_expand":true},
  {"mapped_to":"HELP_ENV","value":"$HOME variable contains user's home directory path","is_expand":false},
]

ビルドのワークフローの設定

デフォルトでは、トリガーされたビルドのワークフローは、 build_params とあなたのアプリの トリガーマップ。これは、Webhookがトリガーマップに基づいてビルドのワークフローを自動的に選択する方法と同じです。

APIを使用すると、この選択を上書きして、使用するワークフローを正確に指定できます。

追加する workflow_id あなたへのパラメータ build_params その特定のビルドに使用するワークフローを指定します。これは、を指定する呼び出しの例です。 deploy ワークフロー:

curl -X 'POST' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/builds' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "hook_info": {
        "type": "bitrise"
    },
    "build_params": {
        "branch": "main",
        "workflow_id": "primary"
    }
}'

ビルドを中止する

実行中のビルドを中止し、中止の理由を設定したり、ビルドに関する電子メール通知を送信するかどうかを指定したりできます。

必要な役割

APIを使用して着信または発信のWebhookを管理するには、アプリのチームで管理者または所有者の役割が必要です。

ユーザーの役割と役割のチートシートの完全なリストについては、次を確認してください。 アプリチームでのユーザーの役割

単にビルドを中止するには、 /apps/APP-SLUG/builds/BUILD-SLUG/abort 終点。次の 3 つのパラメーターが必要です。

  • アプリのスラッグ。

  • ビルドスラッグ。

  • ビルド中止パラメーター本体。中止に特定のパラメータを設定したくない場合は、これを空のままにすることができます。 -d "{}".

curl -X POST -H "Authorization: ACCESS-TOKEN" "https://api.bitrise.io/v0.1/apps/APP-SLUG/builds/BUILD-SLUG/abort" -d "{}"

を使用して、ビルドを中止する理由を設定できます。 abort_reason パラメータ。このパラメーターは文字列を取り、アプリのビルドページに表示されます。

curl -X POST -H "Authorization: ACCESS-TOKEN" "https://api.bitrise.io/v0.1/apps/APP-SLUG/builds/BUILD-SLUG/abort" -d '{"abort_reason": "aborted for a reason"}'

通常、中止されたビルドは失敗したビルドとしてカウントされます。使用 abort_with_success ビルドを中止するが、それでも成功したものとしてカウントするパラメーター。 gitプロバイダーに送信されたステータスレポートには、ビルドが成功したことが示されます。 bitrise.io 次のように表示されます Cancelled

curl -X POST -H "Authorization: ACCESS-TOKEN" "https://api.bitrise.io/v0.1/apps/APP-SLUG/builds/BUILD-SLUG/abort" -d '{"abort_with_success": true}'

アプリの設定によっては、ビルドが中止されたときにBitriseがチームメンバーにメール通知を送信する場合があります。通知が必要ない場合は、 skip_notifications パラメータを true

curl -X POST -H "Authorization: ACCESS-TOKEN" "https://api.bitrise.io/v0.1/apps/APP-SLUG/builds/BUILD-SLUG/abort" -d '{"skip_notifications": true}'