Jenkins设置github提交状态不起作用

时间:2017-02-16 02:21:46

标签: git jenkins

我看到日志中正在调用该命令,但在GitHub中它不显示状态。

[Set GitHub commit status (universal)] PENDING on repos [] (sha:47ccf20) with context:api

webhook-url工作正常,并通知Jenkins何时构建。

我也有GitHub服务器设置和测试连接正常工作。

关于我在设置中可能缺少的内容的任何想法?

我按照这个问题中的步骤进行操作,但仍未在github中显示任何内容:Show current state of Jenkins build on GitHub repo

3 个答案:

答案 0 :(得分:21)

如果您按照共享链接中的步骤操作,则可能在步骤9(设置Github提交状态)之后错过了关键步骤,即选择第二个选项。 内容部分中的状态结果选项如下所示:

Post build action -> Set Github commit status (universal)

这将允许您为每个构建发送默认状态消息(错误,失败,成功,挂起)。选择第一个选项需要您手动定义要发回的状态(默认情况下这是无,并且可以解释为什么您没有收到任何内容)。

还要确保验证Github上 Webhook 部分中的有效负载网址是否已使用生成的令牌正确配置。无论如何,我认为你做得很好。

Payload Configuration

您可以选择让我选择个别活动,以便更好地控制Jenkins可以发送的内容,但请务必确保选中 repo:status 选项。希望有所帮助。

答案 1 :(得分:0)

要进行调试,请使用以下CLI命令检查您的访问令牌是否能够在GitHub中为任何dummy_test PR设置状态。

curl "https://api.github.com/repos/[organization name]/[repo name]/statuses/[commit id]?access_token=[GitHub access token]" -H "Content-Type: application/json"   -X POST -d "{\"state\": \"success\", \"description\": \"Build Successful \", \"target_url\": \"[jenkins job url]\", \"context\": \"[Job name]\" }"

PS:删除方括号

答案 2 :(得分:0)

即使按照 OP 链接中的所有答案,它也对我不起作用。

问题是我生成的个人访问令牌的范围。它需要 m 访问权限,而不仅仅是 id(m)