是否可以在执行shell中访问Jenkins构建状态?

时间:2015-04-13 20:20:38

标签: jenkins jenkins-cli

有没有办法从执行shell步骤运行脚本访问构建状态以及有关构建的其他信息? (例如,内部版本号,开始/结束时间等)

我需要使用包含构建信息的脚本更新Wiki页面。

提前致谢!

3 个答案:

答案 0 :(得分:3)

构建状态信息将保存到简单的XML文件中。看一眼 {jenkins-directory}/jobs/{job-name}/builds/{build-number}/build.xml。您可以使用像lastSuccessfulBuild这样的符号链接,而不是根据需要指定内部版本号。

您可以在那里找到有关构建的所有信息:构建状态,开始时间,持续时间等。解析XML文件或只在bash脚本中使用grep。

如果您不想使用文件系统,可以使用Jenkins API

但无论如何,一旦你得到一个可以确定构建参数并更新你的wiki页面的脚本,你就可以将它放到另一个Jenkins作业中并自动触发它(例如,使用BuildResultTrigger Plugin)。 / p>

答案 1 :(得分:1)

我使用jenkins自己的API来获取作业运行时的构建状态,这就像魅力一样。请注意,我正在使用JQ来解析json响应。

要使其工作,只需添加一个shell脚本并执行以下命令:BUILD_STATUS=$(curl --silent ${BUILD_URL}api/json | jq -r '.result')

Execute shell step

结果如下:

Job console

答案 2 :(得分:-3)

执行构建时,您可以在脚本中使用Jenkins set environment variables

还可以参考有关如何使用它的详细信息 -

批处理文件中的

%VAR%和Jenkins作业配置页面内的$VAR