Dans Jenkins, comment les constructeurs savent-ils qui les a demandés?
J'ai besoin de passer le nom de l'auteur de la demande de construire vers le script qui est en train de faire le travail. En regardant la sortie de la console pour un particulier de construire, la première ligne est toujours "a Commencé par l'utilisateur foo," de sorte Jenkins est clairement de garder la trace de qui a déclenché la construire. Il devrait donc être possible de transmettre cette information à l'emploi..... La question est, comment?
source d'informationauteur Sniggerfardimungus
Vous devez vous connecter pour publier un commentaire.
Le nom d'utilisateur n'est pas facile à récupérer la variable d'environnement, mais vous pouvez l'obtenir à l'aide de la xml ou json ou python) api - dès que vous commencez à construire un,
http://[jenkins-server]/job/[job-name]/[build-number]/api/xml
est rempli avec des détails:user30997
S'il vous plaît vérifier Jenkins Construire Utilisateur Vars pluginil le fait ce dont vous avez besoin:
Il est utilisé pour définir la suite à l'utilisateur de construire des variables:
J'ai essayé d'utiliser Jenkins Construire Utilisateur Vars plugin et informer un HipChat chambre qu'une version a été lancée par un utilisateur en particulier, mais
BUILD_USER
variable n'était pas disponible pour HipChat plugin, peut-être parce que HipChat action qui s'est passé avant la construction de l'Utilisateur Vars plugin injecte de la variable.J'ai donc installé pré-scm-buildstep plugin et a ajouté:
]
Dans votre Travail ajouter "exécutent le système Groovy script":
J'ai réussi à l'obtenir (Jenkins 2.58):
Bien sûr, vous devez définir des autorisations dans Jenkins pour être en mesure d'appeler ces méthodes.
Il n'est pas toujours le 0e Cause de l'objet que vous cherchez, par exemple, il peut être en un autre, si vous refaites un autre utilisateur de construire (n'a pas de test).