6.19. 使用 API 管理团队
可以使用 Red Hat Quay API 管理团队。
6.19.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>"
$ curl -X PUT \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"name": "testuser", "kind": "user", "is_robot": false, "avatar": {"name": "testuser", "hash": "d51d17303dc3271ac3266fb332d7df919bab882bbfc7199d2017a4daac8979f0", "color": "#5254a3", "kind": "user"}, "invited": false}
{"name": "testuser", "kind": "user", "is_robot": false, "avatar": {"name": "testuser", "hash": "d51d17303dc3271ac3266fb332d7df919bab882bbfc7199d2017a4daac8979f0", "color": "#5254a3", "kind": "user"}, "invited": false}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入
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>"
$ curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members/<member_name>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令不会在 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"
$ curl -X GET \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/members"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"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}
{"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}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以输入
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>"
$ curl -X PUT \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以输入
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>"
$ curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/invite/<email>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.19.2. 使用 API 设置机构中团队的角色 复制链接链接已复制到粘贴板!
使用以下步骤使用 API 查看和设置团队。
先决条件
- 您已创建了 OAuth 访问令牌。
-
您已在
config.yaml
文件中设置了BROWSER_API_CALLS_XHR_ONLY: false
。
流程
输入以下
GET /api/v1/organization/{orgname}/team/{teamname}/permissions
命令,为机构的团队返回存储库权限列表。请注意,您的团队必须已添加到存储库中才能返回信息。curl -X GET \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/permissions"
$ curl -X GET \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>/permissions"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"permissions": [{"repository": {"name": "api-repo", "is_public": true}, "role": "admin"}]}
{"permissions": [{"repository": {"name": "api-repo", "is_public": true}, "role": "admin"}]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用
PUT /api/v1/organization/{orgname}/team/{teamname}
命令,在组织内创建或更新团队,使其具有 admin、member 或 creator 角色。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
{"name": "testteam", "description": "", "can_view": true, "role": "creator", "avatar": {"name": "testteam", "hash": "827f8c5762148d7e85402495b126e0a18b9b168170416ed04b49aae551099dc8", "color": "#ff7f0e", "kind": "team"}, "new_team": false}
{"name": "testteam", "description": "", "can_view": true, "role": "creator", "avatar": {"name": "testteam", "hash": "827f8c5762148d7e85402495b126e0a18b9b168170416ed04b49aae551099dc8", "color": "#ff7f0e", "kind": "team"}, "new_team": false}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.19.3. 使用 API 删除机构中的团队 复制链接链接已复制到粘贴板!
使用以下步骤使用 API 删除机构中的团队。
先决条件
- 您已创建了 OAuth 访问令牌。
-
您已在
config.yaml
文件中设置了BROWSER_API_CALLS_XHR_ONLY: false
。
流程
您可以通过输入
DELETE /api/v1/organization/{orgname}/team/{teamname}
命令删除机构中的团队:curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>"
$ curl -X DELETE \ -H "Authorization: Bearer <your_access_token>" \ "<quay-server.example.com>/api/v1/organization/<organization_name>/team/<team_name>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令不会在 CLI 中返回输出。