Red Hat Quay API ガイド
はじめに
Red Hat Quay アプリケーションプログラミングインターフェイス (API) は、Red Hat Quay 機能を追加、表示、変更、および削除するための一連のエンドポイントで設定される OAuth 2 RESTful API です。
Red Hat Quay は Semantic Versioning (SemVer) 仕様 に準拠しています。次の条件は、メジャー、マイナー、およびパッチリリースごとに満たされます。
- Red Hat Quay のメジャーバージョンには、互換性のない API の変更が含まれている場合があります。たとえば、Red Hat Quay 2.0 の API は Red Hat Quay 3.0 とは異なります。
- Red Hat Quay のマイナーバージョン (3.y など) は、下位互換性のある方法で機能を追加します。
- Red Hat Quay のパッチバージョン (3.y.z など) には、下位互換性のあるバグ修正が導入されています。
現在、Red Hat Quay は 3.y.z リリースに api/v1
エンドポイントを使用しています。
このガイドでは、api/v1
エンドポイントと、それらのエンドポイントにアクセスするためのブラウザーベースの例について説明します。
第1章 Red Hat Quay API の使用
Red Hat Quay は、完全な OAuth 2 RESTful API を提供します。
- 各 Red Hat Quay インスタンスのエンドポイント (URL https://<yourquayhost>/api/v1) から利用できます。
- Swagger UI を有効にして、ブラウザー経由でエンドポイントに接続し、Red Hat Quay の設定を取得、削除、投稿、および配置できます。
- API 呼び出しを実行し、OAuth トークンを使用するアプリケーションからアクセスできます。
- JSON としてデータを送受信します。
以下のテキストは、Red Hat Quay API にアクセスし、API を使用して Red Hat Quay クラスターで設定を表示して変更する方法を説明します。次のセクションでは、API エンドポイントを一覧表示し、説明します。
1.1. Quay.io からの Quay API へのアクセス
独自の Red Hat Quay クラスターがまだ実行されていない場合に、Web ブラウザーから Quay.io で利用可能な Red Hat Quay API を確認できます。
https://docs.quay.io/api/swagger/
表示される API Explorer には Quay.io API エンドポイントが表示されます。Quay.io で有効でない Red Hat Quay 機能のスーパーユーザー API エンドポイントまたはエンドポイント (リポジトリーミラーリングなど) は表示されません。
API Explorer から、以下に関する情報を取得し、変更できます。
- 請求、サブスクリプション、およびプラン
- リポジトリービルドおよびビルドトリガー
- エラーメッセージおよびグローバルメッセージ
- リポジトリーイメージ、マニフェスト、パーミッション、通知、脆弱性、およびイメージの署名
- 使用状況に関するログ
- 組織、メンバー、および OAuth アプリケーション
- ユーザーとロボットアカウント
- その他
エンドポイントを選択して開き、エンドポイントの各部分のモデルスキーマを表示します。エンドポイントを開き、必要なパラメーター (リポジトリー名またはイメージなど) を入力し、Try it out!
ボタンを選択して Quay.io エンドポイントに関連する設定を照会するか、変更します。
1.2. OAuth アクセストークンの作成
組織の API にアクセスできるように OAuth アクセストークンを作成するには、以下を実行します。
- Red Hat Quay にログインし、組織を選択します (または新規の組織を作成します)。
- 左側のナビゲーションからアプリケーションアイコンを選択します。
- Create New Application を選択し、プロンプトが表示されたら、新規アプリケーションに名前を指定します。
- 新規アプリケーションを選択します。
- 左側のナビゲーションから Generate Token を選択します。
- チェックボックスを選択してトークンのスコープを設定し、Generate Access Token を選択します。
- 許可しているパーミッションを確認し、Authorize Application を選択してこれを承認します。
- API へのアクセスに使用する新規生成されたトークンをコピーします。
1.3. Web ブラウザーからの Quay API へのアクセス
Swagger を有効にし、Web ブラウザーを使用して独自の Red Hat Quay インスタンスの API にアクセスできます。この URL は、Red Hat Quay API を UI および以下の URL 経由で公開します。
https://<yourquayhost>/api/v1/discovery.
この方法で API にアクセスしても、Red Hat Quay インストールで利用可能なスーパーユーザーエンドポイントにはアクセスできません。以下は、swagger-ui コンテナーイメージを実行してローカルシステムで実行されている Red Hat Quay API インターフェイスにアクセスする例です。
# export SERVER_HOSTNAME=<yourhostname> # sudo podman run -p 8888:8080 -e API_URL=https://$SERVER_HOSTNAME:8443/api/v1/discovery docker.io/swaggerapi/swagger-ui
Swagger-ui コンテナーが実行された状態で、Web ブラウザーを localhost ポート 8888 で開き、swagger-ui コンテナー経由で API エンドポイントを表示します。
API calls must be invoked with an X-Requested-With header if called from a browser などのエラーを回避するには、以下の行をクラスター内の全ノードの config.yaml
に追加し、Red Hat Quay を再起動します。
BROWSER_API_CALLS_XHR_ONLY: false
1.4. コマンドラインでの Red Hat Quay API へのアクセス
curl
コマンドを使用して、Red Hat Quay クラスターの API を使用して GET、PUT、POST、または DELETE 操作を実行できます。<token>
は、以下の例の設定を取得または変更するために作成した OAuth アクセストークンに置き換えます。
1.4.1. スーパーユーザー情報の取得
$ curl -X GET -H "Authorization: Bearer <token_here>" \ "https://<yourquayhost>/api/v1/superuser/users/"
以下に例を示します。
$ curl -X GET -H "Authorization: Bearer mFCdgS7SAIoMcnTsHCGx23vcNsTgziAa4CmmHIsg" http://quay-server:8080/api/v1/superuser/users/ | jq { "users": [ { "kind": "user", "name": "quayadmin", "username": "quayadmin", "email": "quayadmin@example.com", "verified": true, "avatar": { "name": "quayadmin", "hash": "357a20e8c56e69d6f9734d23ef9517e8", "color": "#5254a3", "kind": "user" }, "super_user": true, "enabled": true } ] }
1.4.2. API を使用したスーパーユーザーの作成
Quay のデプロイで説明されているようにスーパーユーザー名を設定します。
- 設定エディター UI を使用します。または、
-
設定 API を使用して更新された設定バンドルを検証 (およびダウンロード) して、
config.yaml
ファイルを直接編集します。
スーパーユーザー名のユーザーアカウントを作成します。
上記のように承認トークンを取得し、
curl
を使用してユーザーを作成します。$ curl -H "Content-Type: application/json" -H "Authorization: Bearer Fava2kV9C92p1eXnMawBZx9vTqVnksvwNm0ckFKZ" -X POST --data '{ "username": "quaysuper", "email": "quaysuper@example.com" }' http://quay-server:8080/api/v1/superuser/users/ | jq
返されるコンテンツには、新規ユーザーアカウント用に生成されたパスワードが含まれます。
{ "username": "quaysuper", "email": "quaysuper@example.com", "password": "EH67NB3Y6PTBED8H0HC6UVHGGGA3ODSE", "encrypted_password": "fn37AZAUQH0PTsU+vlO9lS0QxPW9A/boXL4ovZjIFtlUPrBz9i4j9UDOqMjuxQ/0HTfy38goKEpG8zYXVeQh3lOFzuOjSvKic2Vq7xdtQsU=" }
ユーザーの一覧を要求すると、quaysuper
がスーパーユーザーとして表示されます。
$ curl -X GET -H "Authorization: Bearer mFCdgS7SAIoMcnTsHCGx23vcNsTgziAa4CmmHIsg" http://quay-server:8080/api/v1/superuser/users/ | jq { "users": [ { "kind": "user", "name": "quayadmin", "username": "quayadmin", "email": "quayadmin@example.com", "verified": true, "avatar": { "name": "quayadmin", "hash": "357a20e8c56e69d6f9734d23ef9517e8", "color": "#5254a3", "kind": "user" }, "super_user": true, "enabled": true }, { "kind": "user", "name": "quaysuper", "username": "quaysuper", "email": "quaysuper@example.com", "verified": true, "avatar": { "name": "quaysuper", "hash": "c0e0f155afcef68e58a42243b153df08", "color": "#969696", "kind": "user" }, "super_user": true, "enabled": true } ] }
1.4.3. 使用ログの一覧表示
現在のシステムの使用ログを一覧表示するには、内部 API /api/v1/superuser/logs
を使用できます。結果はページネーションされます。以下の例では、20 以上のリポジトリーを作成し、複数の呼び出しを使用して結果セット全体にアクセスする方法を紹介しています。
1.4.3.1. ページネーションの例
最初の呼び出し
$ curl -X GET -k -H "Authorization: Bearer qz9NZ2Np1f55CSZ3RVOvxjeUdkzYuCp0pKggABCD" https://example-registry-quay-quay-enterprise.apps.example.com/api/v1/superuser/logs | jq
初期出力
{ "start_time": "Sun, 12 Dec 2021 11:41:55 -0000", "end_time": "Tue, 14 Dec 2021 11:41:55 -0000", "logs": [ { "kind": "create_repo", "metadata": { "repo": "t21", "namespace": "namespace1" }, "ip": "10.131.0.13", "datetime": "Mon, 13 Dec 2021 11:41:16 -0000", "performer": { "kind": "user", "name": "user1", "is_robot": false, "avatar": { "name": "user1", "hash": "5d40b245471708144de9760f2f18113d75aa2488ec82e12435b9de34a6565f73", "color": "#ad494a", "kind": "user" } }, "namespace": { "kind": "org", "name": "namespace1", "avatar": { "name": "namespace1", "hash": "6cf18b5c19217bfc6df0e7d788746ff7e8201a68cba333fca0437e42379b984f", "color": "#e377c2", "kind": "org" } } }, { "kind": "create_repo", "metadata": { "repo": "t20", "namespace": "namespace1" }, "ip": "10.131.0.13", "datetime": "Mon, 13 Dec 2021 11:41:05 -0000", "performer": { "kind": "user", "name": "user1", "is_robot": false, "avatar": { "name": "user1", "hash": "5d40b245471708144de9760f2f18113d75aa2488ec82e12435b9de34a6565f73", "color": "#ad494a", "kind": "user" } }, "namespace": { "kind": "org", "name": "namespace1", "avatar": { "name": "namespace1", "hash": "6cf18b5c19217bfc6df0e7d788746ff7e8201a68cba333fca0437e42379b984f", "color": "#e377c2", "kind": "org" } } }, ... { "kind": "create_repo", "metadata": { "repo": "t2", "namespace": "namespace1" }, "ip": "10.131.0.13", "datetime": "Mon, 13 Dec 2021 11:25:17 -0000", "performer": { "kind": "user", "name": "user1", "is_robot": false, "avatar": { "name": "user1", "hash": "5d40b245471708144de9760f2f18113d75aa2488ec82e12435b9de34a6565f73", "color": "#ad494a", "kind": "user" } }, "namespace": { "kind": "org", "name": "namespace1", "avatar": { "name": "namespace1", "hash": "6cf18b5c19217bfc6df0e7d788746ff7e8201a68cba333fca0437e42379b984f", "color": "#e377c2", "kind": "org" } } } ], "next_page": "gAAAAABhtzGDsH38x7pjWhD8MJq1_2FAgqUw2X9S2LoCLNPH65QJqB4XAU2qAxYb6QqtlcWj9eI6DUiMN_q3e3I0agCvB2VPQ8rY75WeaiUzM3rQlMc4i6ElR78t8oUxVfNp1RMPIRQYYZyXP9h6E8LZZhqTMs0S-SedaQJ3kVFtkxZqJwHVjgt23Ts2DonVoYwtKgI3bCC5" }
next_page を使用した 2 回目の呼び出し
$ curl -X GET -k -H "Authorization: Bearer qz9NZ2Np1f55CSZ3RVOvxjeUdkzYuCp0pKggABCD" https://example-registry-quay-quay-enterprise.apps.example.com/api/v1/superuser/logs?next_page=gAAAAABhtzGDsH38x7pjWhD8MJq1_2FAgqUw2X9S2LoCLNPH65QJqB4XAU2qAxYb6QqtlcWj9eI6DUiMN_q3e3I0agCvB2VPQ8rY75WeaiUzM3rQlMc4i6ElR78t8oUxVfNp1RMPIRQYYZyXP9h6E8LZZhqTMs0S-SedaQJ3kVFtkxZqJwHVjgt23Ts2DonVoYwtKgI3bCC5 | jq
2 回目の呼び出しからの出力
{ "start_time": "Sun, 12 Dec 2021 11:42:46 -0000", "end_time": "Tue, 14 Dec 2021 11:42:46 -0000", "logs": [ { "kind": "create_repo", "metadata": { "repo": "t1", "namespace": "namespace1" }, "ip": "10.131.0.13", "datetime": "Mon, 13 Dec 2021 11:25:07 -0000", "performer": { "kind": "user", "name": "user1", "is_robot": false, "avatar": { "name": "user1", "hash": "5d40b245471708144de9760f2f18113d75aa2488ec82e12435b9de34a6565f73", "color": "#ad494a", "kind": "user" } }, "namespace": { "kind": "org", "name": "namespace1", "avatar": { "name": "namespace1", "hash": "6cf18b5c19217bfc6df0e7d788746ff7e8201a68cba333fca0437e42379b984f", "color": "#e377c2", "kind": "org" } } }, ... ] }
1.4.4. ディレクトリーの同期
LDAP の対応するグループ名が ldapgroup
となる testadminorg
組織の newteam
チームのディレクトリーの同期を有効にするには、以下を実行します。
$ curl -X POST -H "Authorization: Bearer 9rJYBR3v3pXcj5XqIA2XX6Thkwk4gld4TCYLLWDF" \ -H "Content-type: application/json" \ -d '{"group_dn": "cn=ldapgroup,ou=Users"}' \ http://quay1-server:8080/api/v1/organization/testadminorg/team/newteam/syncing
同じチームの同期を無効にするには、以下を実行します。
$ curl -X DELETE -H "Authorization: Bearer 9rJYBR3v3pXcj5XqIA2XX6Thkwk4gld4TCYLLWDF" \ http://quay1-server:8080/api/v1/organization/testadminorg/team/newteam/syncing
1.4.5. API を使用したリポジトリービルドの作成
指定の入力からリポジトリーをビルドし、ビルドにカスタムタグを付けるには、requestRepoBuild エンドポイントを使用できます。以下のデータを使用できます。
{ "docker_tags": [ "string" ], "pull_robot": "string", "subdirectory": "string", "archive_url": "string" }
archive_url
パラメーターは、Dockerfile とビルドに必要な他のファイルが含まれる tar
または zip
アーカイブを参照する必要があります。file_id
パラメーターは、以前のビルドシステムに含まれていましたが、これは今後使用できません。Dockerfile がサブディレクトリーにある場合は、これも指定する必要があります。
アーカイブは一般に公開されている必要があります。組織の管理者のみがロボットのアカウントトークンにアクセスできるため、OAuth アプリには Administer Organization スコープが必要です。そうしないと、誰かがロボットに対するビルドアクセスを割り当てるだけで、ロボットパーミッションを取得し、そのパーミッションを使用してイメージコンテンツを取得できるようになります。エラーが発生した場合は、返される json ブロックを確認し、アーカイブの場所、プルロボット、およびその他のパラメーターが正しく指定されていることを確認します。個別のビルドページの右上にある Download logs をクリックし、詳細なメッセージがないかログを確認します。
1.4.6. 組織のロボットの作成
$ curl -X PUT https://quay.io/api/v1/organization/{orgname}/robots/{robot shortname} \ -H 'Authorization: Bearer <token>''
1.4.7. ビルドのトリガー
$ curl -X POST https://quay.io/api/v1/repository/YOURORGNAME/YOURREPONAME/build/ \ -H 'Authorization: Bearer <token>'
要求のある Python
import requests r = requests.post('https://quay.io/api/v1/repository/example/example/image', headers={'content-type': 'application/json', 'Authorization': 'Bearer <redacted>'}, data={[<request-body-contents>}) print(r.text)
1.4.8. プライベートリポジトリーの作成
$ curl -X POST https://quay.io/api/v1/repository \ -H 'Authorization: Bearer {token}' \ -H 'Content-Type: application/json' \ -d '{"namespace":"yournamespace", "repository":"yourreponame", "description":"descriptionofyourrepo", "visibility": "private"}' | jq
1.4.9. ミラーリングされたリポジトリーの作成
最小設定
curl -X POST -H "Authorization: Bearer ${bearer_token}" -H "Content-Type: application/json" --data '{"external_reference": "quay.io/minio/mc", "external_registry_username": "", "sync_interval": 600, "sync_start_date": "2021-08-06T11:11:39Z", "root_rule": {"rule_kind": "tag_glob_csv", "rule_value": [ "latest" ]}, "robot_username": "orga+robot"}' https://${quay_registry}/api/v1/repository/${orga}/${repo}/mirror | jq
拡張設定
$ curl -X POST -H "Authorization: Bearer ${bearer_token}" -H "Content-Type: application/json" --data '{"is_enabled": true, "external_reference": "quay.io/minio/mc", "external_registry_username": "username", "external_registry_password": "password", "external_registry_config": {"unsigned_images":true, "verify_tls": false, "proxy": {"http_proxy": "http://proxy.tld", "https_proxy": "https://proxy.tld", "no_proxy": "domain"}}, "sync_interval": 600, "sync_start_date": "2021-08-06T11:11:39Z", "root_rule": {"rule_kind": "tag_glob_csv", "rule_value": [ "*" ]}, "robot_username": "orga+robot"}' https://${quay_registry}/api/v1/repository/${orga}/${repo}/mirror | jq
第2章 Red Hat Quay アプリケーションプログラミングインターフェイス (API)
この API を使用すると、Red Hat Quay リポジトリー、ユーザー、および組織の使用に必要な多くの操作を実行できます。
2.1. 承認
oauth2_implicit
スコープ
以下のスコープは、API エンドポイントへのアクセスを制御するのに使用されます。
スコープ | 説明 |
---|---|
repo:read | このアプリケーションは、付与ユーザーまたはロボットアカウントに表示されるすべてのリポジトリーを表示し、プルできます。 |
repo:write | このアプリケーションは、付与ユーザーまたはロボットアカウントに書き込みのアクセス権が割り当てられているリポジトリーをすべて表示、プッシュ、およびプルできます。 |
repo:admin | このアプリケーションには、付与ユーザーまたはロボットアカウントがアクセスできるすべてのリポジトリーに管理者権限が割り当てられます。 |
repo:create | このアプリケーションは、付与ユーザーまたはロボットアカウントがリポジトリーを作成できる namespace にリポジトリーを作成できます。 |
user:read | このアプリケーションは、ユーザー名やメールアドレスなどのユーザー情報を読み取ることができます。 |
org:admin | このアプリケーションは、ロボットの作成、チームの作成、チームのメンバーシップの調整、請求設定の変更など、組織の管理を行うことができます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
super:user | このアプリケーションは、ユーザーの管理、スーパーユーザーパネルにある組織およびその他の機能の管理など、インストールを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
user:admin | このアプリケーションは、ロボットの作成、リポジトリーへのパーミッションを付与するなど、アカウントを管理できます。このパーミッションを付与する前に、要求元アプリケーションに絶対の信頼が必要です。 |
2.2. appspecifictokens
現在のユーザーのアプリケーション固有のトークンを管理します。
2.2.1. createAppToken
ユーザー向けに新規アプリケーション固有のトークンを作成します。
POST /api/v1/user/apptoken
承認: oauth2_implicit(user:admin)
要求の body スキーマ (application/json)
新しいトークンの説明。
名前 | 説明 | スキーマ |
---|---|---|
friendlyName | トークンの特定に役立つ分かりやすい名前 | string |
レスポンス
2.2.2. listAppTokens
ユーザーのアプリケーション固有のトークンを一覧表示します。
GET /api/v1/user/apptoken
承認: oauth2_implicit(user:admin)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
expiring | true の場合には、まもなく有効期限が切れるトークンのみを返します。 | boolean |
応答
2.2.3. getAppToken
ユーザーの特定のアプリケーショントークンを返します。
GET /api/v1/user/apptoken/{token_uuid}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
token_uuid | アプリケーション固有のトークンの uuid | string |
レスポンス
2.2.4. revokeAppToken
ユーザーの特定のアプリケーショントークンを取り消します。
DELETE /api/v1/user/apptoken/{token_uuid}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
token_uuid | アプリケーション固有のトークンの uuid | string |
レスポンス
2.3. build
リポジトリービルドの作成、一覧表示、キャンセル、およびステータス/ログの取得
2.3.1. getRepoBuildStatus
ビルドの uuid で指定したビルドのステータスを返します。
GET /api/v1/repository/{repository}/build/{build_uuid}/status
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
build_uuid | ビルドの UUID | string |
レスポンス
2.3.2. getRepoBuildLogs
ビルド uuid で指定したビルドのビルドログを返します。
GET /api/v1/repository/{repository}/build/{build_uuid}/logs
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
build_uuid | ビルドの UUID | string |
レスポンス
2.3.3. getRepoBuild
ビルドに関する情報を返します。
GET /api/v1/repository/{repository}/build/{build_uuid}
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
build_uuid | ビルドの UUID | string |
レスポンス
2.3.4. cancelRepoBuild
リポジトリービルドをキャンセルします。
DELETE /api/v1/repository/{repository}/build/{build_uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
build_uuid | ビルドの UUID | string |
レスポンス
2.3.5. requestRepoBuild
指定の入力からリポジトリーをビルドし、プッシュすることを要求します。
POST /api/v1/repository/{repository}/build/
承認: oauth2_implicit (repo:write)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
新規リポジトリービルドの説明。
名前 | 説明 | スキーマ |
---|---|---|
file_id | ビルド仕様のアップロード時に生成されたファイル ID | string |
archive_url | ビルドする .tar.gz の URL。http または https で開始する必要があります。 | string |
subdirectory | Dockerfile があるサブディレクトリー。このサブディレクトリーまたは dockerfile_path のみを指定できます。 | string |
dockerfile_path | docker ファイルへのパス。このパスまたはサブディレクトリーのみを指定できます。 | string |
context | dockerfile のコンテキストを指定します。これは任意です。 | string |
pull_robot | プル認証情報として使用する Quay ロボットアカウントのユーザー名 | string |
docker_tags | ビルドイメージがプッシュされるタグ。指定のない場合は、latest が使用されます。 |
string の配列 |
レスポンス
2.3.6. getRepoBuilds
リポジトリービルドの一覧を取得します。
GET /api/v1/repository/{repository}/build/
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
since | 指定の unix タイムコード以降の全ビルドを返します。 | integer |
query |
limit | 返すビルドの最大数 | integer |
応答
2.4. discovery
API 検出情報。
2.4.1. discovery
Swagger API 形式で利用可能なすべての API エンドポイントを一覧表示します。
GET /api/v1/discovery
承認:
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
internal | 内部 API を含めるかどうか。 | boolean |
応答
2.5. error
エラー詳細 API。
2.5.1. getErrorDescription
エラーの詳細情報を取得します。
GET /api/v1/error/{error_type}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
error_type | エラーのタイプを特定するエラーコード。 | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.6. globalmessages
メッセージ API。
2.6.1. createGlobalMessage
メッセージを作成します。
POST /api/v1/messages
承認: oauth2_implicit(super:user)
要求の body スキーマ (application/json)
新規メッセージの作成
名前 | 説明 | スキーマ |
---|---|---|
message | 単一メッセージ | object |
応答
2.6.2. getGlobalMessages
スーパーユーザーのメッセージを返します。
GET /api/v1/messages
承認:
応答
2.6.3. deleteGlobalMessage
メッセージを削除します。
DELETE /api/v1/message/{uuid}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
uuid | string |
レスポンス
2.7. logs
組織またはリポジトリーの使用状況ログにアクセスします。
2.7.1. getAggregateUserLogs
現在のユーザーの集計ログを返します。
GET /api/v1/user/aggregatelogs
承認: oauth2_implicit(user:admin)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
performer | ログをフィルターするユーザー名。 | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
2.7.2. exportUserLogs
現在のユーザーの集計ログを返します。
POST /api/v1/user/exportlogs
承認: oauth2_implicit(user:admin)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
要求の body スキーマ (application/json)
エクスポートログ操作の設定
名前 | 説明 | スキーマ |
---|---|---|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
2.7.3. listUserLogs
現在のユーザーのログを一覧表示します。
GET /api/v1/user/logs
承認: oauth2_implicit(user:admin)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
performer | ログをフィルターするユーザー名。 | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
2.7.4. getAggregateOrgLogs
指定した組織の集計ログを取得します。
GET /api/v1/organization/{orgname}/aggregatelogs
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
performer | ログをフィルターするユーザー名。 | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
2.7.5. exportOrgLogs
指定した組織のログをエクスポートします。
POST /api/v1/organization/{orgname}/exportlogs
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
要求の body スキーマ (application/json)
エクスポートログ操作の設定
名前 | 説明 | スキーマ |
---|---|---|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
2.7.6. listOrgLogs
指定した組織のログを一覧表示します。
GET /api/v1/organization/{orgname}/logs
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
performer | ログをフィルターするユーザー名。 | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
2.7.7. getAggregateRepoLogs
指定したリポジトリーの集計ログを返します。
GET /api/v1/repository/{repository}/aggregatelogs
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
2.7.8. exportRepoLogs
指定したリポジトリーのログのエクスポートをキューに入れます。
POST /api/v1/repository/{repository}/exportlogs
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
要求の body スキーマ (application/json)
エクスポートログ操作の設定
名前 | 説明 | スキーマ |
---|---|---|
callback_url | エクスポートされたログに対するリンクで呼び出すコールバック URL | string |
callback_email | エクスポートされたログに対するリンクをメールで送信するメールアドレス | string |
レスポンス
2.7.9. listRepoLogs
指定したリポジトリーのログを一覧表示します。
GET /api/v1/repository/{repository}/logs
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
endtime | ログの最新時間。形式: "%m/%d/%Y"(UTC) | string |
query |
starttime | ログの最初の時間。形式: "%m/%d/%Y"(UTC) | string |
レスポンス
2.8. manifest
リポジトリーのマニフェストを管理します。
2.8.1. getManifestLabel
マニフェストで特定の ID のラベルを取得します。
GET /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
path |
labelid | ラベルの ID | string |
レスポンス
2.8.2. deleteManifestLabel
マニフェストから既存のラベルを削除します。
DELETE /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}
承認: oauth2_implicit (repo:write)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
path |
labelid | ラベルの ID | string |
レスポンス
2.8.3. addManifestLabel
タグマニフェストに新規ラベルを追加します。
POST /api/v1/repository/{repository}/manifest/{manifestref}/labels
承認: oauth2_implicit (repo:write)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
要求の body スキーマ (application/json)
マニフェストにラベルを追加します。
名前 | 説明 | スキーマ |
---|---|---|
key | ラベルのキー | string |
value | ラベルの値 | string |
media_type | このラベルのメディアタイプ |
応答
2.8.4. listManifestLabels
GET /api/v1/repository/{repository}/manifest/{manifestref}/labels
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
filter | これが指定されている場合には、指定の接頭辞に一致するラベルのみが返されます。 | string |
レスポンス
2.8.5. getRepoManifest
GET /api/v1/repository/{repository}/manifest/{manifestref}
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
レスポンス
2.9. mirror
2.9.1. syncCancel
指定したリポジトリーのミラーリング設定の sync_status を更新します。
POST /api/v1/repository/{repository}/mirror/sync-cancel
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.9.2. syncNow
指定したリポジトリーのミラーリング設定の sync_status を更新します。
POST /api/v1/repository/{repository}/mirror/sync-now
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.9.3. getRepoMirrorConfig
指定したリポジトリーのミラーリング設定を返します。
GET /api/v1/repository/{repository}/mirror
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
HTTP コード | 説明 | スキーマ |
---|---|---|
200 | 正常な呼び出し | |
400 | Bad Request (不適切な要求) | |
401 | セッションが必要 | |
403 | 不正アクセス | |
404 | 結果が見つからない |
2.9.4. changeRepoMirrorConfig
ユーザーがリポジトリーのミラーリング設定を変更できるようにします。
PUT /api/v1/repository/{repository}/mirror
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーミラーリング設定を更新します。
名前 | 説明 | スキーマ |
---|---|---|
is_enabled | 同期を有効または無効にするために使用されます。 | boolean |
external_reference | 外部リポジトリーの場所。 | string |
external_registry_username | 外部レジストリーでの認証に使用されるユーザー名。 | |
external_registry_password | 外部レジストリーでの認証に使用されるパスワード。 | |
sync_start_date | このリポジトリーの次の同期時間を決定します。 | string |
sync_interval | next_start_date が同期を開始するまでの秒数。 | integer |
robot_username | イメージのプッシュに使用されるロボットのユーザー名。 | string |
root_rule | 同期する必要のあるタグの判別に使用する glob パターンの一覧。 | object |
external_registry_config | object |
応答
2.9.5. createRepoMirrorConfig
特定のリポジトリーの RepoMirrorConfig を作成します。
POST /api/v1/repository/{repository}/mirror
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーのミラーリング設定を作成します。
名前 | 説明 | スキーマ |
---|---|---|
is_enabled | 同期を有効または無効にするために使用されます。 | boolean |
external_reference | 外部リポジトリーの場所。 | string |
external_registry_username | 外部レジストリーでの認証に使用されるユーザー名。 | |
external_registry_password | 外部レジストリーでの認証に使用されるパスワード。 | |
sync_start_date | このリポジトリーの次の同期時間を決定します。 | string |
sync_interval | next_start_date が同期を開始するまでの秒数。 | integer |
robot_username | イメージのプッシュに使用されるロボットのユーザー名。 | string |
root_rule | 同期する必要のあるタグの判別に使用する glob パターンの一覧。 | object |
external_registry_config | object |
応答
2.10. namespacequota
2.10.1. listUserQuota
GET /api/v1/user/quota
承認: oauth2_implicit(user:admin)
応答
2.10.2. getOrganizationQuotaLimit
GET /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
limit_id | string | |
path |
orgname | string |
レスポンス
2.10.3. changeOrganizationQuotaLimit
PUT /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
limit_id | string | |
path |
orgname | string |
要求の body スキーマ (application/json)
変更する組織のクォータ制限の説明
名前 | 説明 | スキーマ |
---|---|---|
type | 割り当て制限のタイプ: 警告または拒否 | string |
threshold_percent | クォータのしきい値 (クォータのパーセント単位) | integer |
応答
2.10.4. deleteOrganizationQuotaLimit
DELETE /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
limit_id | string | |
path |
orgname | string |
レスポンス
2.10.5. createOrganizationQuotaLimit
POST /api/v1/organization/{orgname}/quota/{quota_id}/limit
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織のクォータ制限の説明
名前 | 説明 | スキーマ |
---|---|---|
type | 割り当て制限のタイプ: 警告または拒否 | string |
threshold_percent | クォータのしきい値 (クォータのパーセント単位) | integer |
応答
2.10.6. listOrganizationQuotaLimit
GET /api/v1/organization/{orgname}/quota/{quota_id}/limit
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
レスポンス
2.10.7. getUserQuotaLimit
GET /api/v1/user/quota/{quota_id}/limit/{limit_id}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
limit_id | string |
レスポンス
2.10.8. listUserQuotaLimit
GET /api/v1/user/quota/{quota_id}/limit
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string |
レスポンス
2.10.9. getOrganizationQuota
GET /api/v1/organization/{orgname}/quota/{quota_id}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
レスポンス
2.10.10. changeOrganizationQuota
PUT /api/v1/organization/{orgname}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
応答
2.10.11. deleteOrganizationQuota
DELETE /api/v1/organization/{orgname}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string | |
path |
orgname | string |
レスポンス
2.10.12. createOrganizationQuota
新しい組織のクォータを作成します。
POST /api/v1/organization/{orgname}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
応答
2.10.13. listOrganizationQuota
GET /api/v1/organization/{orgname}/quota
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | string |
レスポンス
2.10.14. getUserQuota
GET /api/v1/user/quota/{quota_id}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
quota_id | string |
レスポンス
2.11. 組織
組織、メンバーおよび OAuth アプリケーションを管理します。
2.11.1. createOrganization
新しい組織を作成します。
POST /api/v1/organization/
承認: oauth2_implicit(user:admin)
要求の body スキーマ (application/json)
新しい組織の説明。
名前 | 説明 | スキーマ |
---|---|---|
name | 組織のユーザー名 | string |
email | 組織の連絡先メール | string |
recaptcha_response | 検証用の recaptcha 応答コード (無効となっている場合もある)。 | string |
レスポンス
2.11.2. validateProxyCacheConfig
POST /api/v1/organization/{orgname}/validateproxycache
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | string |
要求の body スキーマ (application/json)
組織のプロキシーキャッシュ設定
名前 | 説明 | スキーマ |
---|---|---|
upstream_registry | キャッシュされるアップストリームレジストリーの名前 | string |
レスポンス
2.11.3. getOrganizationCollaborators
指定した組織の外部コラボレーターを一覧表示します。
GET /api/v1/organization/{orgname}/collaborators
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
2.11.4. getOrganizationApplication
指定の組織、指定の client_id のアプリケーションを取得します。
GET /api/v1/organization/{orgname}/applications/{client_id}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
client_id | OAuth クライアント ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.11.5. updateOrganizationApplication
この組織のアプリケーションを更新します。
PUT /api/v1/organization/{orgname}/applications/{client_id}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
client_id | OAuth クライアント ID | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
更新アプリケーションの説明。
名前 | 説明 | スキーマ |
---|---|---|
name | アプリケーションの名前 | string |
redirect_uri | アプリケーションの OAuth リダイレクトの URI | string |
application_uri | アプリケーションのホームページの URI | string |
description | アプリケーションの人間が判読できる説明 | string |
avatar_email | アプリケーションに使用するアバターのメールアドレス | string |
レスポンス
2.11.6. deleteOrganizationApplication
この組織のアプリケーションを削除します。
DELETE /api/v1/organization/{orgname}/applications/{client_id}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
client_id | OAuth クライアント ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.11.7. createOrganizationApplication
この組織に新しいアプリケーションを作成します。
POST /api/v1/organization/{orgname}/applications
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しい組織アプリケーションを説明します。
名前 | 説明 | スキーマ |
---|---|---|
name | アプリケーションの名前 | string |
redirect_uri | アプリケーションの OAuth リダイレクトの URI | string |
application_uri | アプリケーションのホームページの URI | string |
description | アプリケーションの人間が判読できる説明 | string |
avatar_email | アプリケーションに使用するアバターのメールアドレス | string |
レスポンス
2.11.8. getOrganizationApplications
指定した組織のアプリケーションを一覧表示します。
GET /api/v1/organization/{orgname}/applications
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
2.11.9. getProxyCacheConfig
組織のプロキシーキャッシュ設定を取得します。
GET /api/v1/organization/{orgname}/proxycache
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
2.11.10. deleteProxyCacheConfig
組織のプロキシーキャッシュ設定を削除します。
DELETE /api/v1/organization/{orgname}/proxycache
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
2.11.11. createProxyCacheConfig
組織のプロキシーキャッシュ設定を作成します。
POST /api/v1/organization/{orgname}/proxycache
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
組織のプロキシーキャッシュ設定
名前 | 説明 | スキーマ |
---|---|---|
upstream_registry | キャッシュされるアップストリームレジストリーの名前 | string |
レスポンス
2.11.12. getOrganizationMember
組織のメンバーの詳細を取得します。
GET /api/v1/organization/{orgname}/members/{membername}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
membername | 組織メンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.11.13. removeOrganizationMember
組織からメンバーを削除し、そのリポジトリーの特権をすべて破棄して組織の全チームから削除します。
DELETE /api/v1/organization/{orgname}/members/{membername}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
membername | 組織メンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.11.14. getOrganizationMembers
指定した組織のメンバー (人間) を一覧表示します。
GET /api/v1/organization/{orgname}/members
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
2.11.15. getOrganization
指定した組織の詳細を取得します。
GET /api/v1/organization/{orgname}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
2.11.16. changeOrganizationDetails
指定した組織の詳細を変更します。
PUT /api/v1/organization/{orgname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
既存組織の更新の説明
名前 | 説明 | スキーマ |
---|---|---|
email | 組織の連絡先メール | string |
invoice_email | 組織が請求書のメールを受信する必要があるかどうか | boolean |
invoice_email_address | 請求書を受信するメールアドレス | |
tag_expiration_s | タグの有効期限 (秒) | integer |
応答
2.11.17. deleteAdminedOrganization
指定した組織を削除します。
DELETE /api/v1/organization/{orgname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
2.11.18. getApplicationInformation
指定したアプリケーションに関する情報を取得します。
GET /api/v1/app/{client_id}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
client_id | OAuth クライアント ID | string |
レスポンス
2.12. パーミッション
リポジトリーのパーミッションを管理します。
2.12.1. getUserTransitivePermission
指定したユーザーのパーミッションを取得します。
GET /api/v1/repository/{repository}/permissions/user/{username}/transitive
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.12.2. getUserPermissions
指定したユーザーのパーミッションを取得します。
GET /api/v1/repository/{repository}/permissions/user/{username}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.12.3. changeUserPermissions
既存リポジトリーのパーミッションを更新します。
PUT /api/v1/repository/{repository}/permissions/user/{username}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ユーザーパーミッションの説明。
名前 | 説明 | スキーマ |
---|---|---|
role | ユーザーに使用するロール | string |
レスポンス
2.12.4. deleteUserPermissions
ユーザーのパーミッションを削除します。
DELETE /api/v1/repository/{repository}/permissions/user/{username}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
username | パーミッションが適用されるユーザーのユーザー名 | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.12.5. getTeamPermissions
指定したチームのパーミッションをフェッチします。
GET /api/v1/repository/{repository}/permissions/team/{teamname}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
teamname | パーミッションが適用されるチームの名前 | string |
レスポンス
2.12.6. changeTeamPermissions
既存のチームパーミッションを更新します。
PUT /api/v1/repository/{repository}/permissions/team/{teamname}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
teamname | パーミッションが適用されるチームの名前 | string |
要求の body スキーマ (application/json)
チームパーミッションの説明。
名前 | 説明 | スキーマ |
---|---|---|
role | チームに使用するロール | string |
レスポンス
2.12.7. deleteTeamPermissions
指定したチームのパーミッションを削除します。
DELETE /api/v1/repository/{repository}/permissions/team/{teamname}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
teamname | パーミッションが適用されるチームの名前 | string |
レスポンス
2.12.8. listRepoTeamPermissions
すべてのチームパーミッションを一覧表示します。
GET /api/v1/repository/{repository}/permissions/team/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.12.9. listRepoUserPermissions
全ユーザーパーミッションを一覧表示します。
GET /api/v1/repository/{repository}/permissions/user/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.13. prototype
リポジトリーに追加されたデフォルトのパーミッションを管理します。
2.13.1. updateOrganizationPrototypePermission
既存のパーミッションプロトタイプのロールを更新します。
PUT /api/v1/organization/{orgname}/prototypes/{prototypeid}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
prototypeid | プロトタイプの ID | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しいプロトタイプロールの説明
名前 | 説明 | スキーマ |
---|---|---|
role | パーミッションに適用する必要のあるロール | string |
レスポンス
2.13.2. deleteOrganizationPrototypePermission
既存のパーミッションのプロトタイプを削除します。
DELETE /api/v1/organization/{orgname}/prototypes/{prototypeid}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
prototypeid | プロトタイプの ID | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.13.3. createOrganizationPrototypePermission
新規パーミッションのプロトタイプを作成します。
POST /api/v1/organization/{orgname}/prototypes
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
新しいプロトタイプの説明
名前 | 説明 | スキーマ |
---|---|---|
role | 委譲に適用する必要のあるロール | string |
activating_user | ルールが適用されるユーザーを作成するリポジトリー | object |
delegate | ルールでアクセス権を付与するユーザーまたはチームに関する情報 | object |
応答
2.13.4. getOrganizationPrototypePermissions
この組織の既存のプロトタイプを一覧表示します。
GET /api/v1/organization/{orgname}/prototypes
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
レスポンス
2.14. repository
リポジトリーを一覧表示、作成、管理します。
2.14.1. createRepo
新規リポジトリーを作成します。
POST /api/v1/repository
承認: oauth2_implicit(repo:create)
要求の body スキーマ (application/json)
新規リポジトリーの説明
名前 | 説明 | スキーマ |
---|---|---|
repository | リポジトリー名 | string |
visibility | リポジトリーの初期の表示内容 | string |
namespace | リポジトリーを作成する namespace。省略すると、呼び出し元のユーザー名が使用されます。 | string |
description | リポジトリーの Markdown でエンコードされた説明 | string |
repo_kind | リポジトリーの種類 |
応答
2.14.2. listRepos
さまざまな状況で現在のユーザーに表示されるリポジトリーの一覧を取得します。
GET /api/v1/repository
承認: oauth2_implicit(repo:read)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
repo_kind | 返すリポジトリーの種類 | string |
query |
popularity | リポジトリーの人気指標を含めるかどうか。 | boolean |
query |
last_modified | リポジトリーの最終変更時を含めるかどうか。 | boolean |
query |
public | 公開されているリポジトリーをユーザーに表示するように追加します。 | boolean |
query |
starred | ユーザーがスターをつけたリポジトリーを返すようにフィルターリングします。 | boolean |
query |
namespace | この namespace に返されたリポジトリーをフィルターします。 | string |
レスポンス
2.14.3. changeRepoVisibility
リポジトリーの可視性を変更します。
POST /api/v1/repository/{repository}/changevisibility
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーの可視性を変更します。
名前 | 説明 | スキーマ |
---|---|---|
visibility | リポジトリーの初期の表示内容 | string |
レスポンス
2.14.4. changeRepoState
リポジトリーの状態を変更します。
PUT /api/v1/repository/{repository}/changestate
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーの状態を変更します。
名前 | 説明 | スキーマ |
---|---|---|
state | プッシュが許可されるかどうかを決定します。 | string |
レスポンス
2.14.5. getRepo
指定したリポジトリーを取得します。
GET /api/v1/repository/{repository}
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includeTags | リポジトリータグを含めるかどうか | boolean |
query |
includeStats | アクション統計を含めるかどうか。 | boolean |
応答
2.14.6. updateRepo
指定したリポジトリーにある説明を更新します。
PUT /api/v1/repository/{repository}
承認: oauth2_implicit (repo:write)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーで更新できるフィールド。
名前 | 説明 | スキーマ |
---|---|---|
description | リポジトリーの Markdown でエンコードされた説明 | string |
レスポンス
2.14.7. deleteRepository
リポジトリーを削除します。
DELETE /api/v1/repository/{repository}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.15. repositorynotification
リポジトリーイベント/通知を一覧表示、作成、管理します。
2.15.1. testRepoNotification
このリポジトリーのテスト通知をキューに入れます。
POST /api/v1/repository/{repository}/notification/{uuid}/test
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
2.15.2. getRepoNotification
指定した通知の情報を取得します。
GET /api/v1/repository/{repository}/notification/{uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
2.15.3. deleteRepoNotification
指定した通知を削除します。
DELETE /api/v1/repository/{repository}/notification/{uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
2.15.4. resetRepositoryNotificationFailures
リポジトリーの失敗通知を 0 件にリセットします。
POST /api/v1/repository/{repository}/notification/{uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
uuid | 通知の UUID | string |
レスポンス
2.15.5. createRepoNotification
POST /api/v1/repository/{repository}/notification/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
リポジトリーでの通知作成に関する情報
名前 | 説明 | スキーマ |
---|---|---|
event | 通知が応答するイベント | string |
method | 通知の方法 (メールや Web コールバックなど) | string |
config | 特定の通知メソッドに関する JSON 設定情報 | object |
eventConfig | 特定の通知イベントに関する JSON 設定情報 | object |
title | 人間が判読できる通知のタイトル | string |
レスポンス
2.15.6. listRepoNotifications
指定したリポジトリーの通知を一覧表示します。
GET /api/v1/repository/{repository}/notification/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.16. repotoken
リポジトリーアクセストークンの管理 (非推奨)
2.16.1. getTokens
指定したリポジトリートークン情報を取得します。
GET /api/v1/repository/{repository}/tokens/{code}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
code | トークンコード | string |
レスポンス
2.16.2. changeToken
指定したリポジトリートークンのパーミッションを更新します。
PUT /api/v1/repository/{repository}/tokens/{code}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
code | トークンコード | string |
要求の body スキーマ (application/json)
トークンパーミッションの説明
名前 | 説明 | スキーマ |
---|---|---|
role | トークンに使用するロール | string |
レスポンス
2.16.3. deleteToken
リポジトリートークンを削除します。
DELETE /api/v1/repository/{repository}/tokens/{code}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
code | トークンコード | string |
レスポンス
2.16.4. createToken
新規リポジトリートークンを作成します。
POST /api/v1/repository/{repository}/tokens/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
新しいトークンの説明。
名前 | 説明 | スキーマ |
---|---|---|
friendlyName | トークンの特定に役立つ分かりやすい名前 | string |
レスポンス
2.16.5. listRepoTokens
指定したリポジトリーのトークンを一覧表示します。
GET /api/v1/repository/{repository}/tokens/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.17. robot
ユーザーおよび組織のロボットアカウントを管理します。
2.17.1. getUserRobots
ユーザーが利用可能なロボットを一覧表示します。
GET /api/v1/user/robots
承認: oauth2_implicit(user:admin)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
limit | これが指定されている場合には、返すべきロボットの数。 | integer |
query |
token | False の場合には、ロボットのトークンは返されません。 | boolean |
query |
permissions | ロボットのパーミッションがあるリポジトリーおよびチームを含めるかどうか。 | boolean |
応答
2.17.2. getOrgRobotPermissions
組織のロボットのリポジトリーパーミッション一覧を返します。
GET /api/v1/organization/{orgname}/robots/{robot_shortname}/permissions
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.17.3. regenerateOrgRobotToken
組織のロボットのトークンを再生成します。
POST /api/v1/organization/{orgname}/robots/{robot_shortname}/regenerate
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.17.4. getUserRobotPermissions
ユーザーのロボットのリポジトリーパーミッション一覧を返します。
GET /api/v1/user/robots/{robot_shortname}/permissions
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
2.17.5. regenerateUserRobotToken
ユーザーのロボットのトークンを再生成します。
POST /api/v1/user/robots/{robot_shortname}/regenerate
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
2.17.6. getOrgRobot
指定された名前の組織のロボットを返します。
GET /api/v1/organization/{orgname}/robots/{robot_shortname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.17.7. createOrgRobot
組織に新しいロボットを作成します。
PUT /api/v1/organization/{orgname}/robots/{robot_shortname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
ロボット作成のデータ (任意)
名前 | 説明 | スキーマ |
---|---|---|
description | ロボットのテキスト形式の説明 (任意) | string |
unstructured_metadata | ロボットの非構造化メタデータ (任意) | object |
応答
2.17.8. deleteOrgRobot
既存の組織ロボットを削除します。
DELETE /api/v1/organization/{orgname}/robots/{robot_shortname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.17.9. getOrgRobots
組織のロボットを一覧表示します。
GET /api/v1/organization/{orgname}/robots
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
orgname | 組織の名前 | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
limit | これが指定されている場合には、返すべきロボットの数。 | integer |
query |
token | False の場合には、ロボットのトークンは返されません。 | boolean |
query |
permissions | ロボットのパーミッションがあるリポジトリーおよびチームを含めるかどうか。 | boolean |
応答
2.17.10. getUserRobot
指定の名前のユーザーのロボットを返します。
GET /api/v1/user/robots/{robot_shortname}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
2.17.11. createUserRobot
指定の名前で新たなユーザーロボットを作成します。
PUT /api/v1/user/robots/{robot_shortname}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
要求の body スキーマ (application/json)
ロボット作成のデータ (任意)
名前 | 説明 | スキーマ |
---|---|---|
description | ロボットのテキスト形式の説明 (任意) | string |
unstructured_metadata | ロボットの非構造化メタデータ (任意) | object |
応答
2.17.12. deleteUserRobot
既存のロボットを削除します。
DELETE /api/v1/user/robots/{robot_shortname}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
robot_shortname | ユーザーまたは組織の接頭辞を含まない、ロボットの省略名 | string |
レスポンス
2.18. search
すべてのレジストリーコンテキストに対して検索を実行します。
2.18.1. conductRepoSearch
指定したクエリーに一致するアプリケーションおよびリポジトリーの一覧を取得します。
GET /api/v1/find/repositories
承認:
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includeUsage | 使用状況のメタデータを含めるかどうか。 | boolean |
query |
page | ページ。 | integer |
query |
query | 検索クエリー | string |
レスポンス
2.18.2. conductSearch
指定したクエリーに一致するエンティティーおよびリソースの一覧を取得します。
GET /api/v1/find/all
承認: oauth2_implicit(repo:read)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
query | 検索クエリー | string |
レスポンス
2.18.3. getMatchingEntities
指定した接頭辞に一致するエンティティーの一覧を取得します。
GET /api/v1/entities/{prefix}
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
prefix | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includeOrgs | 組織名を含めるかどうか。 | boolean |
query |
includeTeams | チーム名を含めるかどうか。 | boolean |
query |
namespace | 組織エンティティーのクエリー時に使用する namespace。 | string |
レスポンス
2.19. secscan
リポジトリーの脆弱性およびその他のセキュリティー情報を一覧表示および管理します。
2.19.1. getRepoManifestSecurity
GET /api/v1/repository/{repository}/manifest/{manifestref}/security
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
manifestref | マニフェストのダイジェスト | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
vulnerabilities | 脆弱性情報を含めます | boolean |
応答
2.20. スーパーユーザー
スーパーユーザー API。
2.20.1. createInstallUser
新しいユーザーを作成します。
POST /api/v1/superuser/users/
承認: oauth2_implicit(super:user)
要求の body スキーマ (application/json)
ユーザー作成のデータ
名前 | 説明 | スキーマ |
---|---|---|
username | 作成されるユーザーの名前 | string |
email | 作成中のユーザーのメールアドレス | string |
レスポンス
2.20.2. listAllUsers
システム内の全ユーザー一覧を返します。
GET /api/v1/superuser/users/
承認: oauth2_implicit(super:user)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
limit | ページごとに返す結果の数を制限します。最大 100 です。 | integer |
query |
disabled | false の場合には、有効なユーザーのみが返されます。 | boolean |
応答
2.20.3. listAllLogs
現在のシステムの使用状況ログを一覧表示します。
GET /api/v1/superuser/logs
承認: oauth2_implicit(super:user)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
query |
page | ログのページ番号 | integer |
query |
endtime | 最後にログを取得した時間 (%m/%d/%Y %Z) | string |
query |
starttime | 最初にログを取得する時間 (%m/%d/%Y %Z) | string |
レスポンス
2.20.4. createServiceKey
POST /api/v1/superuser/keys
承認: oauth2_implicit(super:user)
要求の body スキーマ (application/json)
サービスキーの作成の説明
名前 | 説明 | スキーマ |
---|---|---|
service | このキーで認証されるサービス | string |
name | サービスキーの判別しやすい名前 | string |
metadata | このキーのメタデータのキー/値のペア | object |
notes | 指定すると、キーにメモを追加で指定できます。 | string |
expiration | unix タイムスタンプとしての有効期限 |
応答
2.20.5. listServiceKeys
GET /api/v1/superuser/keys
承認: oauth2_implicit(super:user)
応答
2.20.6. changeUserQuotaSuperUser
PUT /api/v1/superuser/organization/{namespace}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
応答
2.20.7. deleteUserQuotaSuperUser
DELETE /api/v1/superuser/organization/{namespace}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
レスポンス
2.20.8. createUserQuotaSuperUser
POST /api/v1/superuser/organization/{namespace}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
応答
2.20.9. listUserQuotaSuperUser
GET /api/v1/superuser/organization/{namespace}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
レスポンス
2.20.10. changeOrganizationQuotaSuperUser
PUT /api/v1/superuser/users/{namespace}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
応答
2.20.11. deleteOrganizationQuotaSuperUser
DELETE /api/v1/superuser/users/{namespace}/quota/{quota_id}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string | |
path |
quota_id | string |
レスポンス
2.20.12. createOrganizationQuotaSuperUser
POST /api/v1/superuser/users/{namespace}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
要求の body スキーマ (application/json)
新しい組織の割り当ての説明
名前 | 説明 | スキーマ |
---|---|---|
limit_bytes | 組織で許可されているバイト数 | integer |
応答
2.20.13. listOrganizationQuotaSuperUser
GET /api/v1/superuser/users/{namespace}/quota
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
レスポンス
2.20.14. changeOrganization
指定したユーザーの情報を更新します。
PUT /api/v1/superuser/organizations/{name}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
name | 管理する組織の名前 | string |
要求の body スキーマ (application/json)
既存組織の更新の説明
名前 | 説明 | スキーマ |
---|---|---|
email | 組織の連絡先メール | string |
invoice_email | 組織が請求書のメールを受信する必要があるかどうか | boolean |
invoice_email_address | 請求書を受信するメールアドレス | |
tag_expiration_s | タグの有効期限 (秒) | integer |
応答
2.20.15. deleteOrganization
指定した組織を削除します。
DELETE /api/v1/superuser/organizations/{name}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
name | 管理する組織の名前 | string |
レスポンス
2.20.16. approveServiceKey
POST /api/v1/superuser/approvedkeys/{kid}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
要求の body スキーマ (application/json)
サービスキーの承認に関する情報
名前 | 説明 | スキーマ |
---|---|---|
notes | オプションの承認に関する注意事項 | string |
レスポンス
2.20.17. deleteServiceKey
DELETE /api/v1/superuser/keys/{kid}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
レスポンス
2.20.18. updateServiceKey
PUT /api/v1/superuser/keys/{kid}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
要求の body スキーマ (application/json)
サービスキーの更新の説明
名前 | 説明 | スキーマ |
---|---|---|
name | サービスキーの判別しやすい名前 | string |
metadata | このキーのメタデータのキー/値のペア | object |
expiration | unix タイムスタンプとしての有効期限 |
応答
2.20.19. getServiceKey
GET /api/v1/superuser/keys/{kid}
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
kid | サービスキーの一意識別子 | string |
レスポンス
2.20.20. getRepoBuildStatusSuperUser
ビルドの uuid で指定したビルドのステータスを返します。
GET /api/v1/superuser/{build_uuid}/status
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
build_uuid | ビルドの UUID | string |
レスポンス
2.20.21. getRepoBuildSuperUser
ビルドに関する情報を返します。
GET /api/v1/superuser/{build_uuid}/build
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
build_uuid | ビルドの UUID | string |
レスポンス
2.20.22. getRepoBuildLogsSuperUser
ビルド uuid で指定したビルドのビルドログを返します。
GET /api/v1/superuser/{build_uuid}/logs
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
build_uuid | ビルドの UUID | string |
レスポンス
2.20.23. getRegistrySize
GET /api/v1/superuser/registrysize/
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
要求の body スキーマ (application/json)
イメージレジストリーサイズの説明
名前 | 説明 | スキーマ |
---|---|---|
size_bytes* | 組織で許可されているバイト数 | integer |
last_ran | integer | |
列に並んだ | boolean | |
running | boolean |
レスポンス
2.20.24. postRegistrySize
POST /api/v1/superuser/registrysize/
承認: oauth2_implicit(super:user)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
namespace | string |
要求の body スキーマ (application/json)
イメージレジストリーサイズの説明
名前 | 説明 | スキーマ |
---|---|---|
size_bytes* | 組織で許可されているバイト数 | integer |
last_ran | integer | |
列に並んだ | boolean | |
running | boolean |
応答
2.21. tag
リポジトリーのタグを管理します。
2.21.1. restoreTag
リポジトリーの以前のイメージに、リポジトリータグを復元します。
POST /api/v1/repository/{repository}/tag/{tag}/restore
承認: oauth2_implicit (repo:write)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
tag | タグの名前 | string |
要求の body スキーマ (application/json)
タグを特定のイメージに復元します。
名前 | 説明 | スキーマ |
---|---|---|
manifest_digest | 指定されている場合には、使用する必要があるマニフェストダイジェスト。 | string |
レスポンス
2.21.2. changeTag
タグが参照するイメージを変更するか、新規タグを作成します。
PUT /api/v1/repository/{repository}/tag/{tag}
承認: oauth2_implicit (repo:write)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
tag | タグの名前 | string |
要求の body スキーマ (application/json)
特定のタグを変更します。
名前 | 説明 | スキーマ |
---|---|---|
manifest_digest | (指定されている場合) タグが参照すべきマニフェストダイジェスト | |
expiration | (指定されている場合) イメージの有効期限 |
レスポンス
2.21.3. deleteFullTag
指定したリポジトリータグを削除します。
DELETE /api/v1/repository/{repository}/tag/{tag}
承認: oauth2_implicit (repo:write)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
path |
tag | タグの名前 | string |
レスポンス
2.21.4. listRepoTags
GET /api/v1/repository/{repository}/tag/
承認: oauth2_implicit(repo:read)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
onlyActiveTags | アクティブなタグだけに絞り込みます。 | boolean |
query |
page | 結果のページインデックス。デフォルトは 1 です。 | integer |
query |
limit | ページごとに返す結果の数を制限します。最大 100 です。 | integer |
query |
filter_tag_name | 構文: <op>:<name> 操作に基づいてタグ名をフィルターします。<op> には like または eq を指定できます。 | string |
query |
specificTag | 特定のタグだけに絞り込みます。 | string |
レスポンス
2.22. team
組織のチームを作成、一覧表示、および管理します。
2.22.1. getOrganizationTeamPermissions
組織のチームのリポジトリーパーミッションの一覧を返します。
GET /api/v1/organization/{orgname}/team/{teamname}/permissions
承認:
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.22.2. updateOrganizationTeamMember
既存のチームにメンバーを追加または調整します。
PUT /api/v1/organization/{orgname}/team/{teamname}/members/{membername}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
membername | チームメンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
応答
2.22.3. deleteOrganizationTeamMember
チームのメンバーを削除します。
If the user is merely invited to join the team, then the invite is removed instead.
DELETE /api/v1/organization/{orgname}/team/{teamname}/members/{membername}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
membername | チームメンバーのユーザー名 | string |
path |
orgname | 組織の名前 | string |
レスポンス
2.22.4. getOrganizationTeamMembers
指定したチームのメンバーの一覧を取得します。
GET /api/v1/organization/{orgname}/team/{teamname}/members
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
orgname | 組織の名前 | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
includePending | 保留中のメンバーを含めるかどうか。 | boolean |
レスポンス
2.22.5. inviteTeamMemberEmail
既存のチームに招待するメールアドレスを追加します。
PUT /api/v1/organization/{orgname}/team/{teamname}/invite/{email}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
email | string | |
path |
teamname | string | |
path |
orgname | string |
レスポンス
2.22.6. deleteTeamMemberEmailInvite
チームへの参加を招待するメールアドレスを削除します。
DELETE /api/v1/organization/{orgname}/team/{teamname}/invite/{email}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
email | string | |
path |
teamname | string | |
path |
orgname | string |
レスポンス
2.22.7. updateOrganizationTeam
指定したチームの組織全体のパーミッションを更新します。
PUT /api/v1/organization/{orgname}/team/{teamname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
orgname | 組織の名前 | string |
要求の body スキーマ (application/json)
チームの説明
名前 | 説明 | スキーマ |
---|---|---|
role | チームに適用する必要のある組織全体のパーミッション | string |
description | チームの Markdown の説明 | string |
レスポンス
2.22.8. deleteOrganizationTeam
指定したチームを削除します。
DELETE /api/v1/organization/{orgname}/team/{teamname}
承認: oauth2_implicit(org:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
teamname | チームの名前 | string |
path |
orgname | 組織の名前 | string |
応答
2.23. trigger
ビルドトリガーを作成、一覧表示、管理します。
2.23.1. activateBuildTrigger
指定したビルドトリガーをアクティブにします。
POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/activate
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
名前 | 説明 | スキーマ |
---|---|---|
config | 任意の json | object |
pull_robot | イメージのプルに使用するロボットの名前 | string |
応答
2.23.2. listTriggerRecentBuilds
指定したトリガーで開始するビルドを一覧表示します。
GET /api/v1/repository/{repository}/trigger/{trigger_uuid}/builds
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
limit | 返すビルドの最大数 | integer |
レスポンス
2.23.3. manuallyStartBuildTrigger
指定したトリガーからビルドを手動で開始します。
POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/start
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ビルドトリガーをアクティベートするための実行パラメーター (任意)
名前 | 説明 | スキーマ |
---|---|---|
branch_name | (SCM のみ) 指定した場合のビルドするブランチの名前。 | string |
commit_sha | (カスタムのみ) 指定されている場合は、git リポジトリーのチェックアウトに使用する ref/SHA1。 | string |
refs | (SCM のみ) 指定されている場合のビルドの ref。 |
応答
2.23.4. getBuildTrigger
指定したビルドトリガーの情報を取得します。
GET /api/v1/repository/{repository}/trigger/{trigger_uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.23.5. updateBuildTrigger
指定したビルドトリガーを更新します。
PUT /api/v1/repository/{repository}/trigger/{trigger_uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
要求の body スキーマ (application/json)
ビルドトリガーを更新するオプション
名前 | 説明 | スキーマ |
---|---|---|
enabled | ビルドトリガーが有効かどうか | boolean |
レスポンス
2.23.6. deleteBuildTrigger
指定したビルドトリガーを削除します。
DELETE /api/v1/repository/{repository}/trigger/{trigger_uuid}
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
trigger_uuid | ビルドトリガーの UUID | string |
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
レスポンス
2.23.7. listBuildTriggers
指定したリポジトリーのトリガーを一覧表示します。
GET /api/v1/repository/{repository}/trigger/
承認: oauth2_implicit(repo:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |
応答
2.24. user
現行ユーザーを管理します。
2.24.1. createStar
リポジトリーを表示します。
POST /api/v1/user/starred
承認: oauth2_implicit(repo:read)
要求の body スキーマ (application/json)
名前 | 説明 | スキーマ |
---|---|---|
namespace | リポジトリーが属する namespace | string |
repository | リポジトリー名 | string |
レスポンス
2.24.2. listStarredRepos
星付きのリポジトリーをすべて一覧表示します。
GET /api/v1/user/starred
承認: oauth2_implicit(user:admin)
クエリーパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
query |
next_page | 次のページのページトークン | string |
レスポンス
2.24.3. getLoggedInUser
認証ユーザーのユーザー情報を取得します。
GET /api/v1/user/
承認: oauth2_implicit (user:read)
レスポンス
2.24.4. deleteStar
リポジトリーから星を削除します。
DELETE /api/v1/user/starred/{repository}
承認: oauth2_implicit(user:admin)
パスパラメーター
タイプ | 名前 | 説明 | スキーマ |
---|---|---|---|
path |
repository | リポジトリーの完全パス (例: namespace/name) | string |