汎用ファイルストレージ内のファイルの管理

概要

Bitriseの汎用ファイルストレージにプロジェクトファイルをアップロード、削除、更新、および一覧表示できます。 APIまたはワークフローエディターのいずれかを介してファイルにアクセスできます。

内のプロジェクトファイルをアップロード、削除、更新、および一覧表示できます。 GENERIC FILE STORAGE Bitriseのセクション。

表1 汎用ファイルストレージに関連するエンドポイント

エンドポイント

関数

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

POST / apps / {app-slug} / generic-project-files

汎用プロジェクトファイルを作成する

所有者または管理者

POST / apps / {app-slug} / generic-project-files / {generic-project-file-slug} / uploaded

アップロードプロセスを確認します

所有者または管理者

PATCH / apps / {app-slug} / generic-project-files / {generic-project-file-slug}

アップロードされたプロジェクトファイルを更新します

所有者または管理者

GET / apps / {app-slug} / generic-project-files

アップロードされたプロジェクトファイルのリストを取得します

所有者または管理者

GET / apps / {app-slug} / generic-project-files / {generic-project-file-slug}

特定のプロジェクトファイルのデータを取得する

所有者または管理者

DELETE / apps / {app-slug} / generic-project-files / {generic-project-file-slug}

アップロードしたプロジェクトファイルを削除する

所有者または管理者


ファイルの作成と汎用ファイルストレージへのアップロード

必要な役割

Bitrise APIを使用して汎用ファイルストレージ内のファイルを管理するには、アプリのチームで管理者または所有者の役割の役割が必要です。

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

アプリケーションに新しいファイルを追加して、に保存することができます GENERIC FILE STORAGE のセクション Code Signing タブ。関連するAPIエンドポイントを呼び出すと、ファイルをにアップロードするために使用する新しい一時的な署名済みアップロードURLが作成されます。 GENERIC FILE STORAGE。 (この事前署名されたURLには期限があり、10分後に期限切れになることに注意してください。)

次のことを行う必要があります。

  1. のPOSTメソッドを呼び出します generic-project-files 終点。

    この呼び出しにより、事前に署名された一時的なアップロードURLが作成されます。必要なパラメーターは次のとおりです。

    • ナメクジ:Bitriseアプリのアプリスラッグ。 Bitriseでアプリを開き、メインページのURLからコピーするか、 GET /apps エンドポイントとリスト内のアプリの検索。

    • upload_file_name:ファイル拡張子を含むファイルの名前。例えば、 MyFile.txt。ファイルは、コマンドが実行されるのと同じフォルダーにある必要があります。

    • upload_file_size:ファイルのサイズ(バイト単位)。 macOSでは、を実行してファイルサイズを取得できます stat -f%z <filename> 指図。

    • user_env_key:ユーザーのenvキーに任意の名前を追加できます。

  2. 事前に署名されたアップロードURLを使用してファイルをAWSにアップロードします。

  3. ファイルのアップロードを確認します。

    これにより、 processed フラグを立てる true これは、ファイルがBitriseで利用できるようになったことを意味します。このフラグは後で変更することはできません。

例1 ファイルの作成とアップロード

一時的な事前署名されたアップロードURLの作成:

                        curl -X POST "https://api.bitrise.io/v0.1/apps/583806e34b4ff0ff/generic-project-files" -H "accept: application/json" -H "Authorization: 0FgS4dsnxG9sYWp3xh9aLkbUz7BC01ZYJRj3RuhDWssadW7NuqbMhobvIWzk76dxrj6md4AXK16pfwj-i6A-uA" -H "Content-Type: application/json" -d "{ \"upload_file_name\": \"Test-File\", \"upload_file_size\": 4865, \"user_env_key\": \"Test-File\"}"

応答:

{
  "data": {
    "upload_file_name": "Test-File",
    "upload_file_size": 4865,
    "slug": "01D7F228E7N8Q8WQJKJM8FV3XM",
    "processed": false,
    "is_expose": true,
    "is_protected": false,
    "upload_url": "https://concrete-userfiles-production.s3.us-west-2.amazonaws.com/project_file_storage_documents/uploads/24043/original/Test-File?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAIV2YZWMVCNWNR2HA%2F20190402%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190402T125827Z&X-Amz-Expires=600&X-Amz-SignedHeaders=content-length%3Bhost&X-Amz-Signature=e1557901d5a07b1b3578d9ffdf84a9b0188b742bfff9c8175a3e87f12c7e2c4e",
    "user_env_key": "Test-File",
    "exposed_meta_datastore": null
  }
}

ファイルをAWSにアップロードする:

                        curl -T Test-File.md "https://concrete-userfiles-production.s3.us-west-2.amazonaws.com/project_file_storage_documents/uploads/24043/original/Test-File?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAIV2YZWMVCNWNR2HA%2F20190402%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190402T125827Z&X-Amz-Expires=600&X-Amz-SignedHeaders=content-length%3Bhost&X-Amz-Signature=e1557901d5a07b1b3578d9ffdf84a9b0188b742bfff9c8175a3e87f12c7e2c4e"

ファイルのアップロードの確認:

curl -X POST -H 'Authorization: THE-ACCESS-TOKEN' 'https://api.bitrise.io/v0.1/apps/APP-SLUG/generic-project-files/GENERIC-PROJECT-FILES-SLUG/uploaded'

応答:

