Impossible d'utiliser la tuile au sein GROOVY script de REPOS pour METTRE l'appel
Je suis en train de faire une simple requête PUT à l'aide de CURL. Il est Simple sur un terminal, mais pas en mesure de le faire fonctionner dans mon script Groovy.
Voici un extrait de celui-ci :-
class Test {
//Throws 415 Cannot Consume Content Type
void testPUT () {
println "curl -i -X PUT -H \"Content-Type: application/json\" -d '{\"Key1\":1, \"Key2\":\"Value2\"}' http://<hostname>/foo/".execute().text
}
//Works Perfectly Fine
void testGET () {
println "curl -i -X GET -H \"Content-Type: application/json\" http://<hostname>/foo".execute().text
}
}
J'ai aussi essayé de joindre la commande à l'aide de triple guillemets comme:-
"""curl -i -X PUT -H "Content-Type:application/json" -d '{"Key1":1,"Key2":"Value2"}' http://<hostname>/foo""".execute().text
Toutes mes tentatives se donne 415 Type de Contenu Ne peut pas être Consommé
Lorsque j'utilise simplement la boucle de commande dans une fenêtre de terminal, les deux méthodes PUT et GET, beau travail.
Suis-je raté quelque chose? Toute aide serait appréciée!
Merci!
Donc, vous dites que la commande curl votre script de test est sortie ne fonctionne pas, mais vous, en tapant exactement la même chose dans un terminal?
oui, c'est ce qui se passe 🙁
Essayer de l'exécuter à travers un enregistrement de proxy pour voir ce qui est sur le fil.
Dave Newton:- Pourriez-vous nous donner plus de détails sur ce qu'il faut chercher
oui, c'est ce qui se passe 🙁
Essayer de l'exécuter à travers un enregistrement de proxy pour voir ce qui est sur le fil.
Dave Newton:- Pourriez-vous nous donner plus de détails sur ce qu'il faut chercher
OriginalL'auteur Darshak | 2012-01-06
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser la liste de la variation de la chaîne et voir si cela fonctionne:
J'ai eu un problème similaire et c'était le seul moyen que j'ai pu trouver pour le résoudre. Groovy va diviser la chaîne en arguments à chaque espace, et je crois que cela a été le déclenchement ascendant et l'-H argument paire. En mettant la chaîne dans la liste variante, il conserve chaque élément comme un argument.
OriginalL'auteur xynthy
Bâtiment sur Bruce réponse, vous aurez également besoin de marquer "-X". Testé sur groovy 2.3.6.
["curl", "-H", "Content-Type: application/json", "-H", "Accept: application/json", "-X", "PUT", "-d", data, uri].execute()
OriginalL'auteur user3240644
Cela fonctionne dans mon terminal
Si cela ne fonctionne pas pour vous, alors ce n'est probablement pas un groovy problème.
qui groovy version?
groovy -v
. Le mien estGroovy Version: 1.8.4 JVM: 1.6.0_26
Groovy Version: 1.6.4 JVM: 1.6.0_26
vous devriez peut-être essayer avec une version plus récente de groovy
Désolé, mais même après la mise à jour vers la dernière version groovy, je continue à voir la même sortie.
OriginalL'auteur fixitagain
Grâce xynthy pour la liste de la variation de l'indice, j'ai encore été voir le redoutable
"Type de contenu" application/x-www-form-urlencoded' non pris en charge"
avec ton exemple, mais rupture de l'-H et le type de contenu des chaînes travaillé.
C'est confirmé travailler en groovy, 1.8:
["curl", "-H", "Content-Type: application/json", "-H", "Accept: application/json", "-X", "PUT", "-d", data, uri].execute()
ergh, pourquoi est-il à mettre "Résultat:"? la réponse JSON!
OriginalL'auteur Bruce Edge
J'ai d'abord installé le groovy post-construction plugin
https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Postbuild+Plugin
Puis j'ai inclus groovy post-construction plugin dans mon post de configuration de la compilation de mon jenkins travail
et utilisé la commande
Ici mon point de terminaison est http:172.16.100.101:1337/jenkins/build
OriginalL'auteur selftaught91