如何使用带有github保护分支的Jenkins GitHub组织文件夹?

时间:2016-07-21 14:44:01

标签: github jenkins jenkins-pipeline

似乎在过去两周内对Jenkins插件或GitHub api进行的一些更新在GitHub上引入了一个非常奇怪的行为。

现在我们可以阻止PR合并,如果特定的Jenkins分支作业不是绿色,但不知何故似乎无法检查当前PR是否为绿色。

如果我们不在github存储库配置中选择任何分支,Jenkins构建将不会发生,用户将能够合并更改。

如果我们检查其中一个,Jenkins将构建它,并且我们可以看到与PR名称匹配的作业名称。很棒,但不知怎的,通用的支票名为" Jenkins"还在等待另一个状态检查,一个永远不会发生的检查,阻止我们合并。

enter image description here enter image description here

最后一个截图最好地解释了:命名合并是预期的绿色,但我们还有另一个通用的" Jenkins"仍然是等待状态报告"但詹金斯没有任何报道。

1 个答案:

答案 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状态检查