Skip to main content

アプリの追加と管理

概要

API を使用して Bitrise に新しいアプリを追加できます。 アプリ、SSH キーを生成し、アプリの初期構成をセットアップします。

API を使用して Bitrise に新しいアプリを追加できます。 アプリ、SSH キーを生成し、アプリの初期構成をセットアップします。

さらに、たとえば、単一のユーザーまたは特定のユーザーに属するすべてのアプリを一覧表示できます。 ワークスペース.

APIを使用して新しいアプリを追加する

表1 BitriseAPIを使用して新しいアプリを追加する際に使用されるエンドポイント

エンドポイント

関数

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

POST / apps / register

新しいアプリを追加します。

該当なし

POST / apps / {app-slug} / register-ssh-key

SSHキーを特定のアプリに追加します。

所有者または管理者

POST / apps / {app-slug} / finish

アプリケーション追加プロセスの最後にアプリケーションを保存します。

該当なし

POST /apps/{app-slug}/bitrise.yml

アプリケーションの新しいbitrise.ymlをアップロードします。

所有者または管理者


HTTPS GitURLを使用するアプリ

手順と例は、SSH gitURLを使用してプライベートアプリを追加することを目的としています。 HTTPS git URLを使用してアプリを追加する場合は、SSHキーの追加をスキップできます。

  1. を呼び出してアプリを登録します register エンドポイントとすべての必要なパラメータの設定。

    git プロバイダー、リポジトリ URL、プロバイダーに表示されるリポジトリのスラッグ、およびリポジトリの所有者のスラッグを設定する必要があります。アプリを所有するワークスペースのスラッグも追加する必要があります。従来の命名規則により、 organization_slug パラメータ。

    curl -X POST -H 'Authorization: ACCESS-TOKEN' 'https://api.bitrise.io/v0.1/apps/register' -d \
    '{
          "provider": "github",
          "is_public": false,
          "organization_slug": "$ORG_SLUG"
          "repo_url": "[email protected]:api_demo/example-repository.git",
          "type": "git",
          "git_repo_slug": "example-repository",
          "git_owner": "api_demo"
     }'      

    アプリの名前を変更する

    デフォルトでは、アプリを登録すると、git リポジトリの名前が継承されます。

    別の名前でアプリを追加したい場合は、 "title" 次の構文を使用して、パラメータを POST リクエストに追加します。

    curl -X POST -H 'Authorization: ACCESS-TOKEN' 'https://api.bitrise.io/v0.1/apps/register' -d \
    '{
        ...
        ...
        "title": "string"
     }'
    

    PATCH リクエストを送信し、 apps 終点。詳細については、次を参照してください。 既存のアプリの管理.

  2. 完了したら、 register-ssh-key ビルドの実行時にBitriseがリポジトリのクローンを作成できるように、作成したSSHキーを設定するエンドポイント。

    秘密 SSH キーと公開 SSH キーの両方を提供する必要があります。秘密鍵を手動でコピーする場合は、すべての改行をエスケープする必要があることに注意してください。 \n.

    公開鍵をgitプロバイダーに自動的に登録するかどうかを設定することもできます。 is_register_key_into_provider_service パラメータをtrueまたはfalseに設定します。

    curl -X POST -H 'Authorization: ACCESS-TOKEN' 'https://api.bitrise.io/v0.1/apps/APP-SLUG/register-ssh-key' -d \
    '{
        "auth_ssh_private_key": "your-private-ssh-key",
        "auth_ssh_public_key": "your-public-ssh-key",
        "is_register_key_into_provider_service": false
     }'  
  3. を呼び出してアプリの登録プロセスを完了します finish 終点。

    このエンドポイントを使用すると、アプリを構成できます。プロジェクトの種類、ビルドを実行するスタック (アプリによって異なる場合があります)、および初期構成設定を設定します。

    また、環境変数を設定したり、アプリケーションの所有者となるワークスペースをすぐに指定したりすることもできます。注意してください mode パラメータは、の値に設定する必要があります manual

    curl -X POST -H 'Authorization: ACCESS-TOKEN' 'https://api.bitrise.io/v0.1/apps/APP-SLUG/finish' -d \
    '{
         "project_type": "ios",
         "stack_id": "osx-xcode-13.2.x",
         "config": "default-ios-config",
         "mode": "manual",
         "envs": {
               "env1": "val1",
               "env2": "val2"
         },
         "organization_slug": "e1ec3dea540bcf21"
     }'
    

