Red Hat Quay API 指南

Red Hat Quay 3

Red Hat Quay API 指南

Red Hat OpenShift Documentation Team

摘要

使用 Red Hat Quay API

前言

Red Hat Quay 应用程序编程接口(API)是一个 OAuth 2 RESTful API,它由一组用于添加、显示、修改和删除 Red Hat Quay 功能的端点组成。

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,它:

  • 可以从 URL https://<yourquayhost>/api/v1的端点获取每个 Red Hat Quay 实例的端点
  • 通过启用 Swagger UI,通过浏览器连接到端点,以获取、删除、发布和放置 Red Hat Quay 设置
  • 可以被使用 API 调用和使用 OAuth 令牌的应用程序访问
  • 以 JSON 格式发送和接收数据

下面的文本描述了如何访问 Red Hat Quay 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/

显示 Quay.io API 端点的 API Explorer。您将无法看到在 Quay.io 上未启用的 Red Hat Quay 功能的超级用户 API 端点或端点(如存储库镜像)。

从 API Explorer,您可以获得并有时会更改以下信息:

  • 账单、订阅和计划
  • 存储库构建和构建触发器
  • 错误消息和全局信息
  • 仓库镜像、清单、权限、通知、漏洞和镜像签名
  • 使用日志
  • 机构、成员和 OAuth 应用程序
  • 用户和机器人帐户
  • and more…​

选择打开端点来查看端点的每一个部分的 Model Schema。打开端点,输入所有必要的参数(如存储库名称或镜像),然后选择 尝试退出! 按钮来查询或更改与 Quay.io 端点关联的设置。

1.2. 创建 OAuth 访问令牌

OAuth 访问令牌是允许您以安全的方式访问受保护的资源的凭证。使用 Red Hat Quay,您必须先创建 OAuth 访问令牌,然后才能访问机构的 API 端点。

使用以下步骤创建 OAuth 访问令牌。

先决条件

  • 您已以管理员身份登录到 Red Hat Quay。

流程

  1. 在主页上,选择一个 Organization。
  2. 在导航窗格中,选择 Applications
  3. Create New Application 并提供新应用程序名称,然后按 Enter
  4. OAuth Applications 页面中,选择应用程序的名称。
  5. 可选。输入以下信息:

    1. 应用程序名称
    2. 主页 URL
    3. 描述
    4. avatar E-mail
    5. 重定向/Callback URL 前缀
  6. 在导航窗格中,选择 Generate Token
  7. 选中以下选项框:

    1. 管理机构
    2. 管理软件仓库
    3. 创建软件仓库
    4. 查看所有可见的存储库
    5. 对任何可访问的软件仓库的读/写
    6. 超级用户访问
    7. 管理用户
    8. 读取用户信息
  8. Generate Access Token。您将被重定向到一个新页面。
  9. 查看您允许的权限,然后点 Authorize Application。点 Authorize Application 来确认您的决定。
  10. 您将被重定向到 Access Token 页面。复制并保存访问令牌。

    重要

    这是复制和保存访问令牌的唯一机会。在离开此页后无法保留它。

1.3. 从网页浏览器访问 Quay API

通过启用 Swagger,您可以通过网页浏览器访问您自己的 Red Hat Quay 实例的 API。这个 URL 通过 Swagger UI 和这个 URL 公开 Red Hat Quay API explorer:

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 调用,如果使用浏览器调用 X-Requested-With 标头来调用,"如果从浏览器中调用,请将下面这一行添加到集群中的所有节点上的 config.yaml 中,再重启 Red Hat Quay:

BROWSER_API_CALLS_XHR_ONLY: false

1.4. 从命令行访问 Red Hat Quay API

您可以通过 Red Hat Quay 集群的 API,使用 curl 命令 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 创建超级用户

  • 配置超级用户名称,如 Deploy Quay book 所述:

    • 使用配置编辑器 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 进行第二个调用

$ 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

第二个调用的输出

