Return Jenkins 管道中 python 脚本的结果
Return result of python script in Jenkins pipeline
我有一个 jenkins 管道,其中有 2 个阶段:
pipelien {
agent {label 'master'}
stages ('stage 1') {
stage {
steps {
sh "python3 script.py" //this script returns value {"status": "ok"}
}
}
stage ('stage 2') {
// Do something with the response JSON from script.py
}
}
}
问题是我做不到。我尝试过的:
- 将结果传递给环境变量,但由于某种原因Jenkins 没有识别它。也许我在这里做错了什么?
- 播放 script.py 的解析标准输出不是一个选项,因为此脚本会打印大量日志
剩下的唯一选择是创建一个文件来存储 JSON 然后在下一步中读取该文件,但它很难看。
有什么想法吗?
最后我们选择创建文件并将消息存储在那里。
我们将文件名作为参数传递给 python 脚本并记录所有内容。
然后我们在作业成功后删除所有工作区。
我有一个 jenkins 管道,其中有 2 个阶段:
pipelien {
agent {label 'master'}
stages ('stage 1') {
stage {
steps {
sh "python3 script.py" //this script returns value {"status": "ok"}
}
}
stage ('stage 2') {
// Do something with the response JSON from script.py
}
}
}
问题是我做不到。我尝试过的:
- 将结果传递给环境变量,但由于某种原因Jenkins 没有识别它。也许我在这里做错了什么?
- 播放 script.py 的解析标准输出不是一个选项,因为此脚本会打印大量日志
剩下的唯一选择是创建一个文件来存储 JSON 然后在下一步中读取该文件,但它很难看。
有什么想法吗?
最后我们选择创建文件并将消息存储在那里。 我们将文件名作为参数传递给 python 脚本并记录所有内容。 然后我们在作业成功后删除所有工作区。