Jenkins设置GitHub提交状态未工作

disho6za  于 2022-09-20  发布在  Jenkins
关注(0)|答案(4)|浏览(170)

我在日志中看到该命令正在被调用,但在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

ffdz8vbo

ffdz8vbo1#

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

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

另外,请确保您在Github的WebHook部分中的有效负载url使用您生成的Token进行了正确配置。不管怎样,我认为你已经做得很好了。

您可以选择让我选择单个事件,以更好地控制Jenkins可以发送的内容,但请确保repo:Status选项已勾选。希望这能帮上忙。

1yjd4xko

1yjd4xko2#

对于调试,使用下面的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:去掉方括号

jyztefdp

jyztefdp3#

它对我来说也不起作用,即使在遵循了OP链接中的所有答案之后。

问题在于我生成的个人访问令牌的范围。它需要Full control of private repositories访问,而不仅仅是repo:status

gkl3eglg

gkl3eglg4#

即使在选择了@O‘Kamiye提到的选项后,我也遇到了这个问题。我意识到我的问题是我的Jenkins Github服务器在看到this线程后没有运行。总而言之:
GitHubCommittee StatusSetter要求在管理Jenkins>配置系统>GitHub>GitHub服务器下定义Git服务器。否则,GitHub StatusSetter将无法正确解析存储库名称...

按照这些步骤操作后,问题就解决了。希望这能帮上忙。

相关问题