6.15. レジストリーコンテキストに対する検索
検索
API エンドポイントを使用して、すべてのレジストリーコンテキストに対して検索を実行できます。
手順
GET /api/v1/find/repositories
エンドポイントを使用して、指定されたクエリーに一致するアプリケーションおよびリポジトリーのリストを取得します。$ curl -X GET "https://quay-server.example.com/api/v1/find/repositories?query=<repo_name>&page=1&includeUsage=true" \ -H "Authorization: Bearer <bearer_token>"
出力例
{"results": [], "has_additional": false, "page": 2, "page_size": 10, "start_index": 10}
GET /api/v1/find/all
エンドポイントを使用して、指定されたクエリーに一致するエンティティーおよびリソースのリストを取得します。$ curl -X GET "https://quay-server.example.com/api/v1/find/all?query=<mysearchterm>" \ -H "Authorization: Bearer <bearer_token>"
出力例
{"results": [{"kind": "repository", "title": "repo", "namespace": {"title": "user", "kind": "user", "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "name": "quayadmin", "score": 1, "href": "/user/quayadmin"}, "name": "busybox", "description": null, "is_public": false, "score": 4.0, "href": "/repository/quayadmin/busybox"}]}
GET /api/v1/entities/{prefix}
エンドポイントを使用して、指定された接頭辞に一致するエンティティーのリストを取得します。$ curl -X GET "https://quay-server.example.com/api/v1/entities/<prefix>?includeOrgs=<true_or_false>&includeTeams=<true_or_false>&namespace=<namespace>" \ -H "Authorization: Bearer <bearer_token>"
出力例
{"results": [{"name": "quayadmin", "kind": "user", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}}]}
6.15.1. API を使用したチームメンバーとリポジトリー権限の管理
チームにメンバーを追加する (直接招待またはメールによる)、またはチームからメンバーを削除するには、次の手順に従います。
前提条件
- OAuth アクセストークンを作成 した。
-
config.yaml
ファイルでBROWSER_API_CALLS_XHR_ONLY: false
を設定している。
手順
PUT /api/v1/organization/{orgname}/team/{teamname}/members/{membername}
コマンドを入力し、既存のチームにメンバーを追加または招待します。$ curl -X PUT \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
出力例
{"name": "testuser", "kind": "user", "is_robot": false, "avatar": {"name": "testuser", "hash": "d51d17303dc3271ac3266fb332d7df919bab882bbfc7199d2017a4daac8979f0", "color": "#5254a3", "kind": "user"}, "invited": false}
DELETE /api/v1/organization/{orgname}/team/{teamname}/members/{membername}
コマンドを入力し、チームのメンバーを削除します。$ curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
このコマンドは CLI に出力しません。メンバーが削除されたことを確認するには、
GET /api/v1/organization/{orgname}/team/{teamname}/members
コマンドを入力し、出力にメンバーが返されないことを確認します。$ curl -X GET \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members"
出力例
{"name": "owners", "members": [{"name": "quayadmin", "kind": "user", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "b28d563a6dc76b4431fc7b0524bbff6b810387dac86d9303874871839859c7cc", "color": "#17becf", "kind": "user"}, "invited": false}, {"name": "test-org+test", "kind": "user", "is_robot": true, "avatar": {"name": "test-org+test", "hash": "aa85264436fe9839e7160bf349100a9b71403a5e9ec684d5b5e9571f6c821370", "color": "#8c564b", "kind": "robot"}, "invited": false}], "can_edit": true}
PUT /api/v1/organization/{orgname}/team/{teamname}/invite/{email}
コマンドを入力し、メールアドレスでユーザーを既存のチームに招待できます。$ curl -X PUT \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"
DELETE /api/v1/organization/{orgname}/team/{teamname}/invite/{email}
コマンドを入力し、チームに参加させるためのメールアドレスの招待を削除できます。以下に例を示します。$ curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"