So rufen Sie REST aus dem jenkins-Workflow auf

8

Ich frage mich, wie ich die REST-API über ein (grooviges) Jenkins-Workflow-Skript aufrufen soll. Ich kann "sh 'curl -X POST ...'" ausführen - es funktioniert, aber das Erstellen der Anforderung als curl-Befehl ist umständlich und die Verarbeitung der Antwort wird kompliziert. Ich würde es vorziehen, wenn Groovy einen nativen Groovy HTTP Client programmiert - mit welchem ​​sollte ich anfangen? Da das Skript in Jenkins läuft, gibt es den Schritt, alle benötigten Abhängigkeitsgläser in die groovige Installation von Jenkins zu kopieren, so dass etwas Leichtes geschätzt wird.

    
Assen Kolov 08.01.2016, 16:50
quelle

5 Antworten

8

Ich hatte Probleme bei der Installation der HTTPBuilder-Bibliothek. Daher verwendete ich die grundlegendere URL-Klasse, um eine HttpUrlConnection zu erstellen.

%Vor%

Und dann kann ich ein GET mit etwas wie tun: HttpResponse resp = doGetHttpRequest("http://some.url");

Und ein PUT mit JSON-Daten mit etwas wie: HttpResponse resp = this.doPutHttpRequestWithJson("{\"propA\":\"foo\"}", "http://some.url");

    
Jesse S 08.04.2016 18:56
quelle
5

Es ist ein eingebauter Schritt verfügbar, der das Jenkins HTTP Request Plugin benutzt, um http Anfragen zu stellen.

Plugin: Ссылка

Schritt Dokumentation: Ссылка

Beispiel aus dem Plugin github page:

%Vor%     
raitisd 14.11.2016 13:52
quelle
1

Das Blockieren des Hauptthreads für E / A-Aufrufe ist keine gute Idee.

Das Delegieren der E / A-Operation zu einem Shell-Schritt ist derzeit die empfohlene Vorgehensweise.

Der andere Weg, der Entwicklung erfordert, besteht darin, einen neuen Schritt hinzuzufügen. Übrigens gibt es eine Initiative , um einen gemeinsamen Satz von Schritten hinzuzufügen, die sicher in der Pipeline verwendet werden können Skript, obwohl ein voller REST-Client sein eigenes Plugin hat.

    
amuniz 19.01.2016 11:12
quelle
1

Nativer Groovy-Code ohne das Importieren von Paketen:

%Vor%     
Jim Perris 08.03.2017 03:08
quelle
0

Haben Sie die HTTPBuilder-Klasse von Groovy ausprobiert? Zum Beispiel:

%Vor%     
pczeus 15.01.2016 15:04
quelle

Tags und Links