如何在更改为两个目录时触发Gerrit Trigger中的Jenkins构建

时间:2017-07-26 07:27:06

标签: jenkins jenkins-plugins gerrit gerrit-trigger

我使用Jenrit的Gerrit Trigger插件来触发我的工作。我想仅在文件夹1 AND 文件夹2中的文件发生更改时触发我的工作。但是就我的理解而言,如果文件夹1 OR 文件夹2中的文件发生更改,我们可以通过以下配置触发作业。如何获得 AND 条件?我非常感谢你的帮助。

Click here to See Gerrit Trigger Plugin Configuration Screenshot

1 个答案:

答案 0 :(得分:0)

作为一种解决方法,您可以获取作业触发器上的更改并检查是否在两个dirs中都进行了更改。仅在两个条件满足时继续。 groovy / pipeline的伪代码:

// get changes
sh 'git diff-tree --no-commit-id --name-only -r HEAD > changes.txt'

//create list from changes,each entry is 
def file = readFile "changes.txt"
changed_files=file.split('\n')

//iterate over changed_files and check if trigger directories are present
//flag if found 
//if conditions are met,continue with build