Um die Implementierungen eines IBM-Produkts zu industrialisieren, verwende ich seine REST-API-Schnittstellen. Ich plane, jenkins zu verwenden, um die Anrufe zu den REST APIs zu orchestrieren. Ich frage mich immer noch, ob es eine gute Idee ist ...? Wenn ja, gibt es eine Möglichkeit, die JSON-Antworten einfach zu parsen, um einige Bedingungen in den Schritten zu machen? Danke.So analysieren Sie die JSON-Antwort in einem integrierten Schritt in jenkins
Antwort
JQ https://stedolan.github.io/jq/ ist ein JSON-Parser für bash. Ich habe es in der Vergangenheit benutzt und es ist wunderschön.
können Sie JQ, um Ihren Jenkins Server und dann JQ rufen in Ihrem Build-Schritt Bash-Skripte
Ok ich werde es testen und eine Rückmeldung geben. Danke. – user3258116
Sie nicht sagen, was Sie die API für verwenden, aber wenn Sie die Groovy plugin haben, könnten Sie verwenden JsonSlurper
So etwas wie
import groovy.json.JsonSlurper
URL apiUrl = "https://some.website/api/someFunction".toURL()
List json = new JsonSlurper().parse(apiUrl.newReader())
// do stuff with the json object
ich bin nicht ganz sicher, wie Sie dies und es dauern würde, verwenden, um direkt für die bedingte Erstellungsschritte während der Ausführung des Auftrags, obwohl.
Ein alternativer Ansatz besteht darin, basierend auf der API-Antwort mithilfe der Job DSL Plugin eine Reihe von Jobs mit den entsprechenden Schritten zu generieren. Diese Art von Dingen kann für Dinge wie das Lesen einer Liste von SCM-Zweigen und das Erzeugen von Jobs für jeden von ihnen verwendet werden. Das kann oder darf nicht das sein, was Sie versuchen zu tun.
Hallo, Danke für deine Antwort. Ich werde das Plugin testen. Ich muss API-Aufrufe orchestrieren, um einige Artefakte bereitzustellen. Jeder API-Aufruf trägt zur Lieferung bei und ich muss die JSON-Antwort jedes einzelnen analysieren, bevor ich zum nächsten Build-Schritt gehe. – user3258116
Wenn Sie Pipeline Job verwenden, werden Sie glücklich mit Pipeline Utility Steps Plugin
Könnte es als Python-Skript oder ein Shell-Skript geschrieben werden? Lassen Sie 'Jenkins' dann das Skript ausführen. – AechoLiu