既存のアプリの管理

表1 BitriseAPIを使用した既存のアプリの管理に関連するエンドポイント

エンドポイント

関数

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

GET / apps

アプリのリストを取得します。

どれでも

GET / apps / {app-slug}

特定のアプリを入手してください。

どれでも

GET /apps/{app-slug}/bitrise.yml

特定のアプリのbitrise.ymlを取得します。

所有者または管理者

GET / apps / {app-slug} / branchs

アプリのリポジトリのブランチを一覧表示します。

どれでも

GET / organizations / {org-slug} / apps

ワークスペースのアプリのリストを取得します。

どれでも

GET / users / {user-slug} / apps

ユーザー向けのアプリのリストを取得します。

どれでも

パッチ /apps/{app-slug}

既存のアプリのパラメーターを更新する

所有者または管理者


1つ以上のアプリに関するGETリクエストへの応答には、アプリスラッグ、そのプロジェクトタイプ、gitプロバイダー、リポジトリの所有者、およびURLが含まれます。

{
  "data": [
    {
      "slug": "eeeeefffff00000",
      "title": "sample-app",
      "project_type": "android",
      "provider": "github",
      "repo_owner": "example-user",
      "repo_url": "[email protected]:example-user/sample-app.git",
      "repo_slug": "android-gradle-kotlin-dsl",
      "is_disabled": false,
      "status": -1,
      "is_public": false,
      "owner": {
        "account_type": "organization",
        "name": "Test Org",
        "slug": "fffffeeeee00000"
      },
      "avatar_url": null
    },
    {

既存のものをダウンロードすることもできます bitrise.yml すべてのアプリのファイル: 応答には完全な YAML 構成が含まれます。

既存のアプリのタイトルまたはデフォルトの git ブランチを変更しますか?の PATCH メソッドを呼び出すことで、既存のアプリのパラメーターを更新できます。apps終点。

必要な役割

Bitrise API を使用して既存のアプリのパラメーターを更新するには、アプリのチームで管理者または所有者の役割を持っている必要があります。

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

必須パラメーターは次のとおりです。

  • アプリスラッグ

オプションのパラメータは次のとおりです。

  • apple_credential_user_id: 新しい Apple 資格情報のユーザー ID (推奨: UI を使用してこれを設定します)

  • apple_credential_user_slug: 新しい Apple クレデンシャル ユーザー スラッグ (推奨: UI を使用してこれを設定します)

  • default_branch: アプリケーションの新しいデフォルト ブランチ。

  • is_public: アプリケーションを公開する必要がある場合の新しい値。

  • repository_url: アプリケーションの新しいリポジトリ URL。

  • services_credential_user_id: 新しいサービス資格情報のユーザー ID (推奨: UI を使用してこれを設定します)。

  • title: アプリケーションの新しいタイトル。

例1 既存のアプリの名前とデフォルト ブランチの変更

リクエスト:

curl -X 'PATCH' 'https://api.bitrise.io/v0.1/apps/THE-APP-SLUG' -H 'accept: application/json' -H 'Authorization: ACCESS-TOKEN' -H 'Content-Type: application/json' -d '{"default_branch": "main", "title": "Example_app_title_3"}'

ワークスペース グループのアプリ アクセス ロールの管理

付与できます ワークスペース グループ Bitrise のアプリケーション チームへのアクセス。これは、グループのすべてのメンバーがアプリで作業できることを意味します グループに割り当てられた役割.

を使用して、アプリのチームで特定のロールが付与されているすべてのグループを一覧表示します。 GET /apps/{app-slug}/roles/{role-name} 終点。の 役割名 パラメータは、次の 3 つの可能な値を取ります。

  • admin

  • manager: これは デベロッパー bitrise.io での役割。

  • member: これは テスター/QA bitrise.io で。

この例では、特定のアプリに管理者ロールが付与されているワークスペース グループのリストをクエリしています。

curl -X 'GET' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/roles/admin' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN'

を使用して、既存のワークスペース グループへのアクセスを許可します。 PUT /apps/{app-slug}/roles/{role-name} 終点。このエンドポイントには groups 指定されたロールでアクセスが許可されているすべてのグループのスラッグを含むオブジェクト。

すべてのグループを指定

このエンドポイントは、アプリのチームで指定された役割を持っていた以前のすべてのグループを置き換えます。たとえば、エンドポイントを呼び出してグループ Alpha と Beta にアプリのチームの管理者ロールを付与すると、後で Alpha と Beta のみがアプリへの管理者アクセス権を持つことになります。別のグループ (デルタと呼びましょう) が以前にチームで管理者の役割を持っていた場合、そのグループは削除されます。

グループ スラッグの取得

ワークスペースのグループ スラッグを取得するには、 GET /organizations/{org-slug}/groups 終点。

次の例では、複数のグループに管理者アクセスを許可します。

curl -X 'PUT' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/roles/admin' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "groups": [
    "GROUP-SLUG-1", "GROUP-SLUG-2"
  ]
}'

API を使用したアプリの削除

削除は最終的なものです

アプリの削除を元に戻すことはできないことに注意してください。削除すると、アプリを復元する方法はありません。

Bitrise API を使用してアプリを削除できます。唯一の必須パラメーターは、削除するアプリのアプリ スラッグです。

curl -X DELETE -H 'Authorization: ACCESS-TOKEN' 'https://api.bitrise.io/v0.1/apps/THE-APP-SLUG' 

アプリの bitrise.yml ファイルの場所を変更する

アプリの bitrise.yml 構成ファイルは、次の 2 つの場所に保存できます。

  • bitrise.io で。これは、すべてのアプリのデフォルト設定です。

  • アプリのリポジトリ内。 このようにして、構成ファイルのバージョン管理とメンテナンスを完全に制御できます。 bitrise.io のグラフィカルなワークフロー エディターを引き続き使用して構成を変更できますが、変更をリポジトリにコミットする必要があります。

API を使用して、ファイルの場所を取得および変更できます。

管理者アクセスが必要です

の場所に関連する両方のエンドポイント bitrise.yml ファイルには、アプリへの管理者レベルのアクセスが必要です。

とともに GET/apps/{app-slug}/bitrise.yml/config エンドポイントで、ファイルの場所を取得できます。ここでの場所は、エンドポイントを呼び出すと、ファイルが bitrise.io に保存されているかリポジトリに保存されているかがわかることを意味します。エンドポイントはパラメーターを使用せず、応答で次の 2 つの値のいずれかを返します。

  • "location": "bitrise.io"

  • "location": "repository"

curl -X 'GET' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/bitrise.yml/config' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN'

とともに PUT/apps/{app-slug}/bitrise.yml/config つまり、設定ファイルを bitrise.io で探すか、リポジトリで探すかを Bitrise に指示できます。このエンドポイントは、JSON オブジェクトの 2 つの値のいずれかを取ります。

  • "location": "bitrise.io" bitrise.io に設定ファイルを保存します。

  • "location": "repository" 構成ファイルをリポジトリに保存します。

構成ファイルをリポジトリにコミットします

場所が変わりますのでご注意ください repository Bitriseに検索するように指示するだけです bitrise.yml アプリのリポジトリにあるファイル。ファイルがリポジトリに存在しない場合、エンドポイントはエラーを返しませんが、Bitrise が構成ファイルを見つけられないため、ビルドを実行することはできません。

curl -X 'PUT' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/bitrise.yml/config' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "location": "bitrise.io"
}'

