当构建过程被时间触发时,在 Jenkins 中设置 BUILD_USER

Set BUILD_USER in Jenkins when the build process is time triggered

我在 Jenkins 中使用 'Build User Vars Plugin' 来获取导致触发的用户。这在手动触发时工作正常。 BUILD_USER 当构建过程也由 Polling P4 触发时设置为 SCMTrigger。但是,当定期(时间)触发构建时,BUILD_USER 为空白。有没有办法在时间触发时设置 BUILD_USER 环境变量?

您可以手动设置该环境变量。

if [ ${BUILD_CAUSE} == "TIMERTRIGGER" ]; then
  export BUILD_USER="Emmett Brown"
fi

${BUILD_CAUSE} 是另一个 Jenkins 的环境变量。如果您在构建中没有该变量 - 这可能是因为它是由 EnvInject 设置的。这个名字几乎是不言自明的。

请注意,以这种方式设置 BUILD_USER 可能会或可能不会更改构建后可访问的结果环境变量 'Environment variables'。如果您 运行 遇到这个问题 - 使用 EnvInject 插件。您可以使用此插件更改任何 Jenkins 环境变量,甚至 BUILD_URL 等。