Comment puis-je mettre à jour un jenkins travail à l'aide de l'api
Je dois créer/mettre à jour un jenkins travail en utilisant son api parce que tous mes travaux sont à l'aide de paramètres qui sont également utilisés par d'autres scripts et je suis en train de centraliser les scripts, donc quand je l'ai changer en un seul endroit, le changement se reflète dans tous les.
actuellement, si quelqu'un modifie le script, ils ont aussi pour modifier manuellement les paramètres de l'jenkins travail aussi bien.
J'ai vu l'exemple de l'API à Distance pour la création d'emplois et a réussi à créer le test d'emplois, mais comment puis-je modifier une tâche existante en plus de le supprimer et d'en créer de nouveau(ce qui n'est pas une option que j'ai à maintenir la construction de l'histoire).
OriginalL'auteur dsymquen | 2014-03-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser python comme ceci:
Merci. J'ai vraiment eu du mal avec cela.
OriginalL'auteur Dave
au cas où quelqu'un d'autre est également à la recherche de la même réponse,
Il semble que la solution est beaucoup plus facile, tout ce que vous avez à faire est de mettre à jour le config.xml et après la mise à jour config.xml retour à jenkins et votre travail sera mis à jour.
^ Ce lien est parfait. Toutefois, si votre jenkins vous donne l'erreur "403 mie n'était pas inclus" des requêtes POST, Il y a une option dans les "Paramètres Globaux de Sécurité" qui "Permet d'activer le Mode de Compatibilité pour les proxys". Désactivez-la et vos requêtes POST devrait fonctionner
OriginalL'auteur dsymquen
Vous pouvez également POSTER une mise à jour config.xml pour l'URL qui permet de récupérer
config.xml
, par programme de mise à jour de la configuration d'un emploi.L'url d'extraction de motif:
$JENKINS_SERVER/job/$JOB_NAME/config.xml
détaillée doc motif:
$JENKINS_SERVER/job/$JOB_NAME/api
exemple: https://ci.jenkins-ci.org/job/infra_atlassian-base/api/
OriginalL'auteur Frank Chen
http://asheepapart.blogspot.ca/2014/03/use-jenkins-rest-api-to-update-job.html
Que peu de scripting l'air d'être ce que vous cherchez. Utilise l'API REST d'obtenir et de définir la config avec quelques regex S&R dans le milieu.
Edit: le Code ci-dessous en fonction de commentaire. Il est copié directement à partir du blog, donc je ne vais pas prendre le crédit pour cela.
OriginalL'auteur user2800006
Pour ceux qui utilisent RestSharp, j'ai trouvé que j'avais besoin pour s'assurer que:
Envoyer les mises à jour XML à l'aide d'un paramètre de l'objet de la Requête avec la valeur de
[ParameterType.RequestBody]
(lien)Un pour le type d'argument.OriginalL'auteur Dave Michener
Vous pouvez envisager d'utiliser https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin.
OriginalL'auteur November Yankee