shm*_*111 7 git jenkins bitbucket-server jenkins-pipeline
我正在尝试使用存储webhook到jenkins插件设置从Atlassian Stash触发jenkins multibranch管道.我的项目配置有定期设置为@daily,定期如果没有设置为1天我已索引我的分支但是当我点击隐藏webhook配置上的'触发詹金斯'按钮时,我得到以下错误
Error: Jenkins response: No git jobs using repository
Run Code Online (Sandbox Code Playgroud)
我之前已经读到这可能是因为在项目上禁用了轮询,但是没有设置在顶层启用它.我已经尝试在主分支Jenkinsfile中启用它,但是当我为主作业"查看配置"时它没有显示为已检查.我也可以在Jenkins日志中看到:
no trigger, or post-commit hooks disabled, on my-repo » master
Run Code Online (Sandbox Code Playgroud)
我找不到任何其他方法让这个工作?
您看到的 Jenkins 日志中的提示是正确的
\n\nno trigger, or post-commit hooks disabled, on my-repo \xc2\xbb master\nRun Code Online (Sandbox Code Playgroud)\n\n创建作业后,Jenkins 端的提交后挂钩默认处于禁用状态,而无需明确打开它。要启用它,您应该通过选择以下两个触发器来更新Build Triggers您想要触发的作业的配置(在您的情况下):my-repo \xc2\xbb master
[\xe2\x9c\x93] 当更改推送到 BitBucket 时构建[\xe2\x9c\x93] 轮询 SCM(将“计划”文本框留空)如果您使用 Jenkins 管道脚本而不是 Jenkins UI,那么您Jenkinsfile应该包含正确的triggers指令(对应于上面的屏幕):
triggers {\n bitbucketPush()\n pollSCM(\'\') // empty cron expression string\n}\nRun Code Online (Sandbox Code Playgroud)\n\n重要的是将“计划”字段文本框保留为空。否则,如果您在那里输入 cron 表达式,那么您的构建将被触发两次。一次是提交挂钩通知,第二次是当 cron 表达式触发器被触发时。“计划”字段下的标签对此进行了解释:
\n\n\n\n没有计划,因此只有在提交后挂钩触发时才会因 SCM 更改而运行
\n