如何在更改项目子目录时触发Jenkins内置Gerrit触发器

如何在更改项目子目录时触发Jenkins内置Gerrit触发器,jenkins,gerrit,gerrit-trigger,Jenkins,Gerrit,Gerrit Trigger,我只想在对特定子目录中的文件进行更改时,使用Gerrit触发器触发Jenkins构建。例如 ├── subdir1 │   ├── trigger │ ├── also-trigger ├── subdir2 │   ├── do-not-trigger 如果对subdir1中的文件进行了任何更改,我希望触发生成。检查Jenkins项目配置中的Gerrit事件。在Gerrit设置中,使用pathsubdir1添加文件路径(当然,您应该设置项目和分支模式)。然后,subdir1中的任何更改都

我只想在对特定子目录中的文件进行更改时,使用Gerrit触发器触发Jenkins构建。例如

├── subdir1
│   ├── trigger
│   ├── also-trigger
├── subdir2
│   ├── do-not-trigger

如果对subdir1中的文件进行了任何更改,我希望触发生成。

检查Jenkins项目配置中的
Gerrit事件。在Gerrit设置中,使用
path
subdir1
添加文件路径(当然,您应该设置项目和分支模式)。然后,
subdir1
中的任何更改都将激活Jenkins,来自
subdir2
的更改将被Jenkins忽略。

当您选择“Ref Updated”作为触发事件时,Gerrit Trigger plugin会出现意外行为。它不关心文件路径选项。但如果您有一个UI请求方式来做事情,这意味着您将通过UI合并更改。所以,您可以尝试在“触发器打开”部分使用“更改合并”


查看作业的参数后,当触发合并的更改时,会有关于触发生成的更改集的信息。相反,当使用ref updated时,没有关于变更集的信息,因此无法检查是否包含文件

您是否尝试过使用
添加文件路径
添加禁止的文件路径
?如果只想生成子项目文件夹,则无法生成项目,它应该位于项目或文件路径下?项目,例如,在gerrit/子项目上或文件路径中为项目命名,很可能您忘记设置
路径
在下拉列表中键入,而不是
普通
。在我的例子中,我设置了
模式(普通):Repo name
模式(路径):**
(表示任何分支),
文件路径(路径):subdir1/**
(表示subdir1
中的任何修改文件)。