2016-05-06 7 views
3

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

+0

Könnte es als Python-Skript oder ein Shell-Skript geschrieben werden? Lassen Sie 'Jenkins' dann das Skript ausführen. – AechoLiu

Antwort

2

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

+0

Ok ich werde es testen und eine Rückmeldung geben. Danke. – user3258116

5

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.

+0

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

0

Wenn Sie Pipeline Job verwenden, werden Sie glücklich mit Pipeline Utility Steps Plugin

+0

Freundlicherweise elobrate – Panther

+0

Wahrscheinlich beziehen sich auf den ReadJSON-Schritt: https://github.com/jenkinsci/pipeline-utility-steps-plugin/blob/master/docs/STEPS.md – seanf