我有一个Shell脚本的工作,每30分钟后运行一次,下载并接受来自源代码管理的更改.现在我想继续我的shell脚本当且仅当;
我查看了Jenkins wiki,但是从明显的环境变量来看,如果不使用Jenkins XML API或某些python脚本在我的构建中编写代码,就不可能找到"我的上次运行"是稳定还是不稳定...是有没有简单的方法来查找这些信息?
您必须使用URL API,除非您想进一步使其复杂化 jenkins-cli
/api/jsonend-point是最容易在shell/bash中使用的,因为它在一行中提供所有信息.然后我们可以为我们需要的数据grep它,去掉前导标识符,并获得结果.
您可以访问当前的内部版本号,BUILD_NUMBER并可以计算前一个版本号.您也可以方便地访问JOB_URL.
#!/bin/bash
# Calculate previous build number
prevBuild=$(($BUILD_NUMBER - 1))
# Get previous run status, returns like: result":"UNSTABLE
prevStatus=`curl -silent http://${JOB_URL}/${prevBuild}/api/json | grep -iEo 'result":"\w*'`
# Strip out leading identifier, i.e: result":"
prevStatus=${prevStatus/result\"\:\"/}
if [[ "$prevStatus" == "UNSTABLE" ]]; then
do_whatever
fi
Run Code Online (Sandbox Code Playgroud)