我有许多脚本化管道作业,其中JenkinsFile在与作业本身的代码/测试不同的存储库中检入。 在工作结束时,如果出现故障,我将使用EmailExt发送电子邮件。在这里,我想包含两个存储库的更改(最好可以选择包含其中的更改)。 但是,使用“ currentBuild.changeSets”,我只会得到JenkinsFile的更改。 我的基本工作模板是:
node (master) {
define_job_properties()
job_execs = define_job_execution()
}
parallel job_execs // may execute on any node
node (master) {
gather_results()
if (failure) {
emailExtBody += getChanges()
}
}
getChanges()使用“ currentBuild.changeSets”。 作业中唯一的SCM访问发生在“ job_execs”中。 JenkinsFile本身是通过Jenkins作业定义定义的。 从我读到的 https://devops.stackexchange.com/questions/4773/when-does-currentbuild-changesets-in-jenkins-gets-filled 我以为changeSets将在每个SCM之后填充。 我不明白为什么它不适用于我的模板?这与“平行”有关吗? 任何解释/ docu-pointer都非常欢迎。