跳至主要内容
REST API 现在已版本化。 有关更多信息,请参阅“关于 API 版本控制”。

标签的 REST API 端点

使用 REST API 管理仓库、问题和拉取请求的标签。

关于标签

您可以使用 REST API 管理仓库的标签,并向问题和拉取请求添加或删除标签。每个拉取请求都是一个问题,但并非每个问题都是一个拉取请求。因此,在问题端点中提供了这两个功能的“共享”操作,例如管理分配者、标签和里程碑。

列出问题的标签

列出问题的全部标签。

用于“列出问题的标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(读取)
  • “拉取请求”仓库权限(读取)

如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。

用于“列出问题的标签”的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

issue_number 整数 必需

标识问题的编号。

查询参数
名称,类型,描述
per_page 整数

每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果页码。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出问题标签”的 HTTP 响应状态代码

状态代码描述
200

OK

301

永久移动

404

资源未找到

410

已消失

“列出问题标签”的代码示例

请求示例

get/repos/{owner}/{repo}/issues/{issue_number}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels

响应

状态:200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "某些功能无法正常工作", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "新功能或请求", "color": "a2eeef", "default": false } ]

为问题添加标签

将标签添加到问题中。如果提供一个空的标签数组,则会从问题中删除所有标签。

用于“为问题添加标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(写入)
  • “拉取请求”仓库权限(写入)

用于“为问题添加标签”的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

issue_number 整数 必需

标识问题的编号。

主体参数
名称,类型,描述
labels 字符串数组

要添加到问题现有标签的标签名称。您可以传递一个空数组以删除所有标签。或者,您可以直接传递单个标签作为stringarray,但 GitHub 建议传递包含labels键的对象。您也可以替换问题的全部标签。有关更多信息,请参阅“为问题设置标签”。

用于“为问题添加标签”的 HTTP 响应状态代码

状态代码描述
200

OK

301

永久移动

404

资源未找到

410

已消失

422

验证失败或端点已被垃圾邮件攻击。

用于“为问题添加标签”的代码示例

请求示例

post/repos/{owner}/{repo}/issues/{issue_number}/labels
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels \ -d '{"labels":["bug","enhancement"]}'

响应

状态:200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "某些功能无法正常工作", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "新功能或请求", "color": "a2eeef", "default": false } ]

为问题设置标签

删除所有以前的标签并为问题设置新标签。

用于“为问题设置标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(写入)
  • “拉取请求”仓库权限(写入)

用于“为问题设置标签”的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

issue_number 整数 必需

标识问题的编号。

主体参数
名称,类型,描述
labels 字符串数组

要为问题设置的标签名称。您设置的标签将替换任何现有标签。您可以传递一个空数组以删除所有标签。或者,您可以直接传递单个标签作为stringarray,但 GitHub 建议传递包含labels键的对象。您也可以将标签添加到问题的现有标签中。有关更多信息,请参阅“向问题添加标签”。

“为问题设置标签”的 HTTP 响应状态代码

状态代码描述
200

OK

301

永久移动

404

资源未找到

410

已消失

422

验证失败或端点已被垃圾邮件攻击。

“为问题设置标签”的代码示例

请求示例

put/repos/{owner}/{repo}/issues/{issue_number}/labels
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels \ -d '{"labels":["bug","enhancement"]}'

响应

状态:200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "某些功能无法正常工作", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "新功能或请求", "color": "a2eeef", "default": false } ]

从问题中删除所有标签

从问题中删除所有标签。

“删除问题中的所有标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(写入)
  • “拉取请求”仓库权限(写入)

“删除问题中的所有标签”的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

issue_number 整数 必需

标识问题的编号。

“删除问题中的所有标签”的 HTTP 响应状态代码

状态代码描述
204

无内容

301

永久移动

404

资源未找到

410

已消失

“删除问题中的所有标签”的代码示例

请求示例

delete/repos/{owner}/{repo}/issues/{issue_number}/labels
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels

响应

状态:204

从问题中删除标签

从问题中删除指定的标签,并返回问题上的剩余标签。如果标签不存在,此端点将返回404 Not Found状态。

“从问题中删除标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(写入)
  • “拉取请求”仓库权限(写入)

“从问题中删除标签”的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

issue_number 整数 必需

标识问题的编号。

name string 必填

“从问题中删除标签”的 HTTP 响应状态代码

状态代码描述
200

OK

301

永久移动

404

资源未找到

410

已消失

“从问题中删除标签”的代码示例

请求示例

delete/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels/NAME

响应

