2013-06-12 55 views
5

,所以我必须在我使用詹金斯 的环境变量,例如bash脚本: QUALIFIER = echo $BUILD_ID | sed "s/[-_]//g" | cut -c1-12如何使用詹金斯环境变量在python脚本

基本上我走的是构建标识,连同工作名称以确定从我的主脚本中调用哪个脚本。我想使用python,所以我想知道如果没有jenkins python api,我是否可以使用这些变量。

我希望这个问题有道理。由于

+1

你能解释一下你想要什么? –

+1

我需要使用Jenkins中的环境变量(例如JOB_NAME )来决定调用哪个脚本。我有一个bash脚本获取这些变量,但我想在python脚本中执行此操作。我将如何在Python中获取这些变量? –

+0

看到这个,http://docs.python.org/2/library/subprocess.html –

回答

7

这就是你需要什么,如果我理解正确:

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] 
+0

但我会需要我的bash脚本以及python一个'QUALIFIER'? $ BUILD_ID使jenkins环境变量可用于bash脚本。是否有某种方式可以使它可用于Python脚本而不必使用bash? –

+0

其实从来没有!非常感谢,这对我很有用 –

+0

您可以使用完全相同的方式访问'$ BUILD_ID'(使用'os.environ'),然后删除破折号并在Python中对其进行分片。 –