Comment appeler de REPOS à partir de flux de travail de jenkins
Je me demande comment faire pour appeler l'API REST d'un (groovy) Jenkins flux de travail de script. Je peux exécuter la commande "sh" curl -X POST...'" -, il fonctionne, mais la construction de la demande comme une boucle de commande est lourd et le traitement de la réponse devient compliqué. Je préfère un natif Groovy Client HTTP pour le programme en groovy - qui dois-je commencer? Comme le script est exécuté dans Jenkins, il y a l'étape de la copie de tous les nécessaires de la dépendance des pots à l'groovy installation de Jenkins, donc quelque chose de léger serait appréciée.
Avez-vous savoir comment installer HTTPBuilder dans Jenkins?
S. Richmond, la copie de toutes les bocaux à l'Groovy dossier libs, comme mentionné dans la question, les travaux, mais cela rend l'approvisionnement d'un serveur Jenkins trop compliqué. Je pense que je suis coller à curl, après tout.
Auriez-vous l'esprit en soulignant à moi où le dossier existe à l'intérieur d'une installation de jenkins?
- Je exécuter Jenkins dans un menu fixe de l'image où j'ai installé avec groovy skdman. Le dossier lib est var/jenkins_home comme pointant/.sdkman/candidats/groovy/2.4.6/lib.
S. Richmond, la copie de toutes les bocaux à l'Groovy dossier libs, comme mentionné dans la question, les travaux, mais cela rend l'approvisionnement d'un serveur Jenkins trop compliqué. Je pense que je suis coller à curl, après tout.
Auriez-vous l'esprit en soulignant à moi où le dossier existe à l'intérieur d'une installation de jenkins?
- Je exécuter Jenkins dans un menu fixe de l'image où j'ai installé avec groovy skdman. Le dossier lib est var/jenkins_home comme pointant/.sdkman/candidats/groovy/2.4.6/lib.
OriginalL'auteur Assen Kolov | 2016-01-08
Vous devez vous connecter pour publier un commentaire.
Il est créé dans l'étape est disponible à l'aide de Jenkins de la Requête HTTP Plugin pour faire des requêtes http.
Plugin: https://wiki.jenkins-ci.org/display/JENKINS/HTTP+Demande+Plugin
L'étape de la documentation: https://jenkins.io/doc/pipeline/steps/http_request/#httprequest-perform-an-http-request-and-return-a-response-object
Exemple du plugin github page:
Je suppose que vous n'avez pas besoin de configurer quoi que ce soit sur Jenkins côté. Il vous suffit d'utiliser https dans l'url et c'est tout. Et la ressource que vous appelez a à ssl n'est pas configuré.
Vous pouvez ignorer les certificats de problèmes avec les "ignoreSslErrors: true"
pour utiliser
ignoreSslErrors: true
avec cela? Quelle est la syntaxe?OriginalL'auteur raitisd
J'ai eu des difficultés à installer le HTTPBuilder bibliothèque, je me suis donc retrouvé à l'aide de la base de l'URL de la classe pour créer un HttpUrlConnection.
Et puis je peux faire un GET avec quelque chose comme:
HttpResponse resp = doGetHttpRequest("http://some.url");
Et les METTRE avec les données JSON en utilisant quelque chose comme:
HttpResponse resp = this.doPutHttpRequestWithJson("{\"propA\":\"foo\"}", "http://some.url");
Merci, c'est super. J'ai besoin d'ajouter l'authentification basique:
def auth_token = "user:github_token"; def basic_auth = "Basic ${auth_token.bytes.encodeBase64().toString()}"; connection.setRequestProperty("Authorization", basic_auth);
OriginalL'auteur Jesse S
Natif Groovy Code sans l'importation de tous les paquets:
OriginalL'auteur Jim Perris
Bloquer le thread principal sur les appels d'e/S n'est pas une bonne idée.
De déléguer l'opération d'e/S à une coquille étape est la manière recommandée actuellement.
L'autre sens, ce qui nécessite le développement, est d'ajouter une nouvelle étape. Par ailleurs, il y a une initiative pour ajouter un ensemble commun de mesures pour être utilisé en toute sécurité à l'intérieur de la canalisation de script, mais un plein REPOS client est redevable de son propre plugin.
OriginalL'auteur amuniz
Avez-vous essayé Groovy du HTTPBuilder Classe?
Par exemple:
J'ai mis à jour l'exemple pour montrer comment l'utiliser Raisins Saisir pour tirer la charge HttpBuilder bibliothèque sans la nécessité de mesures supplémentaires à inclure dans le Jenkins classpath.
J'ai enfin eu le temps de tester ce et, malheureusement, il échoue avec l'erreur ici: gist.github.com/strich/38e472eac507bc73e785
J'ai le même problème que S. Richmond avec org.apache.ivy. @pczeus, avez-vous une idée de comment résoudre ce problème ?
Je suis tombé sur moi-même (problème avec la puce). Je crois qu'il a été résolu quand j'ai effacé le .les raisins de cache et fait un Projet de Reconstruction à l'Ide, pas sûr. Peu importe, voici 2 liens qui pourront vous aider: stackoverflow.com/questions/31498714/cannot-install-httpbuilder et stackoverflow.com/questions/28888337/...
OriginalL'auteur pczeus