从Jenkins创建Jira issue

5vf7fwbs  于 2023-11-17  发布在  Jenkins
关注(0)|答案(1)|浏览(186)

嗨,我正在尝试通过Jenkins在Windows代理上创建Jira问题。控制台输出没有显示任何错误,但是,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:\workspace\TestJob>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 slave上运行相同的代码,那么我会得到下面的响应,并且会产生问题。

+ 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上。请求帮助来解决这个问题。

67up9zun

67up9zun1#

解决问题

第一个 *“Content-Type:application/json“应该用双引号括起来。把它放在单引号中”Content-Type:application/json“实际上给出了415错误代码,我在curl命令中使用-k -D-**后才知道
其次,我不得不在数据中使用双反斜杠。

实际执行的命令为:

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/"""}

字符串

相关问题