#jenkins #curl #groovy #jenkins-pipeline #jenkins-groovy
#дженкинс #curl #groovy #дженкинс-трубопровод #jenkins-groovy
Вопрос:
Я пытаюсь выполнить команду curl с помощью jenkins, но мне нужно предоставить файл json при выполнении этого curl. Я хочу создать этот файл динамически, используя значения, переданные в параметрах во время выполнения сборки.
Пример файла json:
{ «field1»: «value1» «field2»: «value2» }
Эти значения будут динамическими, то есть они будут переданы в качестве параметров при выполнении сборки.
Пожалуйста, проведите меня через это.
Комментарии:
1. Пожалуйста, добавьте код, который вы пробовали, и как он не удался (например, ошибки, трассировки стека, журналы, …), Чтобы мы могли его улучшить.
2. Пожалуйста, добавьте пример кода, который вы пробовали.
Ответ №1:
Это можно сделать следующим образом
pipeline {
agent any;
parameters {
string(name: 'NAME', defaultValue: 'Mr X', description: 'Who should I say hello to?')
string(name: 'LOCATION', defaultValue: 'NYC', description: 'Where should I report this to?')
}
stages {
stage('curl') {
steps {
writeJSON file: 'data.json', json: params
sh """
curl -X POST -H "Content-Type: application/json" -d @data.json http://api.xyz.net
"""
}
}
}
}
Примечание — для DSL writeJSON
необходимо установить плагины pipeline-utility-steps или, используя собственный groovy api, вы можете params
преобразовать объект в JSON.