状态:200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true } ]

列出仓库标签

列出仓库的所有标签。

“列出仓库标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(读取)
  • “拉取请求”仓库权限(读取)

如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。

“列出仓库标签”的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

查询参数
名称,类型,描述
per_page 整数

每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果页码。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出仓库标签”的 HTTP 响应状态码

状态代码描述
200

OK

404

资源未找到

“列出仓库标签”的代码示例

请求示例

get/repos/{owner}/{repo}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/labels

响应

状态:200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "某些功能无法正常工作", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "新功能或请求", "color": "a2eeef", "default": false } ]

创建标签

为指定仓库创建具有给定名称和颜色的标签。名称和颜色参数是必需的。颜色必须是有效的 十六进制颜色代码

“创建标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(写入)
  • “拉取请求”仓库权限(写入)

“创建标签”的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

主体参数
名称,类型,描述
name string 必填

标签的名称。可以使用原生表情符号或冒号样式标记在标签名称中添加表情符号。例如,键入 :strawberry: 将渲染表情符号 :strawberry:. 有关可用表情符号和代码的完整列表,请参阅 "表情符号备忘单."

color string

标签的 十六进制颜色代码,不带前导 #

description string

标签的简短描述。必须不超过 100 个字符。

“创建标签”的 HTTP 响应状态码

状态代码描述
201

已创建

404

资源未找到

422

验证失败或端点已被垃圾邮件攻击。

“创建标签”的代码示例

请求示例

post/repos/{owner}/{repo}/labels
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/labels \ -d '{"name":"bug","description":"Something isn'\''t working","color":"f29513"}'

响应

状态:201
{ "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true }

获取标签

使用给定名称获取标签。

“获取标签”的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(读取)
  • “拉取请求”仓库权限(读取)

如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。

获取标签参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

name string 必填

获取标签的 HTTP 响应状态码

状态代码描述
200

OK

404

资源未找到

获取标签的代码示例

请求示例

get/repos/{owner}/{repo}/labels/{name}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/labels/NAME

响应

状态:200
{ "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true }

更新标签

使用给定的标签名称更新标签。

更新标签的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(写入)
  • “拉取请求”仓库权限(写入)

更新标签的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

name string 必填
主体参数
名称,类型,描述
new_name string

标签的新名称。可以使用原生表情符号或冒号样式标记在标签名称中添加表情符号。例如,输入 :strawberry: 将呈现表情符号 :strawberry:。有关可用表情符号和代码的完整列表,请参阅 "表情符号备忘单。"。

color string

标签的 十六进制颜色代码,不带前导 #

description string

标签的简短描述。必须不超过 100 个字符。

更新标签的 HTTP 响应状态码

状态代码描述
200

OK

更新标签的代码示例

请求示例

patch/repos/{owner}/{repo}/labels/{name}
curl -L \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/labels/NAME \ -d '{"new_name":"bug :bug:","description":"Small bug fix required","color":"b01f26"}'

响应

状态:200
{ "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug%20:bug:", "name": "bug :bug:", "description": "Small bug fix required", "color": "b01f26", "default": true }

删除标签

使用给定的标签名称删除标签。

删除标签的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(写入)
  • “拉取请求”仓库权限(写入)

删除标签的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

name string 必填

删除标签的 HTTP 响应状态码

状态代码描述
204

无内容

删除标签的代码示例

请求示例

delete/repos/{owner}/{repo}/labels/{name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/labels/NAME

响应

状态:204

列出里程碑中问题的标签

列出里程碑中问题的标签。

列出里程碑中问题的标签的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须至少具有以下权限集之一

  • “问题”仓库权限(读取)
  • “拉取请求”仓库权限(读取)

如果仅请求公共资源,则无需身份验证或上述权限即可使用此端点。

列出里程碑中问题的标签的参数

标头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必需

存储库的帐户所有者。名称不区分大小写。

repo 字符串 必需

存储库的名称,不包括.git扩展名。名称不区分大小写。

milestone_number integer Required

标识里程碑的数字。

查询参数
名称,类型,描述
per_page 整数

每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 30

page 整数

要获取的结果页码。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出里程碑中问题的标签”的 HTTP 响应状态代码

状态代码描述
200

OK

“列出里程碑中问题的标签”的代码示例

请求示例

get/repos/{owner}/{repo}/milestones/{milestone_number}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/milestones/MILESTONE_NUMBER/labels

响应

状态:200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "某些功能无法正常工作", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "新功能或请求", "color": "a2eeef", "default": false } ]