首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用Github将注释发布到拉请求

无法使用Github将注释发布到拉请求
EN

Stack Overflow用户
提问于 2018-10-29 14:23:00
回答 1查看 1.3K关注 0票数 0

我正在使用GitHub API创建注释来提取请求。

此后:

我不想评论具体的代码行,而是对PR本身的一般性评论。比如说“谢谢你的PR @作者”

代码语言:javascript
运行
复制
// Using Joomla Http library that uses cURL internally
$http = new HttpRequest;

// The url variables below are set to the respective correct values
$url  = "https://api.github.com/repos/{$owner}/{$repo}/issues/{$number}/comments";

// Method: post($url, $data, $headers);
$resp = $http->post($url, array('body' => 'Thanks for your PR @author'), array('Authorization' => 'token ' . PERSONAL_ACCESS_TOKEN));

这将返回以下错误:

代码语言:javascript
运行
复制
{
    "message": "Invalid request.\n\nFor 'links/0/schema', nil is not an object.",
    "documentation_url": "https://developer.github.com/v3/issues/comments/#create-a-comment"
}

我在文档中看到的是,links没有被提到作为这个请求的一个参数,所以这让我更加困惑。

PS:所有其他操作,如get评论列表、获取评论列表、删除评论、向PR添加标签、从PR中删除标签等操作都很正常。

我找到了一些地方,他们说,需要一些额外的身份验证来进行评论。我不知道这到底意味着什么,也不知道我是如何做到这一点的。

我只有个人存取令牌来验证我的请求。

请告诉我错过了什么。

EN

回答 1

Stack Overflow用户

发布于 2019-02-21 12:19:55

我能够使用issues api而不是pull-request发布评论。

代码语言:javascript
运行
复制
    public function comment($message)
    {
        $http = new HttpRequest;

        $url     = "https://api.github.com/repos/{$this->owner}/{$this->repo}/issues/{$this->num}/comments";
        $headers = array(
            'Content-Type'  => 'application/json;charset=utf-8',
            'Authorization' => 'token ' . GITHUB_ACCESS_TOKEN,
        );
        $resp    = $http->post($url, json_encode(array('body' => $message)), $headers);

        return $resp->code == 201 ? $resp : null;
    }

内部库的一部分中的HttpRequest类,这在这里并不重要。您应该能够使用任何Http传输方法。

唯一重要的是请求urlheadersrequest data

确保使用中的ACCESS_TOKEN分配了正确的权限。我现在不记得了,我有机会看的时候会在这里加一句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53047565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档