1

Existe-t-il un moyen d'obtenir le nom d'utilisateur initié par le travail hudson. Est-il possible d'utiliser le script shell, py etc.hudson: comment obtenir la valeur de l'utilisateur qui a initié la construction?

Supposons que j'ai le build # qui a été lancé. Je sais comment obtenir les dernières informations de construction en utilisant API, mais je voudrais obtenir des informations sur l'utilisateur pour un travail spécifique.

Pensez-vous que cela fonctionnera pour hudson? :) https://wiki.jenkins-ci.org/display/JENKINS/Build+User+Vars+Plugin

Merci à l'avance

+0

également vérifier http://stackoverflow.com/questions/28545155/jenkins-groovy-what-triggered-the-build/31285364#31285364 –

Répondre

0

Ce plugin ne fonctionne pas avec Hudson, sauf si vous téléchargez une version très ancienne du plug-in. Je ne suis pas sûr combien de personnes utilisent encore Hudson et n'ont pas upgraded to Jenkins. Quoi qu'il en soit, lorsqu'un utilisateur déclenche manuellement une génération, cela s'appelle une «cause utilisateur»; il existe d'autres types de causes, par ex. Déclencheur SCM.

Vous pouvez utiliser l'API JSON ou XML pour obtenir les causes pour une construction, par exemple:
https://ci.jenkins-ci.org/job/remoting/lastSuccessfulBuild/api/xml?xpath=//action/cause/userId

Dans ce cas, cela renvoie le nom d'utilisateur qui a provoqué l'accumulation de fonctionner.
Notez cependant qu'il peut y avoir plusieurs causes pour une génération, et potentiellement autres types de causes qui utilisent le champ userId.

Cela fonctionne dans Jenkins, mais fonctionne également dans Hudson, mais je ne l'ai pas testé.

+0

Thx Chris, est-il possible d'obtenir l'ID utilisateur pour un build # spécifique? – enthuguy

+0

@enthuguy Oui, remplacez 'lastSuccessfulBuild' dans l'URL avec le numéro de build. Vous pouvez obtenir des informations sur l'API pour la plupart des URL de Jenkins en ajoutant '/ api' à la fin. –

+0

C'est gentil, laissez-moi essayer une mise à jour cette question. – enthuguy