如何仅通过ID查询GitHub Issue?无需用户/仓库/Issue编号
通过全局ID查询GitHub Issue的方法
好消息是,GitHub的REST API确实支持仅通过全局Issue ID来查询对应的Issue,完全符合你期望的https://api.github.com/issues/123456这种请求方式!下面是具体的细节和用法:
核心API端点:使用
GET /issues/{issue_id}这个接口,这里的{issue_id}是GitHub系统内全局唯一的Issue ID(注意和仓库内的自增编号区分开,比如仓库里显示的#123是仓库内编号,而全局ID是一个更大的、跨仓库唯一的数字)。请求示例:
直接向这个URL发送GET请求即可:https://api.github.com/issues/123456- 对于公开仓库的Issue,无需认证就能获取完整响应;
- 对于私有仓库的Issue,需要在请求头中添加认证信息,比如:
Authorization: token YOUR_GITHUB_PERSONAL_ACCESS_TOKEN
返回内容说明:
响应会包含该Issue的所有详细信息,同时还会附带repository字段,里面包含该Issue所属仓库的ID、名称、完整路径等关键信息,帮你直接关联到对应的仓库。在KnpLabs/php-github-api中的用法:
这个库已经支持通过全局ID查询Issue的功能,你可以这样调用:$client = new \Github\Client(); // 访问私有仓库时添加认证 $client->authenticate('你的GitHub令牌', null, \Github\Client::AUTH_HTTP_TOKEN); // 前两个参数传null,表示使用全局ID查询 $issue = $client->issue()->show(null, null, 123456);
内容的提问来源于stack exchange,提问作者Thomas Potaire
相关产品推荐
相关产品推荐

