#windows #jenkins #jira #jenkins-slave
#Windows #дженкинс #jira #дженкинс-подчиненный
Вопрос:
Привет, я пытаюсь создать проблему Jira через Jenkins на подчиненном устройстве Windows. Вывод консоли не показывает никакой ошибки, однако проблема с Jira не создается. Ниже приведен код:
pipeline {
agent { label 'windows'}
stages {
stage('Build') {
steps {
bat script {"""curl -u ${jira_username}:${jira_password} -X POST -H 'Content- Type:application/json' -d '{"fields":{"components":[{"id":"1"}],"fixVersions":[{"id":"2"}],"project":{"key":"KEY"},"summary":"summary","description":"description","issuetype":{"name":"Test"}}}' http://localhost:8080/rest/api/2/issue/"""}
}
}
}
}
Вывод на консоль:
D:workspaceTestJob>curl -u username:password -X POST -H 'Content-Type:application/json' -d
'{"fields":{"components":[{"id":"1"}],"fixVersions":[{"id":"2"}],"project":
{"key":"KEY"},"summary":"summary","description":"description","issuetype":{"name":"Test"}}}'
http://localhost:8080/rest/api/2/issue/
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 136 0 0 100 136 0 323 --:--:-- --:--:-- --:--:-- 326
Он не выдает никаких ошибок, но проблема также не создается.
Однако тот же код, если я запускаю на подчиненном устройстве Linux, я получаю приведенный ниже ответ, и проблема создается.
curl -u 'username:password' -X POST -H Content-Type:application/json -d '{"fields":
{"components":[{"id":"1"}],"fixVersions":[{"id":"2"}],"project":
{"key":"KEY"},"summary":"summary","description":"description","issuetype":
{"name":"Test"}}}' http://localhost:8080/rest/api/2/issue/
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 255 0 87 100 168 115 223 --:--:-- --:--:-- --:--:-- 223
100 255 0 87 100 168 115 223 --:--:-- --:--:-- --:--:-- 223
{"id":"648","key":"KEY-35","self":"http://localhost:8080/rest/api/2/issue/648"}
Как вы можете видеть, проблема создается в Linux, но не в Windows. Запрашиваю помощь для решения этой проблемы.
Ответ №1:
Устранена проблема
Во-первых, ‘Content-Type: application / json’ должен быть в двойных кавычках. Помещение его в одинарную кавычку ‘Content-Type: application / json’ фактически выдавало код ошибки 415, который я узнал после использования -k -D- в команде curl
Во-вторых, мне пришлось использовать двойную обратную косую черту в данных.
Команда, которая на самом деле сработала,:
bat script {"""curl -u username:password --header "Content-Type:application/json" -X POST --data "{\"fields\":{\"project\":{\"key\":\"KEY\"},\"summary\":\"summary\",\"description\":\"description\",\"issuetype\":{\"name\":\"Test\"},\"components\":[{\"id\":\"1\"}],\"fixVersions\":[{\"id\":\"2\"}]}}" http://localhost:8080/rest/api/2/issue/"""}