我正在尝试使用stash webhook到jenkins插件设置从Atlassian Stash触发jenkins multibranch管道。我的项目配置有定期设置为@daily,定期如果没有设置为1天我已索引我的分支但是当我点击隐藏webhook配置上的'触发詹金斯'按钮时,我得到以下错误
Error: Jenkins response: No git jobs using repository
我之前已经读到这可能是因为在项目上禁用了轮询,但是没有设置在顶层启用它。我已经尝试在主分支Jenkinsfile中启用它,但是当我为主作业“查看配置”时它没有显示为已检查。我也可以在Jenkins日志中看到:
no trigger, or post-commit hooks disabled, on my-repo » master
我找不到任何其他方法让这个工作?
詹金斯日志提示你看到的是正确的
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更改而运行,如果由提交后挂钩触发的话