Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins 是否可以从构建步骤检索响应?_Jenkins_Jenkins Pipeline - Fatal编程技术网

Jenkins 是否可以从构建步骤检索响应?

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:

假设作业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: "${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工作。