Comment faire une demande curl avec json dans jenkins pipeline script groovy

Je suis en train de faire une Nouvelle Relique de déploiement appel d'API comme Jenkins étape de génération à l'aide de l'Groovy pipeline. Je vais avoir des problèmes en raison de l'utilisation de ces deux guillemets simples et doubles à l'intérieur de la coquille ("sh") de commande dans le script groovy. Chaque fois que j'exécute les opérations suivantes:

node {

    //...

    def json = '''\
    {"deployment": {"revision": "v1","user": "me"}}'
    '''

    sh "curl -o /dev/null -s -X POST 'https://api.newrelic.com/v2/applications/[redacted]/deployments.json' \
    -H 'X-Api-Key:[redacted]' \
    -H 'Content-Type: application/json' \
    -d '${json}'"

    //...
}

J'obtiens une erreur dans Jenkins qui dit:

/var/lib/jenkins/emplois/[rédigé]/workspace@tmp/durable-0f6c52ef/script.sh: ligne 2: des expressions du FOLKLORE alors que la recherche de correspondants `'

  • vous pouvez également utiliser les github.com/jwagenleitner/groovy-wslite#rest
  • Merci pour la suggestion sur wslite. J'ai essayé, mais il ya beaucoup plus là-bas que je pourrais facilement obtenir une poignée sur.
InformationsquelleAutor MarkRoland | 2017-01-06