似乎在过去两周内对Jenkins插件或GitHub api进行的一些更新在GitHub上引入了一个非常奇怪的行为。
现在我们可以阻止PR合并,如果特定的Jenkins分支作业不是绿色,但不知何故似乎无法检查当前PR是否为绿色。
如果我们不在github存储库配置中选择任何分支,Jenkins构建将不会发生,用户将能够合并更改。
如果我们检查其中一个,Jenkins将构建它,并且我们可以看到与PR名称匹配的作业名称。很棒,但不知怎的,通用的支票名为" Jenkins"还在等待另一个状态检查,一个永远不会发生的检查,阻止我们合并。
最后一个截图最好地解释了:命名合并是预期的绿色,但我们还有另一个通用的" Jenkins"仍然是等待状态报告"但詹金斯没有任何报道。
答案 0 :(得分:2)
你必须为Github插件设置Diplay Name,当它没有设置时,插件回退到build name。
当我们将Github Organization插件与管道一起使用时,我没有找到正确的方法。我通过从Jenkinsfile设置项目属性来实现它:
properties properties: [pipelineTriggers([]), [$class: 'GithubProjectProperty', displayName: 'Jenkins']]
然后手动设置状态:
step([$class: 'GitHubCommitStatusSetter', statusResultSource: [$class: 'ConditionalStatusResultSource', results: [[$class: 'BetterThanOrEqualBuildResult', message: 'Build success', result: 'SUCCESS', state: 'SUCCESS']]]])
这不会删除Jenkins job PR-xxxx
状态,但会根据需要添加Jenkins
状态检查