{{< details >}}

  • Tier: 专业版, 旗舰版
  • Offering: JihuLab.com

{{< /details >}}

{{< history >}}

  • 引入于极狐GitLab 16.4,使用名为 ssh_certificates_rest_endpoints功能标志。默认禁用。
  • 在极狐GitLab 16.9 中为 JihuLab.com 启用。
  • 在极狐GitLab 17.7 中 GA。功能标志 ssh_certificates_rest_endpoints 被移除。

{{< /history >}}

使用此 API 可以创建、读取和删除群组的 SSH 证书。只有顶级群组可以存储 SSH 证书。要使用此 API,您必须以分配有所有者角色的用户身份进行身份验证

获取特定群组的所有 SSH 证书

GET /groups/:id/ssh_certificates

参数:

属性 类型 必需 描述
id integer 群组的 ID。

默认情况下,GET 请求一次返回 20 个结果,因为 API 结果是分页的。阅读更多关于分页的信息。

请求示例:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://primary.example.com/api/v4/groups/90/ssh_certificates"

响应示例:

[
  {
    "id": 12345,
    "title": "SSH Title 1",
    "key": "ssh-rsa AAAAB3NzaC1ea2dAAAADAQABAAAAgQDGbLkF44ScxRQi2FfA7VsHgGqptguSbmW26jkJhEiRZpGS4/+UzaaSqc8Psw2OhSsKc5QwfrB/ANpO4LhOjDzhf2FuD8ACkv3R7XtaJ+rN6PlyzoBfLAiSyzxhEoMFDBprTgaiZKgg2yQ9dRH55w3f6XMZ4hnaUae53nQgfQLxFw== example@gitlab.com",
    "created_at": "2023-09-08T12:39:00.172Z"
  },
  {
    "id":12346,
    "title":"SSH Title 2",
    "key": "ssh-rsa AAAAB3NzaC1ac2EAAAADAQABAAAAgQDTl/hHfu1F/KlR+QfgM2wUmyxcN5YeiaWluEGIrfXUeJuI+bK6xjpE3+2afHDYtE9VQkeL32KRjefX2d72Jeoa68ewt87Vn8CcGkUTOTpHNzeL8pHMKFs3m7ArSBxNg5vTdgAsq5dbDGNtat7b2WCHTNvtWoON1Jetne30uW2EwQ== example@gitlab.com",
    "created_at": "2023-09-08T12:39:00.244Z"
  }
]

创建 SSH 证书

在群组中创建一个新的 SSH 证书。

POST /groups/:id/ssh_certificates

参数:

属性 类型 必需 描述
id integer 群组的 ID。
key string SSH 证书的公钥。
title string SSH 证书的标题。

请求示例:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/ssh_certificates?title=newtitle&key=ssh-rsa+REDACTED+example%40gitlab.com"

响应示例:

{
  "id": 54321,
  "title": "newtitle",
  "key": "ssh-rsa ssh-rsa AAAAB3NzaC1ea2dAAAADAQABAAAAgQDGbLkF44ScxRQi2FfA7VsHgGqptguSbmW26jkJhEiRZpGS4/+UzaaSqc8Psw2OhSsKc5QwfrB/ANpO4LhOjDzhf2FuD8ACkv3R7XtaJ+rN6PlyzoBfLAiSyzxhEoMFDBprTgaiZKgg2yQ9dRH55w3f6XMZ4hnaUae53nQgfQLxFw== example@gitlab.com",
  "created_at": "2023-09-08T12:39:00.172Z"
}

删除群组 SSH 证书

从群组中删除 SSH 证书。

DELETE /groups/:id/ssh_certificate/:id

参数:

属性 类型 必需 描述
id integer 群组的 ID
id integer SSH 证书的 ID

请求示例:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/ssh_certificates/12345"