{
  "data": {
    "upload_file_name": "Test-File",
    "upload_file_size": 4865,
    "slug": "01D7F228E7N8Q8WQJKJM8FV3XM",
    "processed": true,
    "is_expose": true,
    "is_protected": false,
    "user_env_key": "Test-File",
    "exposed_meta_datastore": null
  }
}

アップロードしたファイルを更新する

必要な役割

Bitrise APIを使用して汎用ファイルストレージ内のファイルを管理するには、アプリのチームで管理者または所有者の役割の役割が必要です。

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

を使用して、アップロードされたファイルにマイナーアップデートを実行できます。 PATCH の方法 generic-project-files 終点。ファイルをにアップロードした場合 ビットライズ、の変化を視覚的に確認できます 汎用ファイルストレージ

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

  • アプリスラッグ

  • 一般的なプロジェクトファイルスラッグ

  • 変更する一般的なプロジェクトファイルの属性

たとえば、アップロードされたファイルを保護するために、 is_protected ファイルのフラグを true

curl -X PATCH -H 'Authorization: THE-ACCESS-TOKEN' 'https://api.bitrise.io/v0.1/apps/APP-SLUG/generic-project-file/GENERIC-PROJECT-FILE-SLUG -d '{"is_protected":true}'

属性を設定するときは注意してください

あなたは設定することができます is_protectedis_exposedprocessed アップロードしたファイルの属性:

  • 一度 is_protected フラグはに設定されます true, もう変更することはできません。

  • の値が is_protected 本当なら、 is_expose フラグを別の値に設定することはできません。

  • 一度 processed フラグがtrueに設定されると、その値は変更できなくなります。

特定のファイルのデータを取得する

必要な役割

Bitrise APIを使用して汎用ファイルストレージ内のファイルを管理するには、アプリのチームで管理者または所有者の役割の役割が必要です。

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

のGETメソッドを使用して、汎用ファイルストレージから特定のファイルのデータを取得します。 generic-project-files 終点。返されるデータには、特に、ファイルの名前、サイズ、ダウンロードURL、および現在のステータスが含まれます。

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

  • アプリスラッグ

  • 一般的なプロジェクトファイルスラッグ

例1 ファイルの取得

リクエスト:

 curl -X GET -H  'Authorization: THE-ACCESS-TOKEN' 'https://api.bitrise.io/v0.1/apps/APP-SLUG/generic-project-files/GENERIC-PROJECT-FILE-SLUG'

応答:

{
  "data": {
    "upload_file_name": "Test-File",
    "upload_file_size": 4865,
    "slug": "01D7F228E7N8Q8WQJKJM8FV3XM",
    "processed": true,
    "is_expose": true,
    "is_protected": false,
    "download_url": "https://concrete-userfiles-production.s3.us-west-2.amazonaws.com/project_file_storage_documents/uploads/24043/original/Test-File?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAIV2YZWMVCNWNR2HA%2F20190402%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190402T132712Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Signature=241be52184b63867262360743931c546c166a99719787ce417e3be11bc12bbed",
    "user_env_key": "Test-File",
    "exposed_meta_datastore": null
  }
}

の可用性 download_url

注意してください download_url プロビジョニングプロファイルが is_protected 属性がfalseです。


アプリのアップロードされたファイルを一覧表示する

必要な役割

Bitrise APIを使用して汎用ファイルストレージ内のファイルを管理するには、アプリのチームで管理者または所有者の役割の役割が必要です。

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

を使用して汎用ファイルストレージにアップロードされたアプリのファイルのリストを取得します GET 方法。注意してください ファイルの最大数は50です

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

  • アプリスラッグ

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

  • 次へ:応答の最初のファイルのスラッグ(文字列として)

  • 制限:ページあたりの要素の最大数(整数として)

例1 アプリの一覧表示

リクエスト:

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

応答:


{
  "data": [
    {
      "upload_file_name": "realmtasks.jks",
      "upload_file_size": 2068,
      "slug": "a37f6a0ff582f4ea",
      "processed": true,
      "is_expose": true,
      "is_protected": false,
      "user_env_key": "ANDROID_KEYSTORE",
      "exposed_meta_datastore": null
    },
    {
      "upload_file_name": "Test-File",
      "upload_file_size": 4865,
      "slug": "01D7F228E7N8Q8WQJKJM8FV3XM",
      "processed": true,
      "is_expose": true,
      "is_protected": false,
      "user_env_key": "Test-File",
      "exposed_meta_datastore": null
    }
  ],
  "paging": {
    "total_item_count": 2,
    "page_item_limit": 50
  }
}

ご覧のとおり、応答例には、アプリに固有のファイルのリストが表示されます。にアップロードされたファイル ANDROID KEYSTORE SECTION とに GENERIC FILE STORAGE 両方が表示されます。これは、Androidキーストアファイルが特定の汎用プロジェクトファイルであるが、汎用プロジェクトファイルとは別のUIフィールドで表されるためです。

汎用ファイルストレージからのファイルの削除

アップロードしたファイルは、を使用して汎用ファイルストレージから削除できます。 DELETE 方法。

必要な役割

Bitrise APIを使用して汎用ファイルストレージ内のファイルを管理するには、アプリのチームで管理者または所有者の役割の役割が必要です。

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

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

  • アプリスラッグ

  • 一般的なプロジェクトファイルスラッグ

curl -X DELETE “https://api.bitrise.io/v0.1/apps/{app-slug}/generic-project-files/{generic-project-file-slug}” -H “Authorization:{Authorization-token}”