失败时将错误字符串从 Python 脚本发送到 Jenkins 作业



我有一个从jenkinsjobshell脚本调用的python脚本。此 python 脚本可能由于多种原因而失败。根据故障,我需要抓住正确的故障原因。我希望这个原因以某种方式发送回jenkinsshell,我将通过电子邮件或其他通知方式发布此错误消息。我尝试设置一个环境变量并在构建后访问它。但这似乎行不通。任何帮助表示赞赏。下面是示例文本代码

#!/usr/bin/python
a=False
b=True
if(a):
raise exception("a is true")
if(b):
raise exception("b is true")

我需要将这个"a is true""b is true"响应发送回 shelljenkins并使作业失败。

是否需要异常退出? 它将标记 Jenkins 作业失败。

最好用一些消息或代码退出python脚本,除了1和Jenkins端的消息或代码

。现在你修改 python 脚本

#!/usr/bin/python
a=False
b=True
if(a):
print ("a is true")
exit(0)
if(b):
print ("b is true")
exit(0)

在上面,你的作业不会被标记为失败,你将能够在 Jenkins 上处理作业状态,而不是从 python 脚本。

在 Jenkins bash 脚本中

script_response=$(python ab.py)
if [ "${script_response}" == "b is true" ]; then
echo "B is true"
exit 0
else
echo "B is flase"
exit 1
fi

最新更新