すべてのアプリでマシンタイプを同時に変更する

表1 あるマシンタイプから別のマシンタイプに移行するために使用されるエンドポイント

エンドポイント

関数

必要な役割

PATCH /user/{user-slug}/apps/machine_types

同じユーザーが所有するすべてのアプリで、指定したマシンタイプを別のマシンタイプに移行します。

該当なし

PATCH /organizations/{org-slug}/apps/machine_types

同じワークスペースが所有するすべてのアプリで、指定したマシンタイプを別のマシンタイプに移行します。

ワークスペース所有者


Bitrise API は 2 つのエンドポイントを提供し、1 つのエンドポイントを切り替えることができます。 マシンタイプ もう 1 つはユーザーまたはユーザーが所有するすべてのアプリ用です ワークスペース。エンドポイントは、 bitrise.yml 各アプリのファイルで、指定されたマシン タイプが出現するすべてのマシン タイプを検索し、それらを別のタイプに置き換えます。たとえば、このエンドポイントを使用するすべてのアプリで M1 Medium から M1 Large に切り替えることができます。

どちらのエンドポイントも次の 2 つのパラメータを取ります。

  • マシンから: 切り替え元のマシンのタイプ。

    to_machine: 切り替え先のマシンタイプ。

利用可能なマシンタイプのリストは次の場所にあります。 マシンタイプを構築する

