15.3.8. 在带有 API 的用户的存储库上创建自动修剪策略


您可以使用 Red Hat Quay API 端点为不属于您的用户帐户管理存储库上的自动运行策略,只要存储库上具有 admin 权限。

先决条件

  • 您已创建了 OAuth 访问令牌。
  • 已登陆到 Red Hat Quay。
  • 在您要为其创建策略的存储库上具有 admin 权限。

流程

  1. 输入以下 POST /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/ 命令,创建一个新策略来限制用户的标签数:

    $ curl -X POST -H "Authorization: Bearer <access_token>" -H "Content-Type: application/json" -d '{"method": "number_of_tags","value": 2}' https://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/

    输出示例

    {"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}

  2. 可选。您可以为当前用户添加额外的策略,并传递 tagPatterntagPatternMatches 字段,以仅修剪与给定 regex 模式匹配的标签。例如:

    $ curl -X POST \
      -H "Authorization: Bearer <bearer_token>" \
      -H "Content-Type: application/json" \
      -d '{
        "method": "creation_date",
        "value": "7d",
        "tagPattern": "^v*",
        "tagPatternMatches": true
      }' \
      "http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/"

    输出示例

    {"uuid": "b3797bcd-de72-4b71-9b1e-726dabc971be"}

  3. 您可以使用 PUT /api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid&gt; 命令为当前用户更新您的策略。例如:

    $ curl -X PUT   -H "Authorization: Bearer <bearer_token>"   -H "Content-Type: application/json"   -d '{
        "method": "creation_date",
        "value": "4d",
        "tagPattern": "^test.",
        "tagPatternMatches": true
      }'   "https://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>"

    更新策略不会在 CLI 中返回输出。

  4. 输入以下命令检查自动修剪策略:

    $ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/

    或者,您可以包含 UUID:

    $ curl -X GET -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/7726f79c-cbc7-490e-98dd-becdc6fefce7

    输出示例

    {"uuid": "81ee77ec-496a-4a0a-9241-eca49437d15b", "method": "creation_date", "value": "7d", "tagPattern": "^v*", "tagPatternMatches": true}

  5. 您可以输入以下命令来删除自动修剪策略。请注意,删除策略需要 UUID。

    $ curl -X DELETE -H "Authorization: Bearer <access_token>" http://<quay-server.example.com>/api/v1/repository/<user_account>/<user_repository>/autoprunepolicy/<policy_uuid>

    输出示例

    {"uuid": "7726f79c-cbc7-490e-98dd-becdc6fefce7"}

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部