如何让 Jenkins 自动为 Pipeline 作业添加 webhook?
How to make Jenkins automatically add webhook for Pipeline job?
我已经为 Jenkins 添加了能够添加 webhook 的凭据。为此,我做了以下事情:
- 在具有
repo
和 admin:repo_hook
范围的 GitHub 上生成了个人访问令牌。
- 添加了
Secret text
个具有相应令牌的凭据。
- 已添加 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 项目,我执行了以下操作:
- 在源代码管理选项卡上选择Git,指定存储库URL和凭据(用户名和密码).
- 已检查 GitGITScm 轮询的集线器挂钩触发器。
对于管道作业:
- 已检查 GitHub 项目 并指定存储库 URL。
- 已检查 GitGITScm 轮询的集线器挂钩触发器。
我错过了什么?
我有类似的问题。
我不知道为什么,但是在 运行 blueocean 的工作之后变得很好。
要使其添加 webhook(在创建管道之后):
- 运行管道一次手动
- 重新注册 webhooks(管理 Jenkins > 配置系统 > GitHub 插件 > 高级(带有铅笔标记)> 为所有作业重新注册挂钩)
这是一个已知问题。您可以在这里查看:https://issues.jenkins.io/browse/JENKINS-37217
我已经为 Jenkins 添加了能够添加 webhook 的凭据。为此,我做了以下事情:
- 在具有
repo
和admin:repo_hook
范围的 GitHub 上生成了个人访问令牌。 - 添加了
Secret text
个具有相应令牌的凭据。 - 已添加 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 项目,我执行了以下操作:
- 在源代码管理选项卡上选择Git,指定存储库URL和凭据(用户名和密码).
- 已检查 GitGITScm 轮询的集线器挂钩触发器。
对于管道作业:
- 已检查 GitHub 项目 并指定存储库 URL。
- 已检查 GitGITScm 轮询的集线器挂钩触发器。
我错过了什么?
我有类似的问题。 我不知道为什么,但是在 运行 blueocean 的工作之后变得很好。
要使其添加 webhook(在创建管道之后):
- 运行管道一次手动
- 重新注册 webhooks(管理 Jenkins > 配置系统 > GitHub 插件 > 高级(带有铅笔标记)> 为所有作业重新注册挂钩)
这是一个已知问题。您可以在这里查看:https://issues.jenkins.io/browse/JENKINS-37217