我正在尝试使用stash webhook到jenkins插件设置从Atlassian Stash触发jenkins multibranch管道。我的项目配置将Build定期设置为@daily,定期如果没有设置为1天,我已经索引了我的分支,但是当我点击存储webhook配置中的'Trigger Jenkins'按钮时,我收到以下错误
Error: Jenkins response: No git jobs using repository
我之前已经读过这可能是因为在项目中禁用了轮询,但是没有设置在顶层启用它。我已经尝试在主分支Jenkinsfile中启用它,但是当我为主作业“查看配置”时它没有显示为已检查。我也可以在Jenkins日志中看到:
no trigger, or post-commit hooks disabled, on my-repo » master
我找不到任何其他方法让这个工作?
答案 0 :(得分:0)
您看到的詹金斯日志中的提示是正确的
no trigger, or post-commit hooks disabled, on my-repo » master
默认情况下,创建作业后,Jenkins侧的提交后挂钩是默认禁用的。要启用它,您应该通过选择以下两个触发器来更新要触发的作业的Build Triggers
配置(在您的情况下为my-repo » master
)
[✓]
将更改推送到BitBucket时构建 [✓]
投票SCM (将“时间表” 文本框留空)如果您使用Jenkins管道脚本而不是Jenkins UI,则您的Jenkinsfile
应该包含正确的triggers
指令(对应于上述屏幕):
triggers {
bitbucketPush()
pollSCM('') // empty cron expression string
}
重要的是将 Schedule 字段文本框留空。否则,如果您在其中输入cron表达式,那么您的构建将被触发两次。一旦执行提交挂接通知,第二次触发cron表达式触发器。可以通过 Schedule 字段下的标签进行解释:
没有时间表,因此仅在SCM更改的情况下才由提交后挂钩触发