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]
这很奇怪,它说没有任何具有管理员访问权限的凭据,因为我的个人访问令牌具有以下权限:
- repo -- 全部
- 管理员:repo_hook -- 全部
- 用户 -- user:email
有什么线索吗?
经过一番苦思冥想,最终发现问题出在一个糟糕的 webhook URL 上。我们有一个之前为 Pull Request Builder (PRB) 插件设置的 webhook URL 和用于其他事件的另一个 webhook URL。
我在 GitHub 中的 PRB webhook 上设置拉取请求触发器。通过在为我们的其他 URL.
配置的 webhook 上标记所需的触发器,可以轻松解决此问题
我有一个 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]
这很奇怪,它说没有任何具有管理员访问权限的凭据,因为我的个人访问令牌具有以下权限:
- repo -- 全部
- 管理员:repo_hook -- 全部
- 用户 -- user:email
有什么线索吗?
经过一番苦思冥想,最终发现问题出在一个糟糕的 webhook URL 上。我们有一个之前为 Pull Request Builder (PRB) 插件设置的 webhook URL 和用于其他事件的另一个 webhook URL。
我在 GitHub 中的 PRB webhook 上设置拉取请求触发器。通过在为我们的其他 URL.
配置的 webhook 上标记所需的触发器,可以轻松解决此问题