2016-09-26 1 views
0

J'utilise Buildbot V.0.9.0rc3Comment passer des variables à Buildbot?

Mon Buildbot déclenche quand j'envoie un changement via la ligne de commande ou si je receieve une demande HTTP POST à ​​l'adresse correcte.

Actuellement, je suis envoyer les modifications à buildbot de deux façons différentes:

$ buildbot sendchange -m localhost:9999 -a example-user:pass -W me -C default 

ou

curl -X POST -d author=aalvz -d comments=mycomment -d project=my_project -d category=default -d repository=some http://192.168.33.20:8020/change_hook/base 

Mes ordonnanceurs sont définis comme suit:

c['schedulers'].append(schedulers.SingleBranchScheduler(
          name="waiter", 
          builderNames=["runtests"], 
          change_filter=util.ChangeFilter(category='default'))) 
c['www'] = dict(port=8020, 
       plugins=dict(waterfall_view={}, console_view={}), 
       change_hook_dialects={ 
             'base': True, 
             'somehook': {'option1':True, 
                'option2':False}}) 

Et mon étape dans l'usine le clonage d'un repo ressemble à ceci:

factory.addStep(steps.Git(repourl='[email protected]:AAlvz/my_repo.git', mode='full', workdir='newFolder', branch='my_branch', submodules=True, clobberOnFailure=True)) 

Je voudrais recevoir un POST avec des données et utiliser ces données pour déclencher différentes commandes. Quelque chose comme: (en utilisant $ pour rendre les variables visibles)

factory.addStep(steps.Git(repourl=$myjson.name, mode='full', workdir=$myjson.path, branch=$myjson.branch, submodules=True, clobberOnFailure=True)) 

De cette façon, je pouvais envoyer un JSON comme:

{myjson: {name: github/myrepo.git, path: /tmp/my/path, branch: my_branch}} 

et être en mesure de cloner le dépôt fourni par le JSON.

Merci d'avance! J'espère que la question est assez claire. Je peux fournir des journaux ou toute configuration nécessaire. Merci!

Répondre

0

Ceci est résolu en utilisant Buildbot Properties.

cand les envoyer Vous via la ligne de commande (avec PBChangeSource) en utilisant le drapeau

buildbot sendchange ... --properties=my_property:myvalue 

Le drapeau peut être utilisé plusieurs timpes si plusieurs propriétés sont nécessaires.