Jenkins 是否可以从构建步骤检索响应?
假设作业a调用作业B的场景:Jenkins 是否可以从构建步骤检索响应?,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,假设作业a调用作业B的场景: ... ... ... crID = build (job: "Open Change Request", wait: true, parameters: [ string(name: "assignedTo", value: "${BUILD_USER_EMAIL}"), string(name: "crType", value: "Upgrade worker nodes"), string(name: "environment", value:
...
...
...
crID = build (job: "Open Change Request", wait: true, parameters: [
string(name: "assignedTo", value: "${BUILD_USER_EMAIL}"),
string(name: "crType", value: "Upgrade worker nodes"),
string(name: "environment", value: "${region}")]).result
上述代码有缺陷,因为结果
将返回失败
,成功
,等等。我需要的是实际检索作业B生成的值 这是否可能检索作为
生成步骤的一部分运行的作业的响应
可能性:
- 从其他作业读取日志
- 全局属性
我通过阅读构建日志来完成这项工作
在作业B中,打印要记录的值:
echo "Change Request ID:${crID}"
在作业A中,处理日志文本以获取打印值:
openCrRawData = build (job: "Open Change Request", wait: true, parameters: [
string(name: "assignedTo", value: "${jobInitiator}"),
string(name: "crType", value: "Upgrade worker nodes"),
string(name: "environmentsForCR", value: "${region}")])
crIDRaw = sh (script: "echo \"${openCrRawData.rawBuild.log}\" | grep \"Change Request ID:\"", returnStdout: true).trim().split(":")
crID = crIDRaw[1]
你检查过复制品了吗?但它不是复制品。作业B将运行一些代码并返回一个值和票证的ID。我需要把那张票拿到A工作。