{
  "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. 目录同步

要在机构 testadminorg 中为团队 newteam 启用目录同步,其中 LDAP 中对应的组名称是 ldapgroup

$ 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 和其他构建所需文件的 tarzip 存档。file_id 参数是我们较旧的构建系统外。它无法再使用。如果 Dockerfile 位于子目录中,也需要指定它。

该存档应公开访问。OAuth 应用应具有 "Administer Organization" 范围,因为只有机构管理员可以访问机器人的帐户令牌。否则,某人可以通过简单地授予构建对机器人(没有访问权限本身)来获取机器人权限,并使用它来获取镜像内容。如果出现错误,请检查 json 块返回的,并确保归档位置、拉取机器机器和其他参数正确传递。点单个构建页面右上角的"下载日志"检查日志以了解更详细的消息。

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 Application Programming Interface(API)

此 API 允许您执行处理 Red Hat Quay 存储库、用户和组织所需的许多操作。

2.1. 授权

oauth2_implicit

范围

以下范围用于控制对 API 端点的访问:

影响范围描述

repo:read

此应用程序可以查看并拉取授予用户或机器人帐户可见的所有存储库

repo:write

此应用程序将可以查看、推送和拉取授予用户或机器人帐户具有写入权限的所有存储库

repo:admin

此应用程序具有管理员访问权限,可以访问授予用户或机器人帐户有权访问的所有存储库

repo:create

此应用将能够创建存储库到允许授予用户或机器人帐户的任何命名空间创建存储库

user:read

此应用将能够读取用户信息,如用户名和电子邮件地址。

org:admin

此应用程序将可以管理您的组织,包括创建机器人、创建团队、调整团队成员资格和更改账单设置。在授予此权限前,在请求的应用程序中应有绝对信任。

super:user

此应用程序将可以管理您的安装,包括管理用户、管理超级用户面板中找到的机构和其他功能。在授予此权限前,在请求的应用程序中应有绝对信任。

user:admin

此应用程序可以管理您的帐户,包括创建机器人并授予它们对存储库的权限。在授予此权限前,在请求的应用程序中应有绝对信任。

2.2. appspecifictokens

为当前用户管理应用特定令牌。

2.2.1. createAppToken

为用户创建新的应用特定令牌。

POST /api/v1/user/apptoken

Authorizations: oauth2_implicit(user:admin)

请求正文模式(application/json)

新令牌的描述。

名称描述模式

friendlyName
optional

帮助识别令牌的友好名称

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.2.2. listAppTokens

列出用户的应用特定令牌。

GET /api/v1/user/apptoken

Authorizations: oauth2_implicit(user:admin)

查询参数
类型Name描述模式

query

过期
可选

如果为 true,则只会很快返回这些令牌

布尔值

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.2.3. getAppToken

为该用户返回特定的应用令牌。

GET /api/v1/user/apptoken/{token_uuid}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

token_uuid
required

应用程序特定令牌的 uuid

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.2.4. revokeAppToken

为用户撤销特定的应用令牌。

DELETE /api/v1/user/apptoken/{token_uuid}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

token_uuid
required

应用程序特定令牌的 uuid

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.3. build

创建、列出、取消并获取存储库构建的状态/日志。

2.3.1. getRepoBuildStatus

返回构建 uuids 指定的构建的状态。

GET /api/v1/repository/{repository}/build/{build_uuid}/status

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

build_uuid
required

构建的 UUID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.3.2. getRepoBuildLogs

返回构建 uuid 指定构建的构建日志。

GET /api/v1/repository/{repository}/build/{build_uuid}/logs

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

build_uuid
required

构建的 UUID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.3.3. getRepoBuild

返回有关构建的信息。

GET /api/v1/repository/{repository}/build/{build_uuid}

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

build_uuid
required

构建的 UUID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.3.4. cancelRepoBuild

取消存储库构建。

DELETE /api/v1/repository/{repository}/build/{build_uuid}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

build_uuid
required

构建的 UUID

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.3.5. requestRepoBuild

请求从指定的输入来构建和推送存储库。

POST /api/v1/repository/{repository}/build/

Authorizations: oauth2_implicit(存储库:write

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

新存储库构建的描述。

名称描述模式

file_id
optional

构建 spec 上传时生成的文件 id

字符串

archive_url
optional

要构建的 .tar.gz 的 URL。必须以 "http" 或 "https" 开始。

字符串

子目录
可选

Dockerfile 可在其中找到 Dockerfile 的子目录。您只能指定这个或 dockerfile_path

字符串

dockerfile_path
optional

到 dockerfile 的路径。您只能指定这个或子目录。

字符串

上下文
可选

传递 dockerfile 的上下文。这是可选的。

字符串

pull_robot
optional

用作拉取凭证的 Quay 机器人帐户的用户名

字符串

docker_tags
optional

构建镜像要推送到的标签。如果没有指定,则使用"latest"。

字符串数组
非空 的唯一

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.3.6. getRepoBuilds

获取存储库构建列表。

GET /api/v1/repository/{repository}/build/

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

查询参数
类型Name描述模式

query

因为
可选

返回自给定 unix 时间码以来的所有构建

整数

query

limit
optional

要返回的最大构建数

整数

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.4. discovery

API 发现信息。

2.4.1. discovery

列出以 swagger API 格式提供的所有 API 端点。

GET /api/v1/discovery

授权: 

查询参数
类型Name描述模式

query

内部
可选

是否包含内部 API。

布尔值

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.5. 错误

错误详情 API。

2.5.1. getErrorDescription

获取有关错误的详细描述。

GET /api/v1/error/{error_type}

授权: 

路径参数
类型Name描述模式

path

error_type
required

识别错误类型的错误代码。

字符串

响应
HTTP 代码描述模式

200

成功调用

ApiErrorDescription

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.6. globalmessages

消息 API.

2.6.1. createGlobalMessage

创建一个消息。

POST /api/v1/messages

Authorizations: oauth2_implicit(super:user)

请求正文模式(application/json)

创建新信息

名称描述模式

message
可选

单个消息

对象

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.6.2. getGlobalMessages

返回超级用户信息。

GET /api/v1/messages

授权: 

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.6.3. deleteGlobalMessage

删除消息。

DELETE /api/v1/message/{uuid}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

UUID
必需

 

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.7. logs

访问机构或存储库的使用情况日志。

2.7.1. getAggregateUserLogs

返回当前用户的聚合日志。

GET /api/v1/user/aggregatelogs

Authorizations: oauth2_implicit(user:admin)

查询参数
类型Name描述模式

query

执行程序
可选

过滤日志的用户名。

字符串

query

ENDTIME
可选

日志的最新时间。格式: UTC 中的"%m/%d/%Y"

字符串

query

starttime
optional

日志的早期时间。格式: UTC 中的"%m/%d/%Y"

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.7.2. exportUserLogs

返回当前用户的聚合日志。

POST /api/v1/user/exportlogs

Authorizations: oauth2_implicit(user:admin)

查询参数
类型Name描述模式

query

ENDTIME
可选

日志的最新时间。格式: UTC 中的"%m/%d/%Y"

字符串

query

starttime
optional

日志的早期时间。格式: UTC 中的"%m/%d/%Y"

字符串

请求正文模式(application/json)

导出日志操作配置

名称描述模式

callback_url
optional

使用到导出日志的链接调用的回调 URL

字符串

callback_email
optional

电子邮件地址,指向导出的日志的链接

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.7.3. listUserLogs

列出当前用户的日志。

GET /api/v1/user/logs

Authorizations: oauth2_implicit(user:admin)

查询参数
类型Name描述模式

query

next_page
optional

下一页面页面的页面令牌

字符串

query

执行程序
可选

过滤日志的用户名。

字符串

query

ENDTIME
可选

日志的最新时间。格式: UTC 中的"%m/%d/%Y"

字符串

query

starttime
optional

日志的早期时间。格式: UTC 中的"%m/%d/%Y"

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.7.4. getAggregateOrgLogs

获取指定机构的聚合日志。

GET /api/v1/organization/{orgname}/aggregatelogs

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

查询参数
类型Name描述模式

query

执行程序
可选

过滤日志的用户名。

字符串

query

ENDTIME
可选

日志的最新时间。格式: UTC 中的"%m/%d/%Y"

字符串

query

starttime
optional

日志的早期时间。格式: UTC 中的"%m/%d/%Y"

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.7.5. exportOrgLogs

导出指定组织的日志。

POST /api/v1/organization/{orgname}/exportlogs

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

查询参数
类型Name描述模式

query

ENDTIME
可选

日志的最新时间。格式: UTC 中的"%m/%d/%Y"

字符串

query

starttime
optional

日志的早期时间。格式: UTC 中的"%m/%d/%Y"

字符串

请求正文模式(application/json)

导出日志操作配置

名称描述模式

callback_url
optional

使用到导出日志的链接调用的回调 URL

字符串

callback_email
optional

电子邮件地址,指向导出的日志的链接

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.7.6. listOrgLogs

列出指定机构的日志。

GET /api/v1/organization/{orgname}/logs

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

查询参数
类型Name描述模式

query

next_page
optional

下一页面页面的页面令牌

字符串

query

执行程序
可选

过滤日志的用户名。

字符串

query

ENDTIME
可选

日志的最新时间。格式: UTC 中的"%m/%d/%Y"

字符串

query

starttime
optional

日志的早期时间。格式: UTC 中的"%m/%d/%Y"

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.7.7. getAggregateRepoLogs

返回指定存储库的聚合日志。

GET /api/v1/repository/{repository}/aggregatelogs

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

查询参数
类型Name描述模式

query

ENDTIME
可选

日志的最新时间。格式: UTC 中的"%m/%d/%Y"

字符串

query

starttime
optional

日志的早期时间。格式: UTC 中的"%m/%d/%Y"

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.7.8. exportRepoLogs

为指定存储库对日志进行队列导出。

POST /api/v1/repository/{repository}/exportlogs

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

查询参数
类型Name描述模式

query

ENDTIME
可选

日志的最新时间。格式: UTC 中的"%m/%d/%Y"

字符串

query

starttime
optional

日志的早期时间。格式: UTC 中的"%m/%d/%Y"

字符串

请求正文模式(application/json)

导出日志操作配置

名称描述模式

callback_url
optional

使用到导出日志的链接调用的回调 URL

字符串

callback_email
optional

电子邮件地址,指向导出的日志的链接

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.7.9. listRepoLogs

列出指定存储库的日志。

GET /api/v1/repository/{repository}/logs

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

查询参数
类型Name描述模式

query

next_page
optional

下一页面页面的页面令牌

字符串

query

ENDTIME
可选

日志的最新时间。格式: UTC 中的"%m/%d/%Y"

字符串

query

starttime
optional

日志的早期时间。格式: UTC 中的"%m/%d/%Y"

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.8. 清单

管理存储库的清单。

2.8.1. getManifestLabel

检索带有清单下特定 ID 的标签。

GET /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

manifestref
必需

清单摘要

字符串

path

labelid
required

标签的 ID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.8.2. deleteManifestLabel

从清单中删除现有标签。

DELETE /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}

Authorizations: oauth2_implicit(存储库:write

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

manifestref
必需

清单摘要

字符串

path

labelid
required

标签的 ID

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.8.3. addManifestLabel

将新标签添加到标签清单中。

POST /api/v1/repository/{repository}/manifest/{manifestref}/labels

Authorizations: oauth2_implicit(存储库:write

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

manifestref
必需

清单摘要

字符串

请求正文模式(application/json)

为清单添加标签

名称描述模式

key
可选

标签的密钥

字符串

value
可选

标签的值

字符串

media_type
optional

此标签的介质类型

 
响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.8.4. listManifestLabels

GET /api/v1/repository/{repository}/manifest/{manifestref}/labels

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

manifestref
必需

清单摘要

字符串

查询参数
类型Name描述模式

query

过滤
可选

如果指定,则仅返回与给定前缀匹配的标签

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.8.5. getRepoManifest

GET /api/v1/repository/{repository}/manifest/{manifestref}

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

manifestref
必需

清单摘要

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.9. mirror

2.9.1. syncCancel

为给定存储库的镜像配置更新 sync_status。

POST /api/v1/repository/{repository}/mirror/sync-cancel

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.9.2. syncNow

为给定存储库的镜像配置更新 sync_status。

POST /api/v1/repository/{repository}/mirror/sync-now

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.9.3. getRepoMirrorConfig

返回给定存储库的 Mirror 配置。

GET /api/v1/repository/{repository}/mirror

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

200

成功调用

ViewMirrorConfig

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.9.4. changeRepoMirrorConfig

允许用户修改存储库的镜像配置。

PUT /api/v1/repository/{repository}/mirror

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

更新存储库镜像配置。

名称描述模式

is_enabled
optional

用于启用或禁用同步。

布尔值

external_reference
optional

外部存储库的位置。

字符串

external_registry_username
optional

用于与外部 registry 进行身份验证的用户名。

 

external_registry_password
optional

用于与外部 registry 进行身份验证的密码。

 

sync_start_date
optional

下次确定此存储库准备好同步的时间。

字符串

sync_interval
optional

next_start_date 开始同步后的秒数。

整数

robot_username
optional

用于镜像推送的机器人的用户名。

字符串

root_rule
optional

用于决定应同步哪些标签的 glob-patterns 列表。

对象

external_registry_config
optional

 

对象

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.9.5. createRepoMirrorConfig

为给定的存储库创建一个 RepoMirrorConfig。

POST /api/v1/repository/{repository}/mirror

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

创建存储库镜像配置。

名称描述模式

is_enabled
optional

用于启用或禁用同步。

布尔值

external_reference
optional

外部存储库的位置。

字符串

external_registry_username
optional

用于与外部 registry 进行身份验证的用户名。

 

external_registry_password
optional

用于与外部 registry 进行身份验证的密码。

 

sync_start_date
optional

下次确定此存储库准备好同步的时间。

字符串

sync_interval
optional

next_start_date 开始同步后的秒数。

整数

robot_username
optional

用于镜像推送的机器人的用户名。

字符串

root_rule
optional

用于决定应同步哪些标签的 glob-patterns 列表。

对象

external_registry_config
optional

 

对象

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10. namespacequota

2.10.1. listUserQuota

GET /api/v1/user/quota

Authorizations: oauth2_implicit(user:admin)

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.2. getOrganizationQuotaLimit

GET /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}

授权: 

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

path

limit_id
required

 

字符串

path

OrgName
必需

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.3. changeOrganizationQuotaLimit

PUT /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

path

limit_id
required

 

字符串

path

OrgName
必需

 

字符串

请求正文模式(application/json)

更改机构配额限制的描述

名称描述模式

type
可选

配额限制类型:"Warning"或"Reject"

字符串

threshold_percent
optional

配额阈值,以百分比表示配额

整数

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.4. deleteOrganizationQuotaLimit

DELETE /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

path

limit_id
required

 

字符串

path

OrgName
必需

 

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.5. createOrganizationQuotaLimit

POST /api/v1/organization/{orgname}/quota/{quota_id}/limit

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

path

OrgName
必需

 

字符串

请求正文模式(application/json)

新机构配额限制的描述

名称描述模式

type
可选

配额限制类型:"Warning"或"Reject"

字符串

threshold_percent
optional

配额阈值,以百分比表示配额

整数

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.6. listOrganizationQuotaLimit

GET /api/v1/organization/{orgname}/quota/{quota_id}/limit

授权: 

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

path

OrgName
必需

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.7. getUserQuotaLimit

GET /api/v1/user/quota/{quota_id}/limit/{limit_id}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

path

limit_id
required

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.8. listUserQuotaLimit

GET /api/v1/user/quota/{quota_id}/limit

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.9. getOrganizationQuota

GET /api/v1/organization/{orgname}/quota/{quota_id}

授权: 

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

path

OrgName
必需

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.10. changeOrganizationQuota

PUT /api/v1/organization/{orgname}/quota/{quota_id}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

path

OrgName
必需

 

字符串

请求正文模式(application/json)

新机构配额的描述

名称描述模式

limit_bytes
optional

允许机构允许的字节数

整数

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.11. deleteOrganizationQuota

DELETE /api/v1/organization/{orgname}/quota/{quota_id}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

path

OrgName
必需

 

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.12. createOrganizationQuota

创建新机构配额。

POST /api/v1/organization/{orgname}/quota

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

OrgName
必需

 

字符串

请求正文模式(application/json)

新机构配额的描述

名称描述模式

limit_bytes
optional

允许机构允许的字节数

整数

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.13. listOrganizationQuota

GET /api/v1/organization/{orgname}/quota

授权: 

路径参数
类型Name描述模式

path

OrgName
必需

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.10.14. getUserQuota

GET /api/v1/user/quota/{quota_id}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

quota_id
required

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11. 机构

管理组织、成员和 OAuth 应用程序。

2.11.1. createOrganization

创建新机构。

POST /api/v1/organization/

Authorizations: oauth2_implicit(user:admin)

请求正文模式(application/json)

新组织的描述。

名称描述模式

name
可选

机构用户名

字符串

email
可选

机构联系电子邮件

字符串

recaptcha_response
optional

(may be disabled)recaptcha 响应代码进行验证

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.2. validateProxyCacheConfig

POST /api/v1/organization/{orgname}/validateproxycache

授权: 

路径参数
类型Name描述模式

path

OrgName
必需

 

字符串

请求正文模式(application/json)

机构的代理缓存配置

名称描述模式

upstream_registry
optional

要缓存的上游 registry 的名称

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.3. getOrganizationCollaborators

列出指定机构外协作器。

GET /api/v1/organization/{orgname}/collaborators

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.4. getOrganizationApplication

使用指定的 client_id 在指定的机构下检索应用程序。

GET /api/v1/organization/{orgname}/applications/{client_id}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

client_id
required

OAuth 客户端 ID

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.5. updateOrganizationApplication

更新此机构下的应用程序。

PUT /api/v1/organization/{orgname}/applications/{client_id}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

client_id
required

OAuth 客户端 ID

字符串

path

OrgName
必需

机构名称

字符串

请求正文模式(application/json)

更新应用程序的描述。

名称描述模式

name
可选

应用程序的名称

字符串

redirect_uri
optional

应用程序的 OAuth 重定向的 URI

字符串

application_uri
optional

应用程序主页的 URI

字符串

description
可选

应用程序的人类可读描述

字符串

avatar_email
optional

用于应用程序的 avatar 的电子邮件地址

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.6. deleteOrganizationApplication

删除此机构下的应用程序。

DELETE /api/v1/organization/{orgname}/applications/{client_id}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

client_id
required

OAuth 客户端 ID

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.7. createOrganizationApplication

在此组织下创建新应用。

POST /api/v1/organization/{orgname}/applications

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

请求正文模式(application/json)

新机构应用程序的描述。

名称描述模式

name
可选

应用程序的名称

字符串

redirect_uri
optional

应用程序的 OAuth 重定向的 URI

字符串

application_uri
optional

应用程序主页的 URI

字符串

description
可选

应用程序的人类可读描述

字符串

avatar_email
optional

用于应用程序的 avatar 的电子邮件地址

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.8. getOrganizationApplications

列出指定机构的应用程序。

GET /api/v1/organization/{orgname}/applications

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.9. getProxyCacheConfig

检索机构的代理缓存配置。

GET /api/v1/organization/{orgname}/proxycache

授权: 

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.10. deleteProxyCacheConfig

删除机构的代理缓存配置。

DELETE /api/v1/organization/{orgname}/proxycache

授权: 

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.11. createProxyCacheConfig

为组织创建代理缓存配置。

POST /api/v1/organization/{orgname}/proxycache

授权: 

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

请求正文模式(application/json)

机构的代理缓存配置

名称描述模式

upstream_registry
required

要缓存的上游 registry 的名称

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.12. getOrganizationMember

检索组织成员的详细信息。

GET /api/v1/organization/{orgname}/members/{membername}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

memberName
必需

机构成员的用户名

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.13. removeOrganizationMember

从组织中删除成员,撤销其所有存储库功能,并从机构中的所有团队中删除它。

DELETE /api/v1/organization/{orgname}/members/{membername}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

memberName
必需

机构成员的用户名

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.14. getOrganizationMembers

列出指定机构的人类。

GET /api/v1/organization/{orgname}/members

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.15. getOrganization

获取指定机构的详情。

GET /api/v1/organization/{orgname}

授权: 

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.16. changeOrganizationDetails

更改指定机构的详情。

PUT /api/v1/organization/{orgname}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

请求正文模式(application/json)

现有机构的更新描述

名称描述模式

email
可选

机构联系电子邮件

字符串

invoice_email
optional

无论组织是否需要接收发票的电子邮件

布尔值

invoice_email_address
optional

接收发票的电子邮件地址

 

tag_expiration_s
optional

标签过期的秒数

整数

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.17. deleteAdminedOrganization

删除指定的机构。

DELETE /api/v1/organization/{orgname}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.11.18. getApplicationInformation

获取指定应用程序的信息。

GET /api/v1/app/{client_id}

授权: 

路径参数
类型Name描述模式

path

client_id
required

OAuth 客户端 ID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.12. 权限

管理存储库权限。

2.12.1. getUserTransitivePermission

获取指定用户的权限。

GET /api/v1/repository/{repository}/permissions/user/{username}/transitive

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

username
required

权限应用到的用户的用户名

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.12.2. getUserPermissions

获取指定用户的权限。

GET /api/v1/repository/{repository}/permissions/user/{username}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

username
required

权限应用到的用户的用户名

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.12.3. changeUserPermissions

更新现有存储库的估算。

PUT /api/v1/repository/{repository}/permissions/user/{username}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

username
required

权限应用到的用户的用户名

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

用户权限的描述。

名称描述模式

角色
可选

用户使用的角色

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.12.4. deleteUserPermissions

删除用户的权限。

DELETE /api/v1/repository/{repository}/permissions/user/{username}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

username
required

权限应用到的用户的用户名

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.12.5. getTeamPermissions

获取指定团队的权限。

GET /api/v1/repository/{repository}/permissions/team/{teamname}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

teamName
必需

权限应用到的团队的名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.12.6. changeTeamPermissions

更新现有团队权限。

PUT /api/v1/repository/{repository}/permissions/team/{teamname}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

teamName
必需

权限应用到的团队的名称

字符串

请求正文模式(application/json)

团队权限的描述。

名称描述模式

角色
可选

团队使用的角色

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.12.7. deleteTeamPermissions

删除指定团队的权限。

DELETE /api/v1/repository/{repository}/permissions/team/{teamname}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

teamName
必需

权限应用到的团队的名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.12.8. listRepoTeamPermissions

列出所有团队权限。

GET /api/v1/repository/{repository}/permissions/team/

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.12.9. listRepoUserPermissions

列出所有用户权限。

GET /api/v1/repository/{repository}/permissions/user/

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13. policy

2.13.1. listOrganizationAutoPrunePolicies

列出机构的自动修剪策略

GET /api/v1/organization/{orgname}/autoprunepolicy/

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13.2. createOrganizationAutoPrunePolicy

为机构创建一个自动修剪策略

POST /api/v1/organization/{orgname}/autoprunepolicy/

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

请求正文模式(application/json)

要应用到用户命名空间的策略配置

Name描述模式

method
可选

用于修剪标签的方法(number_of_tags、creation_date)

字符串

value
可选

用于修剪方法的值(标签数,如 10, time delta,如 7d (7 天))

 
响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13.3. deleteOrganizationAutoPrunePolicy

删除机构的自动修剪策略

DELETE /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

path

policy_uuid
required

策略的唯一 ID

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13.4. updateOrganizationAutoPrunePolicy

更新机构的自动修剪策略

PUT /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

path

policy_uuid
required

策略的唯一 ID

字符串

请求正文模式(application/json)

要应用到用户命名空间的策略配置

Name描述模式

method
可选

用于修剪标签的方法(number_of_tags、creation_date)

字符串

value
可选

用于修剪方法的值(标签数,如 10, time delta,如 7d (7 天))

 
响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13.5. getOrganizationAutoPrunePolicy

获取机构的自动修剪策略

GET /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型名称描述模式

path

OrgName
必需

机构名称

字符串

path

policy_uuid
required

策略的唯一 ID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13.6. listUserAutoPrunePolicies

列出当前登录用户的自动修剪策略

GET /api/v1/user/autoprunepolicy/

Authorizations: oauth2_implicit(user:admin)

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13.7. createUserAutoPrunePolicy

为当前登录的用户创建自动修剪策略

POST /api/v1/user/autoprunepolicy/

Authorizations: oauth2_implicit(user:admin)

请求正文模式(application/json)

要应用到用户命名空间的策略配置

Name描述模式

method
可选

用于修剪标签的方法(number_of_tags、creation_date)

字符串

value
可选

用于修剪方法的值(标签数,如 10, time delta,如 7d (7 天))

 
响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13.8. deleteUserAutoPrunePolicy

删除当前登录用户的自动修剪策略

DELETE /api/v1/user/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

policy_uuid
required

策略的唯一 ID

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13.9. updateUserAutoPrunePolicy

更新当前登录用户的自动修剪策略

PUT /api/v1/user/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型名称描述模式

path

policy_uuid
required

策略的唯一 ID

字符串

请求正文模式(application/json)

要应用到用户命名空间的策略配置

Name描述模式

method
可选

用于修剪标签的方法(number_of_tags、creation_date)

字符串

value
可选

用于修剪方法的值(标签数,如 10, time delta,如 7d (7 天))

 
响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.13.10. getUserAutoPrunePolicy

获取当前登录用户的 auto-prune 策略

GET /api/v1/user/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型名称描述模式

path

policy_uuid
required

策略的唯一 ID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.14. prototype

管理添加到存储库的默认权限。

2.14.1. updateOrganizationPrototypePermission

更新现有权限原型的角色。

PUT /api/v1/organization/{orgname}/prototypes/{prototypeid}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

prototypeid
required

原型的 ID

字符串

path

OrgName
必需

机构名称

字符串

请求正文模式(application/json)

新原型角色的描述

名称描述模式

角色
可选

应该应用到该权限的角色

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.14.2. deleteOrganizationPrototypePermission

删除现有的权限原型。

DELETE /api/v1/organization/{orgname}/prototypes/{prototypeid}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

prototypeid
required

原型的 ID

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.14.3. createOrganizationPrototypePermission

创建新权限原型。

POST /api/v1/organization/{orgname}/prototypes

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

请求正文模式(application/json)

新原型描述

名称描述模式

角色
可选

应该应用到委托的角色

字符串

activating_user
optional

创建用户的存储库,应应用该规则

对象

delegate
optional

有关规则授予访问权限的用户或团队的信息

对象

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.14.4. getOrganizationPrototypePermissions

列出此机构的现有原型。

GET /api/v1/organization/{orgname}/prototypes

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.15. 软件仓库

列出、创建和管理存储库。

2.15.1. createRepo

创建新存储库。

POST /api/v1/repository

Authorizations: oauth2_implicit(repo:create)

请求正文模式(application/json)

新仓库的描述

名称描述模式

软件仓库
必需

仓库名称

字符串

所需 可见性

存储库以什么方式启动

字符串

namespace
必需

创建存储库的命名空间。如果省略,则使用调用者的用户名

字符串

描述
必需

对存储库进行标记编码的描述

字符串

repo_kind
optional

仓库的类型

 
响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.15.2. listRepos

在各种情况下,获取当前用户可见的存储库列表。

GET /api/v1/repository

Authorizations: oauth2_implicit(存储库:read

查询参数
类型Name描述模式

query

next_page
optional

下一页面页面的页面令牌

字符串

query

repo_kind
optional

要返回的仓库种类

字符串

query


可选

是否包含存储库的流行度指标。

布尔值

query

last_modified
optional

是否包含存储库最后一次修改的时间。

布尔值

query

public
optional

添加 virtue 是公开的用户可见的所有软件仓库

布尔值

query

starred
可选

过滤返回到用户星级的存储库

布尔值

query

namespace
可选

过滤返回到此命名空间的存储库

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.15.3. changeRepoVisibility

更改存储库的可见性。

POST /api/v1/repository/{repository}/changevisibility

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

更改存储库的可见性。

名称描述模式

可见性
可选

存储库以什么方式启动

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.15.4. changeRepoState

更改存储库的状态。

PUT /api/v1/repository/{repository}/changestate

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

更改存储库的状态。

名称描述模式

state
可选

确定是否允许推送。

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.15.5. getRepo

获取指定的存储库。

GET /api/v1/repository/{repository}

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

查询参数
类型Name描述模式

query

includeTags
optional

是否包含存储库标签

布尔值

query

includeStats
optional

是否包含操作统计

布尔值

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.15.6. updateRepo

更新指定仓库中的描述。

PUT /api/v1/repository/{repository}

Authorizations: oauth2_implicit(存储库:write

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

可以在存储库中更新的字段。

名称描述模式

description
可选

对存储库进行标记编码的描述

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.15.7. deleteRepository

删除存储库。

DELETE /api/v1/repository/{repository}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.16. repositorynotification

列出、创建和管理存储库事件/通知。

2.16.1. testRepoNotification

为这个存储库队列测试通知。

POST /api/v1/repository/{repository}/notification/{uuid}/test

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

UUID
必需

通知的 UUID

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.16.2. getRepoNotification

获取指定通知的信息。

GET /api/v1/repository/{repository}/notification/{uuid}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

UUID
必需

通知的 UUID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.16.3. deleteRepoNotification

删除指定的通知。

DELETE /api/v1/repository/{repository}/notification/{uuid}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

UUID
必需

通知的 UUID

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.16.4. resetRepositoryNotificationFailures

将存储库通知重置为 0 个失败。

POST /api/v1/repository/{repository}/notification/{uuid}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

UUID
必需

通知的 UUID

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.16.5. createRepoNotification

POST /api/v1/repository/{repository}/notification/

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

在存储库中创建通知的信息

名称描述模式

event
可选

通知将响应的事件

字符串

method
可选

通知方法(如电子邮件或 Web 回调)

字符串

config
optional

通知方法的 JSON 配置信息

对象

eventConfig
optional

通知特定事件的 JSON 配置信息

对象

title
可选

通知的人类可读标题

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.16.6. listRepoNotifications

列出指定存储库的通知。

GET /api/v1/repository/{repository}/notification/

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.17. repotoken

管理存储库访问令牌(DEPRECATED)。

2.17.1. getTokens

获取指定的存储库令牌信息。

GET /api/v1/repository/{repository}/tokens/{code}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

需要 代码

令牌代码

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.17.2. changeToken

更新指定存储库令牌的权限。

PUT /api/v1/repository/{repository}/tokens/{code}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

需要 代码

令牌代码

字符串

请求正文模式(application/json)

令牌权限的描述

名称描述模式

角色
可选

用于令牌的角色

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.17.3. deleteToken

删除存储库令牌。

DELETE /api/v1/repository/{repository}/tokens/{code}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

需要 代码

令牌代码

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.17.4. createToken

创建新的存储库令牌。

POST /api/v1/repository/{repository}/tokens/

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

新令牌的描述。

名称描述模式

friendlyName
optional

帮助识别令牌的友好名称

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.17.5. listRepoTokens

列出指定存储库的令牌。

GET /api/v1/repository/{repository}/tokens/

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18. robot

管理用户和机构机器人帐户。

2.18.1. getUserRobots

列出用户的可用机器人。

GET /api/v1/user/robots

Authorizations: oauth2_implicit(user:admin)

查询参数
类型Name描述模式

query

limit
optional

如果指定,则要返回的机器机器数量。

整数

query

Token
可选

如果为 false,则机器人的令牌不会返回。

布尔值

query

权限
可选

是否要包含机器机器有权限的存储库和团队。

布尔值

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.2. getOrgRobotPermissions

返回机构机器人的存储库权限列表。

GET /api/v1/organization/{orgname}/robots/{robot_shortname}/permissions

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.3. regenerateOrgRobotToken

为机构机器人重新生成令牌。

POST /api/v1/organization/{orgname}/robots/{robot_shortname}/regenerate

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.4. getUserRobotPermissions

返回用户机器人的存储库权限列表。

GET /api/v1/user/robots/{robot_shortname}/permissions

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.5. regenerateUserRobotToken

重新生成用户机器人的令牌。

POST /api/v1/user/robots/{robot_shortname}/regenerate

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.6. getOrgRobot

返回具有指定名称的组织机器人。

GET /api/v1/organization/{orgname}/robots/{robot_shortname}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.7. createOrgRobot

在 组织中创建新机器人。

PUT /api/v1/organization/{orgname}/robots/{robot_shortname}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

path

OrgName
必需

机构名称

字符串

请求正文模式(application/json)

创建机器机器的可选数据

名称描述模式

description
可选

机器人的可选文本描述

字符串

unstructured_metadata
optional

机器人的可选非结构化元数据

对象

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.8. deleteOrgRobot

删除现有的机构机器人。

DELETE /api/v1/organization/{orgname}/robots/{robot_shortname}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.9. getOrgRobots

列出机构的机器人。

GET /api/v1/organization/{orgname}/robots

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

OrgName
必需

机构名称

字符串

查询参数
类型Name描述模式

query

limit
optional

如果指定,则要返回的机器机器数量。

整数

query

Token
可选

如果为 false,则机器人的令牌不会返回。

布尔值

query

权限
可选

是否包括机器人有权限的仓库和团队。

布尔值

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.10. getUserRobot

返回用户机器人具有指定名称。

GET /api/v1/user/robots/{robot_shortname}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.11. createUserRobot

使用指定名称创建一个新用户机器机器。

PUT /api/v1/user/robots/{robot_shortname}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

请求正文模式(application/json)

创建机器机器的可选数据

名称描述模式

description
可选

机器人的可选文本描述

字符串

unstructured_metadata
optional

机器人的可选非结构化元数据

对象

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.18.12. deleteUserRobot

删除现有的机器人。

DELETE /api/v1/user/robots/{robot_shortname}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

robot_shortname
required

机器机器的短名称,没有任何用户或机构前缀

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.20. secscan

列出和管理存储库漏洞和其他安全信息。

2.20.1. getRepoManifestSecurity

GET /api/v1/repository/{repository}/manifest/{manifestref}/security

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

manifestref
必需

清单摘要

字符串

查询参数
类型Name描述模式

query

安全漏洞
可选

包括漏洞信息

布尔值

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21. 超级用户

超级用户 API.

2.21.1. createInstallUser

创建新用户。

POST /api/v1/superuser/users/

Authorizations: oauth2_implicit(super:user)

请求正文模式(application/json)

创建用户的数据

名称描述模式

username
optional

创建用户的用户名

字符串

email
可选

创建用户的电子邮件地址

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.2. listAllUsers

返回系统中所有用户的列表。

GET /api/v1/superuser/users/

Authorizations: oauth2_implicit(super:user)

查询参数
类型Name描述模式

query

next_page
optional

下一页面页面的页面令牌

字符串

query

limit
optional

限制为每个页面返回的结果数。最大 100 个.

整数

query

禁用
可选

如果为 false,则只返回启用的用户。

布尔值

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.3. listAllLogs

列出当前系统的使用日志。

GET /api/v1/superuser/logs

Authorizations: oauth2_implicit(super:user)

查询参数
类型Name描述模式

query

next_page
optional

下一页面页面的页面令牌

字符串

query

Page
可选

日志的页面号

整数

query

ENDTIME
可选

获取日志的最新时间(%m/%d/%Y %Z)

字符串

query

starttime
optional

从中获取日志的早期时间(%m/%d/%Y %Z)

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.4. createServiceKey

POST /api/v1/superuser/keys

Authorizations: oauth2_implicit(super:user)

请求正文模式(application/json)

创建服务密钥的描述

名称描述模式

service
可选

使用这个密钥进行身份验证的服务

字符串

name
可选

服务密钥的友好名称

字符串

metadata
optional

此键元数据的键/值对

对象

notes
可选

如果指定,则密钥的额外备注

字符串

过期
可选

作为 unix 时间戳的过期日期

 
响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.5. listServiceKeys

GET /api/v1/superuser/keys

Authorizations: oauth2_implicit(super:user)

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.6. changeUserQuotaSuperUser

PUT /api/v1/superuser/organization/{namespace}/quota/{quota_id}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

path

quota_id
required

 

字符串

请求正文模式(application/json)

新机构配额的描述

名称描述模式

limit_bytes
optional

允许机构允许的字节数

整数

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.7. deleteUserQuotaSuperUser

DELETE /api/v1/superuser/organization/{namespace}/quota/{quota_id}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

path

quota_id
required

 

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.8. createUserQuotaSuperUser

POST /api/v1/superuser/organization/{namespace}/quota

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

请求正文模式(application/json)

新机构配额的描述

名称描述模式

limit_bytes
optional

允许机构允许的字节数

整数

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.9. listUserQuotaSuperUser

GET /api/v1/superuser/organization/{namespace}/quota

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.10. changeOrganizationQuotaSuperUser

PUT /api/v1/superuser/users/{namespace}/quota/{quota_id}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

path

quota_id
required

 

字符串

请求正文模式(application/json)

新机构配额的描述

名称描述模式

limit_bytes
optional

允许机构允许的字节数

整数

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.11. deleteOrganizationQuotaSuperUser

DELETE /api/v1/superuser/users/{namespace}/quota/{quota_id}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

path

quota_id
required

 

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.12. createOrganizationQuotaSuperUser

POST /api/v1/superuser/users/{namespace}/quota

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

请求正文模式(application/json)

新机构配额的描述

名称描述模式

limit_bytes
optional

允许机构允许的字节数

整数

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.13. listOrganizationQuotaSuperUser

GET /api/v1/superuser/users/{namespace}/quota

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.14. changeOrganization

更新指定用户的信息。

PUT /api/v1/superuser/organizations/{name}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

name
必需

管理有 organizaton 的名称

字符串

请求正文模式(application/json)

现有机构的更新描述

名称描述模式

email
可选

机构联系电子邮件

字符串

invoice_email
optional

无论组织是否需要接收发票的电子邮件

布尔值

invoice_email_address
optional

接收发票的电子邮件地址

 

tag_expiration_s
optional

标签过期的秒数

整数

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.15. deleteOrganization

删除指定的机构。

DELETE /api/v1/superuser/organizations/{name}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

name
必需

管理有 organizaton 的名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.16. approveServiceKey

POST /api/v1/superuser/approvedkeys/{kid}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

kid
required

服务密钥的唯一标识符

字符串

请求正文模式(application/json)

批准服务密钥的信息

名称描述模式

notes
可选

可选批准备注

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.17. deleteServiceKey

DELETE /api/v1/superuser/keys/{kid}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

kid
required

服务密钥的唯一标识符

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.18. updateServiceKey

PUT /api/v1/superuser/keys/{kid}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

kid
required

服务密钥的唯一标识符

字符串

请求正文模式(application/json)

服务密钥更新的描述

名称描述模式

name
可选

服务密钥的友好名称

字符串

metadata
optional

此键元数据的键/值对

对象

过期
可选

作为 unix 时间戳的过期日期

 
响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.19. getServiceKey

GET /api/v1/superuser/keys/{kid}

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

kid
required

服务密钥的唯一标识符

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.20. getRepoBuildStatusSuperUser

返回构建 uuids 指定的构建的状态。

GET /api/v1/superuser/{build_uuid}/status

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

build_uuid
required

构建的 UUID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.21. getRepoBuildSuperUser

返回有关构建的信息。

GET /api/v1/superuser/{build_uuid}/build

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

build_uuid
required

构建的 UUID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.22. getRepoBuildLogsSuperUser

返回构建 uuid 指定构建的构建日志。

GET /api/v1/superuser/{build_uuid}/logs

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

build_uuid
required

构建的 UUID

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.23. getRegistrySize

GET /api/v1/superuser/registrysize/

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

请求正文模式(application/json)

镜像 registry 大小的描述

Name描述模式

size_bytes*
optional

允许机构允许的字节数

整数

last_ran

 

整数

Queued

 

布尔值

running

 

布尔值

响应
HTTP 代码描述模式

201

已创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.21.24. postRegistrySize

POST /api/v1/superuser/registrysize/

Authorizations: oauth2_implicit(super:user)

路径参数
类型Name描述模式

path

namespace
必需

 

字符串

请求正文模式(application/json)

镜像 registry 大小的描述

Name描述模式

size_bytes*
optional

允许机构允许的字节数

整数

last_ran

 

整数

Queued

 

布尔值

running

 

布尔值

响应
HTTP 代码描述模式

201

已创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.22. tag

管理存储库的标签。

2.22.1. restoreTag

将存储库标签还原回存储库中的以前的镜像。

POST /api/v1/repository/{repository}/tag/{tag}/restore

Authorizations: oauth2_implicit(存储库:write

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

需要 标签

标签的名称

字符串

请求正文模式(application/json)

将标签恢复到特定镜像

名称描述模式

manifest_digest
optional

如果指定,应使用的清单摘要

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.22.2. changeTag

更改标签指向或创建新标签的镜像。

PUT /api/v1/repository/{repository}/tag/{tag}

Authorizations: oauth2_implicit(存储库:write

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

需要 标签

标签的名称

字符串

请求正文模式(application/json)

更改特定标签

名称描述模式

manifest_digest
optional

(如果指定)标签应指向的清单摘要

 

过期
可选

(如果指定)镜像的过期时间

 
响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.22.3. deleteFullTag

删除指定的存储库标签。

DELETE /api/v1/repository/{repository}/tag/{tag}

Authorizations: oauth2_implicit(存储库:write

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

path

需要 标签

标签的名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.22.4. listRepoTags

GET /api/v1/repository/{repository}/tag/

Authorizations: oauth2_implicit(存储库:read

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

查询参数
类型Name描述模式

query

onlyActiveTags
optional

将 过滤为仅活跃的标签。

布尔值

query

Page
可选

结果页面索引。默认 1。

整数

query

limit
optional

限制为每个页面返回的结果数。最大 100 个.

整数

query

filter_tag_name
optional

语法:<op>:<name> 根据操作过滤标签名称。<op> 可以是 'like' 或 'eq'。

字符串

query

specificTag
optional

过滤标签到特定标签。

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.23. Team

创建、列出和管理组织团队。

2.23.1. getOrganizationTeamPermissions

返回机构团队的存储库权限列表。

GET /api/v1/organization/{orgname}/team/{teamname}/permissions

授权: 

路径参数
类型Name描述模式

path

teamName
必需

团队的名称

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.23.2. updateOrganizationTeamMember

为现有团队添加或邀请一个成员。

PUT /api/v1/organization/{orgname}/team/{teamname}/members/{membername}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

teamName
必需

团队的名称

字符串

path

memberName
必需

团队成员的用户名

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.23.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}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

teamName
必需

团队的名称

字符串

path

memberName
必需

团队成员的用户名

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.23.4. getOrganizationTeamMembers

检索指定团队的成员列表。

GET /api/v1/organization/{orgname}/team/{teamname}/members

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

teamName
必需

团队的名称

字符串

path

OrgName
必需

机构名称

字符串

查询参数
类型Name描述模式

query

includePending
optional

是否包含待处理成员

布尔值

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.23.5. inviteTeamMemberEmail

向现有团队邀请电子邮件地址。

PUT /api/v1/organization/{orgname}/team/{teamname}/invite/{email}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型名称描述模式

path

email
required

 

字符串

path

teamName
必需

 

字符串

path

OrgName
必需

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.23.6. deleteTeamMemberEmailInvite

删除邀请电子邮件地址加入团队。

DELETE /api/v1/organization/{orgname}/team/{teamname}/invite/{email}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型名称描述模式

path

email
required

 

字符串

path

teamName
必需

 

字符串

path

OrgName
必需

 

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.23.7. updateOrganizationTeam

更新指定团队的机构范围内权限。

PUT /api/v1/organization/{orgname}/team/{teamname}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

teamName
必需

团队的名称

字符串

path

OrgName
必需

机构名称

字符串

请求正文模式(application/json)

团队的描述

名称描述模式

角色
可选

应该应用到团队的机构广泛权限

字符串

description
可选

团队的 markdown 描述

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.23.8. deleteOrganizationTeam

删除指定的团队。

DELETE /api/v1/organization/{orgname}/team/{teamname}

Authorizations: oauth2_implicit(org:admin)

路径参数
类型Name描述模式

path

teamName
必需

团队的名称

字符串

path

OrgName
必需

机构名称

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.24. trigger

创建、列出和管理构建触发器。

2.24.1. activateBuildTrigger

激活指定的构建触发器。

POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/activate

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

trigger_uuid
required

构建触发器的 UUID

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)
名称描述模式

config
optional

任意 json.

对象

pull_robot
optional

用于拉取镜像的机器机器的名称。

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.24.2. listTriggerRecentBuilds

列出由指定触发器启动的构建。

GET /api/v1/repository/{repository}/trigger/{trigger_uuid}/builds

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

trigger_uuid
required

构建触发器的 UUID

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

查询参数
类型Name描述模式

query

limit
optional

要返回的最大构建数

整数

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.24.3. manuallyStartBuildTrigger

从指定的触发器手动启动构建。

POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/start

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

trigger_uuid
required

构建触发器的 UUID

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

用于激活构建触发器的可选运行参数

名称描述模式

branch_name
optional

(仅限 SCM),如果指定,要构建的分支名称。

字符串

commit_sha
optional

(仅自定义)如果指定,则用于签出 git 存储库的 ref/SHA1。

字符串

refs
可选

(仅限 SCM)如果指定,则要构建的 ref。

 
响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.24.4. getBuildTrigger

获取指定构建触发器的信息。

GET /api/v1/repository/{repository}/trigger/{trigger_uuid}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

trigger_uuid
required

构建触发器的 UUID

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.24.5. updateBuildTrigger

更新指定的构建触发器。

PUT /api/v1/repository/{repository}/trigger/{trigger_uuid}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

trigger_uuid
required

构建触发器的 UUID

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

请求正文模式(application/json)

更新构建触发器的选项

名称描述模式

启用
可选

是否启用构建触发器

布尔值

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.24.6. deleteBuildTrigger

删除指定的构建触发器。

DELETE /api/v1/repository/{repository}/trigger/{trigger_uuid}

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

trigger_uuid
required

构建触发器的 UUID

字符串

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.24.7. listBuildTriggers

列出指定存储库的触发器。

GET /api/v1/repository/{repository}/trigger/

Authorizations: oauth2_implicit(repo:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.25. user

管理当前用户。

2.25.1. createStar

星级存储库。

POST /api/v1/user/starred

Authorizations: oauth2_implicit(存储库:read

请求正文模式(application/json)
名称描述模式

namespace
可选

仓库所属的命名空间

字符串

软件仓库
可选

仓库名称

字符串

响应
HTTP 代码描述模式

201

成功创建

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.25.2. listStarredRepos

列出所有星级存储库。

GET /api/v1/user/starred

Authorizations: oauth2_implicit(user:admin)

查询参数
类型Name描述模式

query

next_page
optional

下一页面页面的页面令牌

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.25.3. getLoggedInUser

获取经过身份验证的用户的用户信息。

GET /api/v1/user/

Authorizations: oauth2_implicit(用户:read

响应
HTTP 代码描述模式

200

成功调用

UserView

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.25.4. deleteStar

从存储库中删除星级。

DELETE /api/v1/user/starred/{repository}

Authorizations: oauth2_implicit(user:admin)

路径参数
类型Name描述模式

path

软件仓库
必需

仓库的完整路径。例如 namespace/name

字符串

响应
HTTP 代码描述模式

204

已删除

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.25.5. getUserInformation

获取指定用户的用户信息。

GET /api/v1/users/{username}

授权: 

路径参数
类型Name描述模式

path

username
required

 

字符串

响应
HTTP 代码描述模式

200

成功调用

 

400

错误请求

ApiError

401

必需的会话

ApiError

403

未授权访问

ApiError

404

未找到

ApiError

2.26. 定义

2.26.1. ApiError

名称描述模式

status
可选

响应的状态代码。

整数

type
可选

引用错误的类型。

字符串

detail
optional

有关错误特定实例的详情。

字符串

title
可选

用于标识错误类型的唯一错误代码。

字符串

error_message
optional

弃用; 详情的别名

字符串

error_type
optional

弃用; 详情的别名

字符串

2.26.2. UserView

名称描述模式

验证的
可选

是否验证用户的电子邮件地址

布尔值

匿名
可选

如果这个用户数据代表客户机用户,则为 true

布尔值

email
可选

用户的电子邮件地址

字符串

avatar
可选

代表用户图标的 Avatar 数据

对象

机构
可选

有关用户所属机构的信息

对象数组

登录
可选

用户通过身份验证的外部登录供应商列表

对象数组

can_create_repo
optional

用户是否具有创建存储库的权限

布尔值

preferred_namespace
optional

如果为 true,则用户的命名空间是要显示的首选命名空间

布尔值

2.26.3. ViewMirrorConfig

名称描述模式

is_enabled
optional

用于启用或禁用同步。

布尔值

external_reference
optional

外部存储库的位置。

字符串

external_registry_username
optional

用于与外部 registry 进行身份验证的用户名。

 

external_registry_password
optional

用于与外部 registry 进行身份验证的密码。

 

sync_start_date
optional

下次确定此存储库准备好同步的时间。

字符串

sync_interval
optional

next_start_date 开始同步后的秒数。

整数

robot_username
optional

用于镜像推送的机器人的用户名。

字符串

root_rule
optional

用于决定应同步哪些标签的 glob-patterns 列表。

对象

external_registry_config
optional

 

对象

2.26.4. ApiErrorDescription

名称描述模式

type
可选

引用错误类型资源

字符串

title
可选

错误标题。可用于唯一标识错误类型。

字符串

description
可选

有关错误的更多详细描述,其中可能包括修复此问题的帮助。

字符串

第 3 章 API 配置示例

3.1. external_registry_config object reference

{
        "is_enabled": True,
        "external_reference": "quay.io/redhat/quay",
        "sync_interval": 5000,
        "sync_start_date": datetime(2020, 0o1, 0o2, 6, 30, 0),
        "external_registry_username": "fakeUsername",
        "external_registry_password": "fakePassword",
        "external_registry_config": {
            "verify_tls": True,
            "unsigned_images": False,
            "proxy": {
                "http_proxy": "http://insecure.proxy.corp",
                "https_proxy": "https://secure.proxy.corp",
                "no_proxy": "mylocalhost",
            },
        },
    }

3.2. rule_rule 对象引用

    {
            "root_rule": {"rule_kind": "tag_glob_csv", "rule_value": ["latest", "foo", "bar"]},
        }

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.