2013-06-12 11 views
5

donc j'avoir un script bash dans lequel j'utilise les variables d'environnement de Jenkins par exemple: QUALIFIER = echo $BUILD_ID | sed "s/[-_]//g" | cut -c1-12Comment utiliser des variables Jenkins environnement dans le script python

Essentiellement, je prends l'ID de construction, ainsi que nom du travail pour déterminer quel script appeler depuis mon script principal. Je veux utiliser python à la place, donc je me demandais si je pouvais utiliser ces variables sans l'API jenkins python.

J'espère que la question a du sens. Merci

+1

pouvez-vous expliquer ce que tu veux? –

+1

J'ai besoin d'utiliser les variables d'environnement dans Jenkins comme JOB_NAME pour décider quel script appeler. J'ai un script bash qui obtient ces variables mais je voulais le faire dans un script python. Comment pourrais-je obtenir ces variables en python? –

+0

voir ceci, http: //docs.python.org/2/library/subprocess.html –

Répondre

7

C'est ce que vous avez besoin si je vous comprends bien:

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

Et dans votre script Python:

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

ou sans la partie de la coque:

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

Mais aurais-je besoin de mon script bash ainsi que le python on prend le 'QUALIFIER'? $ BUILD_ID rend la variable d'environnement jenkins disponible pour le script bash. Y a-t-il un moyen de le rendre accessible au script python sans avoir à utiliser le script bash? –

+0

En fait, rien d'autre! Merci beaucoup, cela fonctionne pour moi –

+0

Vous pouvez accéder '$ BUILD_ID' exactement de la même façon (en utilisant' os.environ'), puis supprimer les tirets et le découper en Python. –

Questions connexes