{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署

{{< /details >}}

{{< history >}}

{{< /history >}}

这是 Debian 项目分发 API 的参考文档。该 API 位于一个默认禁用的功能标志后面。要使用此 API,您必须启用 Debian API

{{< alert type=”warning” >}}

此 API 处于开发阶段,不适合生产使用。

{{< /alert >}}

有关使用 Debian 软件包的更多信息,请参阅Debian 软件包注册表文档

启用 Debian API

Debian API 位于一个默认禁用的功能标志后面。具有访问极狐GitLab Rails 控制台权限的极狐GitLab 管理员可以选择启用它。要启用它,请按照启用 Debian API中的说明进行操作。

认证到 Debian 分发 API

请参阅认证到 Debian 分发 API

列出项目中的所有 Debian 分发

列出给定项目中的 Debian 分发。

GET /projects/:id/debian_distributions
属性 类型 是否必需 描述
id integer/string 项目 ID 或项目的 URL 编码路径
codename string 使用特定的 codename 进行过滤。
suite string 使用特定的 suite 进行过滤。
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/debian_distributions"

示例响应:

[
  {
    "id": 1,
    "codename": "sid",
    "suite": null,
    "origin": null,
    "label": null,
    "version": null,
    "description": null,
    "valid_time_duration_seconds": null,
    "components": [
      "main"
    ],
    "architectures": [
      "all",
      "amd64"
    ]
  }
]

单个 Debian 项目分发

获取单个 Debian 项目分发。

GET /projects/:id/debian_distributions/:codename
属性 类型 是否必需 描述
id integer/string 项目 ID 或项目的 URL 编码路径
codename string 分发的 codename
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/debian_distributions/unstable"

示例响应:

{
  "id": 1,
  "codename": "sid",
  "suite": null,
  "origin": null,
  "label": null,
  "version": null,
  "description": null,
  "valid_time_duration_seconds": null,
  "components": [
    "main"
  ],
  "architectures": [
    "all",
    "amd64"
  ]
}

单个 Debian 项目分发密钥

获取单个 Debian 项目分发密钥。

GET /projects/:id/debian_distributions/:codename/key.asc
属性 类型 是否必需 描述
id integer/string 项目 ID 或项目的 URL 编码路径
codename string 分发的 codename
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/debian_distributions/unstable/key.asc"

示例响应:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: Alice's OpenPGP certificate
Comment: https://www.ietf.org/id/draft-bre-openpgp-samples-01.html

mDMEXEcE6RYJKwYBBAHaRw8BAQdArjWwk3FAqyiFbFBKT4TzXcVBqPTB3gmzlC/U
b7O1u120JkFsaWNlIExvdmVsYWNlIDxhbGljZUBvcGVucGdwLmV4YW1wbGU+iJAE
ExYIADgCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTrhbtfozp14V6UTmPy
MVUMT0fjjgUCXaWfOgAKCRDyMVUMT0fjjukrAPoDnHBSogOmsHOsd9qGsiZpgRnO
dypvbm+QtXZqth9rvwD9HcDC0tC+PHAsO7OTh1S1TC9RiJsvawAfCPaQZoed8gK4
OARcRwTpEgorBgEEAZdVAQUBAQdAQv8GIa2rSTzgqbXCpDDYMiKRVitCsy203x3s
E9+eviIDAQgHiHgEGBYIACAWIQTrhbtfozp14V6UTmPyMVUMT0fjjgUCXEcE6QIb
DAAKCRDyMVUMT0fjjlnQAQDFHUs6TIcxrNTtEZFjUFm1M0PJ1Dng/cDW4xN80fsn
0QEA22Kr7VkCjeAEC08VSTeV+QFsmz55/lntWkwYWhmvOgE=
=iIGO
-----END PGP PUBLIC KEY BLOCK-----

创建 Debian 项目分发

创建 Debian 项目分发。

POST /projects/:id/debian_distributions
属性 类型 是否必需 描述
id integer/string 项目 ID 或项目的 URL 编码路径
codename string Debian 分发的代号。
suite string 新的 Debian 分发的套件。
origin string 新的 Debian 分发的来源。
label string 新的 Debian 分发的标签。
version string 新的 Debian 分发的版本。
description string 新的 Debian 分发的描述。
valid_time_duration_seconds integer 新的 Debian 分发的有效时间(以秒为单位)。
components string array 新的 Debian 分发的组件列表。
architectures string array 新的 Debian 分发的架构列表。
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/debian_distributions?codename=sid"

示例响应:

{
  "id": 1,
  "codename": "sid",
  "suite": null,
  "origin": null,
  "label": null,
  "version": null,
  "description": null,
  "valid_time_duration_seconds": null,
  "components": [
    "main"
  ],
  "architectures": [
    "all",
    "amd64"
  ]
}

更新 Debian 项目分发

更新 Debian 项目分发。

PUT /projects/:id/debian_distributions/:codename
属性 类型 是否必需 描述
id integer/string 项目 ID 或项目的 URL 编码路径
codename string Debian 分发的代号。
suite string Debian 分发的新套件。
origin string Debian 分发的新来源。
label string Debian 分发的新标签。
version string Debian 分发的新版本。
description string Debian 分发的新描述。
valid_time_duration_seconds integer Debian 分发的新有效时间(以秒为单位)。
components string array Debian 分发的新组件列表。
architectures string array Debian 分发的新架构列表。
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/debian_distributions/unstable?suite=new-suite&valid_time_duration_seconds=604800"

示例响应:

{
  "id": 1,
  "codename": "sid",
  "suite": "new-suite",
  "origin": null,
  "label": null,
  "version": null,
  "description": null,
  "valid_time_duration_seconds": 604800,
  "components": [
    "main"
  ],
  "architectures": [
    "all",
    "amd64"
  ]
}

删除 Debian 项目分发

删除 Debian 项目分发。

DELETE /projects/:id/debian_distributions/:codename
属性 类型 是否必需 描述
id integer/string 项目 ID 或项目的 URL 编码路径
codename string Debian 分发的代号。
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/debian_distributions/unstable"