Debian 项目分发 API

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

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

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

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

启用 Debian API#

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

认证到 Debian 分发 API#

请参阅认证到 Debian 分发 API

列出项目中的所有 Debian 分发#

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

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

示例响应:

json
1[ 2 { 3 "id": 1, 4 "codename": "sid", 5 "suite": null, 6 "origin": null, 7 "label": null, 8 "version": null, 9 "description": null, 10 "valid_time_duration_seconds": null, 11 "components": [ 12 "main" 13 ], 14 "architectures": [ 15 "all", 16 "amd64" 17 ] 18 } 19]

单个 Debian 项目分发#

获取单个 Debian 项目分发。

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

示例响应:

json
1{ 2 "id": 1, 3 "codename": "sid", 4 "suite": null, 5 "origin": null, 6 "label": null, 7 "version": null, 8 "description": null, 9 "valid_time_duration_seconds": null, 10 "components": [ 11 "main" 12 ], 13 "architectures": [ 14 "all", 15 "amd64" 16 ] 17}

单个 Debian 项目分发密钥#

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

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

示例响应:

plaintext
1-----BEGIN PGP PUBLIC KEY BLOCK----- 2Comment: Alice's OpenPGP certificate 3Comment: https://www.ietf.org/id/draft-bre-openpgp-samples-01.html 4 5mDMEXEcE6RYJKwYBBAHaRw8BAQdArjWwk3FAqyiFbFBKT4TzXcVBqPTB3gmzlC/U 6b7O1u120JkFsaWNlIExvdmVsYWNlIDxhbGljZUBvcGVucGdwLmV4YW1wbGU+iJAE 7ExYIADgCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTrhbtfozp14V6UTmPy 8MVUMT0fjjgUCXaWfOgAKCRDyMVUMT0fjjukrAPoDnHBSogOmsHOsd9qGsiZpgRnO 9dypvbm+QtXZqth9rvwD9HcDC0tC+PHAsO7OTh1S1TC9RiJsvawAfCPaQZoed8gK4 10OARcRwTpEgorBgEEAZdVAQUBAQdAQv8GIa2rSTzgqbXCpDDYMiKRVitCsy203x3s 11E9+eviIDAQgHiHgEGBYIACAWIQTrhbtfozp14V6UTmPyMVUMT0fjjgUCXEcE6QIb 12DAAKCRDyMVUMT0fjjlnQAQDFHUs6TIcxrNTtEZFjUFm1M0PJ1Dng/cDW4xN80fsn 130QEA22Kr7VkCjeAEC08VSTeV+QFsmz55/lntWkwYWhmvOgE= 14=iIGO 15-----END PGP PUBLIC KEY BLOCK-----

创建 Debian 项目分发#

创建 Debian 项目分发。

plaintext
POST /projects/:id/debian_distributions
属性类型是否必需描述
idinteger/string项目 ID 或项目的 URL 编码路径
codenamestringDebian 分发的代号。
suitestring新的 Debian 分发的套件。
originstring新的 Debian 分发的来源。
labelstring新的 Debian 分发的标签。
versionstring新的 Debian 分发的版本。
descriptionstring新的 Debian 分发的描述。
valid_time_duration_secondsinteger新的 Debian 分发的有效时间(以秒为单位)。
componentsstring array新的 Debian 分发的组件列表。
architecturesstring array新的 Debian 分发的架构列表。
shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/debian_distributions?codename=sid"

示例响应:

json
1{ 2 "id": 1, 3 "codename": "sid", 4 "suite": null, 5 "origin": null, 6 "label": null, 7 "version": null, 8 "description": null, 9 "valid_time_duration_seconds": null, 10 "components": [ 11 "main" 12 ], 13 "architectures": [ 14 "all", 15 "amd64" 16 ] 17}

更新 Debian 项目分发#

更新 Debian 项目分发。

plaintext
PUT /projects/:id/debian_distributions/:codename
属性类型是否必需描述
idinteger/string项目 ID 或项目的 URL 编码路径
codenamestringDebian 分发的代号。
suitestringDebian 分发的新套件。
originstringDebian 分发的新来源。
labelstringDebian 分发的新标签。
versionstringDebian 分发的新版本。
descriptionstringDebian 分发的新描述。
valid_time_duration_secondsintegerDebian 分发的新有效时间(以秒为单位)。
componentsstring arrayDebian 分发的新组件列表。
architecturesstring arrayDebian 分发的新架构列表。
shell
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"

示例响应:

json
1{ 2 "id": 1, 3 "codename": "sid", 4 "suite": "new-suite", 5 "origin": null, 6 "label": null, 7 "version": null, 8 "description": null, 9 "valid_time_duration_seconds": 604800, 10 "components": [ 11 "main" 12 ], 13 "architectures": [ 14 "all", 15 "amd64" 16 ] 17}

删除 Debian 项目分发#

删除 Debian 项目分发。

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