标签的 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 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
issue_number 整数 必填标识 Issue 的编号。 |
名称,类型,描述 |
---|
per_page 整数每页结果数(最大 100)。更多信息,请参见 "REST API 中的分页使用." 默认值: |
page 整数要获取的结果页码。更多信息,请参见 "REST API 中的分页使用." 默认值: |
“列出 Issue 的标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
301 | 永久移动 |
404 | 资源未找到 |
410 | 已删除 |
“列出 Issue 的标签”的代码示例
请求示例
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 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
issue_number 整数 必填标识 Issue 的编号。 |
名称,类型,描述 |
---|
labels 字符串数组要添加到 Issue 的现有标签的标签名称。您可以传递空数组以删除所有标签。或者,您可以直接传递单个标签作为 |
“向 Issue 添加标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
301 | 永久移动 |
404 | 资源未找到 |
410 | 已删除 |
422 | 验证失败,或端点已被垃圾邮件攻击。 |
“向 Issue 添加标签”的代码示例
请求示例
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 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
issue_number 整数 必填标识 Issue 的编号。 |
名称,类型,描述 |
---|
labels 字符串数组要为 Issue 设置的标签名称。您设置的标签将替换任何现有标签。您可以传递空数组以删除所有标签。或者,您可以直接传递单个标签作为 |
“设置 Issue 的标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
301 | 永久移动 |
404 | 资源未找到 |
410 | 已删除 |
422 | 验证失败,或端点已被垃圾邮件攻击。 |
“设置 Issue 的标签”的代码示例
请求示例
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 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
issue_number 整数 必填标识 Issue 的编号。 |
“从 Issue 中删除所有标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
204 | 无内容 |
301 | 永久移动 |
404 | 资源未找到 |
410 | 已删除 |
“从 Issue 中删除所有标签”的代码示例
请求示例
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 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
issue_number 整数 必填标识 Issue 的编号。 |
name 字符串 必填 |
“从 Issue 中移除标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
301 | 永久移动 |
404 | 资源未找到 |
410 | 已删除 |
“从 Issue 中移除标签”的代码示例
请求示例
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
响应
列出仓库的标签
列出仓库的所有标签。
“列出仓库的标签”的细粒度访问令牌
此端点可以使用以下细粒度令牌类型:
细粒度令牌必须至少具有以下权限集之一
- “Issue” 代码仓库权限(读取)
- “Pull Request” 代码仓库权限(读取)
如果只请求公共资源,则无需身份验证或上述权限即可使用此端点。
“列出仓库的标签”的参数
名称,类型,描述 |
---|
accept 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
名称,类型,描述 |
---|
per_page 整数每页结果数(最大 100)。更多信息,请参见 "REST API 中的分页使用." 默认值: |
page 整数要获取的结果页码。更多信息,请参见 "REST API 中的分页使用." 默认值: |
“列出仓库的标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
404 | 资源未找到 |
“列出仓库的标签”的代码示例
请求示例
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 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
名称,类型,描述 |
---|
name 字符串 必填标签的名称。可以使用原生表情符号或冒号样式标记将表情符号添加到标签名称中。例如,键入 |
color 字符串标签的十六进制颜色代码,不包括前导 |
description 字符串标签的简短描述。必须少于 100 个字符。 |
“创建标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
201 | 已创建 |
404 | 资源未找到 |
422 | 验证失败,或端点已被垃圾邮件攻击。 |
“创建标签”的代码示例
请求示例
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"}'
响应
获取标签
使用给定的名称获取标签。
“获取标签”的细粒度访问令牌
此端点可以使用以下细粒度令牌类型:
细粒度令牌必须至少具有以下权限集之一
- “Issue” 代码仓库权限(读取)
- “Pull Request” 代码仓库权限(读取)
如果只请求公共资源,则无需身份验证或上述权限即可使用此端点。
“获取标签”的参数
名称,类型,描述 |
---|
accept 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
name 字符串 必填 |
“获取标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
404 | 资源未找到 |
“获取标签”的代码示例
请求示例
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
响应
更新标签
使用给定的标签名称更新标签。
“更新标签”的细粒度访问令牌
此端点可以使用以下细粒度令牌类型:
细粒度令牌必须至少具有以下权限集之一
- “Issue” 代码仓库权限(写入)
- “Pull Request” 代码仓库权限(写入)
“更新标签”的参数
名称,类型,描述 |
---|
accept 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
name 字符串 必填 |
名称,类型,描述 |
---|
new_name 字符串标签的新名称。可以使用原生表情符号或冒号样式标记将表情符号添加到标签名称中。例如,键入 |
color 字符串标签的十六进制颜色代码,不包括前导 |
description 字符串标签的简短描述。必须少于 100 个字符。 |
“更新标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
“更新标签”的代码示例
请求示例
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"}'
响应
删除标签
使用给定的标签名称删除标签。
“删除标签”的细粒度访问令牌
此端点可以使用以下细粒度令牌类型:
细粒度令牌必须至少具有以下权限集之一
- “Issue” 代码仓库权限(写入)
- “Pull Request” 代码仓库权限(写入)
“删除标签”的参数
名称,类型,描述 |
---|
accept 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
name 字符串 必填 |
“删除标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
204 | 无内容 |
“删除标签”的代码示例
请求示例
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 字符串建议设置为 |
名称,类型,描述 |
---|
owner 字符串 必填代码仓库的帐户所有者。名称不区分大小写。 |
repo 字符串 必填代码仓库的名称,不包含 |
milestone_number 整数 必填标识里程碑的编号。 |
名称,类型,描述 |
---|
per_page 整数每页结果数(最大 100)。更多信息,请参见 "REST API 中的分页使用." 默认值: |
page 整数要获取的结果页码。更多信息,请参见 "REST API 中的分页使用." 默认值: |
“列出里程碑中 Issue 的标签”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
“列出里程碑中 Issue 的标签”的代码示例
请求示例
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 } ]