如何在Python脚本中使用Jenkins环境变量

9

我有一个bash脚本,在其中使用了Jenkins的环境变量,例如:

QUALIFIER=echo $BUILD_ID | sed "s/[-_]//g" | cut -c1-12

基本上,我正在获取构建ID以及作业名称,以确定从我的主要脚本中调用哪个脚本。我想改用Python,所以想知道是否可以在没有Jenkins Python API的情况下使用这些变量。

希望问题表述清楚。谢谢!


1
你能解释一下你想要什么吗? - Vahid Kharazi
1
我需要在Jenkins中使用环境变量,例如JOB_NAME来决定调用哪个脚本。我有一个bash脚本可以获取这些变量,但我想在python脚本中实现。我该如何在python中获取这些变量? - Asad S. Malik
请查看此链接:http://docs.python.org/2/library/subprocess.html。 - Vahid Kharazi
2个回答

15

如果我理解正确,那就是您需要的:

QUALIFIER="$(echo $BUILD_ID | sed "s/[-_]//g" | cut -c1-12)"
export QUALIFIER
python my_script.py

在你的Python脚本中:

import os
qualifier = os.environ['QUALIFIER']

或者不包括外壳部分:

import os
import re
qualifier = re.sub(r'[-_]+', '', os.environ['BUILD_ID'])[0:12]

但是如果Python脚本要使用“QUALIFIER”,我是否仍然需要我的bash脚本?$BUILD_ID使得Jenkins环境变量可以在bash脚本中使用。不过,有没有办法让这个变量也能被Python脚本使用而不必再用到bash脚本呢? - Asad S. Malik
你可以通过使用 os.environ 访问 $BUILD_ID,然后在 Python 中去掉破折号并进行切片。 - Tomasz Elendt

2

导入 os 模块

使用 os.environ.get("变量名") 获取环境变量的值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接