如何让 Jenkins 自动为 Pipeline 作业添加 webhook?

How to make Jenkins automatically add webhook for Pipeline job?

我已经为 Jenkins 添加了能够添加 webhook 的凭据。为此,我做了以下事情:

  1. 在具有 repoadmin:repo_hook 范围的 GitHub 上生成了个人访问令牌。
  2. 添加了 Secret text 个具有相应令牌的凭据。
  3. 已添加 GitHub 服务器,其中包含 Manage Jenkins > Configure System 中上一步的凭据。

但是当我创建管道作业时,我在系统日志中看到:

GitHub webhooks activated for job p1 with [] (events: [PUSH])

通过 Freestyle 项目我得到:

GitHub webhooks activated for job fsp1 with [GitHubRepositoryName[host=github.com,username=user,repository=repo]] (events: [PUSH])
PING webhook received from repo <https://github.com/user/repo>!

对于 Freestyle 项目,我执行了以下操作:

  1. 源代码管理选项卡上选择Git,指定存储库URL和凭据(用户名和密码).
  2. 已检查 GitGITScm 轮询的集线器挂钩触发器

对于管道作业:

  1. 已检查 GitHub 项目 并指定存储库 URL。
  2. 已检查 GitGITScm 轮询的集线器挂钩触发器

我错过了什么?

我有类似的问题。 我不知道为什么,但是在 运行 blueocean 的工作之后变得很好。

要使其添加 webhook(在创建管道之后):

  • 运行管道一次手动
  • 重新注册 webhooks(管理 Jenkins > 配置系统 > GitHub 插件 > 高级(带有铅笔标记)> 为所有作业重新注册挂钩)

这是一个已知问题。您可以在这里查看:https://issues.jenkins.io/browse/JENKINS-37217