Jenkins (BlueOcean) 不会自动触发 PR 构建

Jenkins (BlueOcean) doesn't automatically trigger PR builds

我有一个 GitHub 组织帐户,其中包含我正在为多分支管道设置的存储库。除了组织帐户,我还有一个属于组织的空 GitHub 帐户。此空帐户用于设置 Jenkins 可能需要的任何访问令牌或 GitHub 凭据。

我在 repo 中设置了一个网络挂钩,用于推送、拉取请求以及分支或标签创建事件。 GitHub 中为此 Web 挂钩记录的每个最近交付都显示拉取请求事件已发送并收到 200 响应。

在 BlueOcean 中,如果我手动触发扫描,那么所有分支和 PR 都会被识别和构建。但是如果我创建一个 PR,这个事件不会自动触发或由 BlueOcean 引入。阅读 Jenkins 中的日志,我看到以下消息:

Failed to add GitHub webhook for GitHubRepositoryName[host=github.com,username=ORGANIZATION,repository=PRIVATE_PROJECT]
java.lang.NullPointerException: There is no credentials with admin access to manage hooks on GitHubRepositoryName[host=github.com,username=ORGANIZATION,repository=PRIVATE_PROJECT]

这很奇怪,它说没有任何具有管理员访问权限的凭据,因为我的个人访问令牌具有以下权限:

有什么线索吗?

经过一番苦思冥想,最终发现问题出在一个糟糕的 webhook URL 上。我们有一个之前为 Pull Request Builder (PRB) 插件设置的 webhook URL 和用于其他事件的另一个 webhook URL。

我在 GitHub 中的 PRB webhook 上设置拉取请求触发器。通过在为我们的其他 URL.

配置的 webhook 上标记所需的触发器,可以轻松解决此问题