У меня есть некоторые проблемы при синтаксисе JSON. Я хочу записать все параметры сборки конвейера заданий jenkins с параметрами в файл JSON, используя $ {params}! В моем случае у меня есть 4 параметра (apis: multi-select, name: string, version: single-select и status: Boolean), есть скрипт Jenkinsfile
pipeline {
agent any
stages {
stage('Build') {
steps {
script{
sh "./test.sh ${params}"
}
}
}
}
}
Содержание теста. sh
#!/bin/bash
a=$(echo -n $@ | tr -d ']['| jq -nRs 'inputs |split(",")'| sed 's/:/":"/')
echo $a > file.json
Вывод в jenkins
+ ./test.sh [apis:dev,qa,prod, name:element, version:g3, status:true]
[ "apis":"dev", "qa", "prod", " name":"element", " version":"g3", " status":"true" ]
Результат в файле. json
SyntaxError: JSON.parse: expected ',' or ']' after array element at line 1 column 9 of the JSON data
Мой вопрос заключается в том, как отформатировать вывод, чтобы получить чистый результат в файле. json вот так
[{
"apis": ["dev",
"qa",
"prod"
],
" name": "element",
" version": "g3",
" status": "true"
}]
PS: я не могу использовать Groovy