跳至主要内容
REST API 现在已版本化。 更多信息,请参见 "关于 API 版本控制."

标签的 REST API 端点

使用 REST API 管理代码仓库、Issue 和 Pull Request 的标签。

关于标签

您可以使用 REST API 管理代码仓库的标签,以及向 Issue 和 Pull Request 添加或删除标签。每个 Pull Request 都是一个 Issue,但并非每个 Issue 都是一个 Pull Request。因此,针对这两个功能的“共享”操作(例如管理受让人、标签和里程碑)都位于 Issue 端点中。

列出 Issue 的标签

列出 Issue 的所有标签。

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

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(读取)
  • “Pull Request” 代码仓库权限(读取)

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

“列出 Issue 的标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

issue_number 整数 必填

标识 Issue 的编号。

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

每页结果数(最大 100)。更多信息,请参见 "REST API 中的分页使用."

默认值: 30

page 整数

要获取的结果页码。更多信息,请参见 "REST API 中的分页使用."

默认值: 1

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

状态码描述
200

OK

301

永久移动

404

资源未找到

410

已删除

“列出 Issue 的标签”的代码示例

请求示例

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": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]

向 Issue 添加标签

向 Issue 添加标签。如果提供空标签数组,则会从 Issue 中删除所有标签。

“向 Issue 添加标签”的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(写入)
  • “Pull Request” 代码仓库权限(写入)

“向 Issue 添加标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

issue_number 整数 必填

标识 Issue 的编号。

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

要添加到 Issue 的现有标签的标签名称。您可以传递空数组以删除所有标签。或者,您可以直接传递单个标签作为字符串数组,但 GitHub 建议传递带有labels键的对象。您还可以替换 Issue 的所有标签。更多信息,请参见 "设置 Issue 的标签."

“向 Issue 添加标签”的 HTTP 响应状态码

状态码描述
200

OK

301

永久移动

404

资源未找到

410

已删除

422

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

“向 Issue 添加标签”的代码示例

请求示例

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": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]

设置 Issue 的标签

删除任何之前的标签并设置 Issue 的新标签。

“设置 Issue 的标签”的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(写入)
  • “Pull Request” 代码仓库权限(写入)

“设置 Issue 的标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

issue_number 整数 必填

标识 Issue 的编号。

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

要为 Issue 设置的标签名称。您设置的标签将替换任何现有标签。您可以传递空数组以删除所有标签。或者,您可以直接传递单个标签作为字符串数组,但 GitHub 建议传递带有labels键的对象。您还可以向 Issue 的现有标签添加标签。更多信息,请参见 "向 Issue 添加标签."

“设置 Issue 的标签”的 HTTP 响应状态码

状态码描述
200

OK

301

永久移动

404

资源未找到

410

已删除

422

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

“设置 Issue 的标签”的代码示例

请求示例

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": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]

从 Issue 中删除所有标签

从 Issue 中删除所有标签。

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

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(写入)
  • “Pull Request” 代码仓库权限(写入)

“从 Issue 中删除所有标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

issue_number 整数 必填

标识 Issue 的编号。

“从 Issue 中删除所有标签”的 HTTP 响应状态码

状态码描述
204

无内容

301

永久移动

404

资源未找到

410

已删除

“从 Issue 中删除所有标签”的代码示例

请求示例

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

从 Issue 中移除标签

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

“从 Issue 中移除标签”的细粒度访问令牌

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(写入)
  • “Pull Request” 代码仓库权限(写入)

“从 Issue 中移除标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

issue_number 整数 必填

标识 Issue 的编号。

name 字符串 必填

“从 Issue 中移除标签”的 HTTP 响应状态码

状态码描述
200

OK

301

永久移动

404

资源未找到

410

已删除

“从 Issue 中移除标签”的代码示例

请求示例

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 } ]

列出仓库的标签

列出仓库的所有标签。

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

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(读取)
  • “Pull Request” 代码仓库权限(读取)

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

“列出仓库的标签”的参数

请求头
名称,类型,描述
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": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]

创建标签

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

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

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(写入)
  • “Pull Request” 代码仓库权限(写入)

“创建标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

主体参数
名称,类型,描述
name 字符串 必填

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

color 字符串

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

description 字符串

标签的简短描述。必须少于 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 }

获取标签

使用给定的名称获取标签。

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

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(读取)
  • “Pull Request” 代码仓库权限(读取)

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

“获取标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

name 字符串 必填

“获取标签”的 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 }

更新标签

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

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

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(写入)
  • “Pull Request” 代码仓库权限(写入)

“更新标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

name 字符串 必填
主体参数
名称,类型,描述
new_name 字符串

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

color 字符串

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

description 字符串

标签的简短描述。必须少于 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 }

删除标签

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

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

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(写入)
  • “Pull Request” 代码仓库权限(写入)

“删除标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

name 字符串 必填

“删除标签”的 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

列出里程碑中 Issue 的标签

列出里程碑中 Issue 的标签。

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

此端点可以使用以下细粒度令牌类型:

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

  • “Issue” 代码仓库权限(读取)
  • “Pull Request” 代码仓库权限(读取)

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

“列出里程碑中 Issue 的标签”的参数

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

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

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

代码仓库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码仓库的名称,不包含 .git 扩展名。名称不区分大小写。

milestone_number 整数 必填

标识里程碑的编号。

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

每页结果数(最大 100)。更多信息,请参见 "REST API 中的分页使用."

默认值: 30

page 整数

要获取的结果页码。更多信息,请参见 "REST API 中的分页使用."

默认值: 1

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

状态码描述
200

OK

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

请求示例

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": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://api.github.com/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]