エンドポイントが、 マシンから パラメータを指定しても、空の応答を含む 200 応答が返されます。 migrated_apps 物体。

デフォルトおよびワークフロー固有のスタック

エンドポイントは、デフォルト スタックとワークフロー固有のスタックの両方のマシン タイプを変更できます。

例1 ユーザーが所有するすべてのアプリを M1 Medium マシンから M1 Large マシンに移行します。
curl -X 'PATCH' \
  'https://api.bitrise.io/v0.1/user/USER-SLUG/apps/machine_types' \
  -H 'accept: application/json' \
  -H 'Authorization: PERSONAL-ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "from_machine": "g2-m1.4core",
  "to_machine": "g2-m1.8core"
}'

例2 ワークスペースが所有するすべてのアプリを M1 Max Medium マシンから M1 Max Large マシンに移行します。
curl -X 'PATCH' \
  'https://api.bitrise.io/v0.1/organizations/WORKSPACE-SLUG/apps/machine_types' \
  -H 'accept: application/json' \
  -H 'Authorization: PERSONAL-ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "from_machine": "g2-m1-max.5core",
  "to_machine": "g2-m1-max.10core"
}'

例3 無事に休息
{
  "message": "The migration was successful.",
  "migrated_apps": [
    "android-sample (8f41200-e5a5eee17)",
    "sample-swift-project (c291b04-784ca8773)",
  ]
}

アプリ通知の管理

あなたは変えられる メール通知設定 いつでも API 呼び出しを介してアプリの PATCH/apps/{app-slug}/update-email-notifications 終点。エンドポイントは次の 2 つのパラメーターを取ります。

  • on_failure: 失敗したビルドの電子メール通知設定。

  • on_success: ビルド成功時のメール通知設定。

両方のパラメーターは、次の 3 つの可能な値を取ります。

  • always: 常に通知を送信します。失敗したビルドのデフォルト値。

  • never : 通知を送信しません。

  • change: 次の場合にのみ通知を送信します。 ビルドステータス 同じブランチの以前のビルドと比較した変更。成功したビルドのデフォルト値。

たとえば、前回のビルドが成功した場合にのみ失敗したビルドの通知を受け取りたい場合は、次の値を設定する必要があります。 on_failure パラメータへ change (例の APP-SLUG をアプリのスラッグに置き換え、ACCESS-TOKEN を 個人アクセストークン):

curl -X 'PATCH' \
  'https://api.bitrise.io/v0.1/apps/APP-SLUG/update-email-notifications' \
  -H 'accept: application/json' \
  -H 'Authorization: ACCESS-TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "on_failure": "change",
}'