簡體   English   中英

使用Jira API REST創建問題

[英]Create an Issue with Jira API REST

當我嘗試通過Jira API REST創建問題時,我收到500 Internal server error ,我成功地從帶有get-request的項目中獲得問題但是當我嘗試使用post-request創建新問題時,它沒有不行,我得到了錯誤。

這是我的JavaScript代碼:

createIssue: function(req, res) {
  var Http = require('machinepack-http');
  process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
  Http.sendHttpRequest({
    url: '/rest/api/2/issue/',
    baseUrl: 'https://jira.mydomain.com',
    method: 'post',
    data: {
      "fields": {
        "project": {
          "key": "TEST"
        },
        "summary": "REST ye merry gentlemen.",
        "description": "Creating of an issue using project keys and issue type names using the REST API",
        "issuetype": {
          "name": "Bug"
        }
      }
    },
    headers: {
      "Authorization": "Basic YWxbG9wMS4zp0bWFuzeThYS5l1TIqaXoxOTg5554Jh"
    },
  }).exec({
    serverError: function(result) {
      res.send("server error" + JSON.stringify(result))
    },
    success: function(result) {
      res.send("issue has been created succefly");
    },
  });
}

錯誤內容:

{
    "body": "{\"errorMessages\":[\"Internal server error\"],\"errors\":{}}",
    "headers": "{\"server\":\"nginx/1.6.0\",\"date\":\"Tue, 14 Apr 2015 13:45:38 GMT\",\"content-type\":\"application/json;charset=UTF-8\",\"transfer-encoding\":\"chunked\",\"connection\":\"close\",\"x-arequestid\":\"945x246734x1\",\"set-cookie\":[\"JSESSIONID=838923A79DA31F77BDD62510399065CF; Path=/; HttpOnly\",\"atlassian.xsrf.token=BQIV-TVLW-FGBG-OTYU|63c1b4a7b87a9367fff6185f0101c415f757e85b|lin; Path=/\"],\"x-seraph-loginreason\":\"OK\",\"x-asessionid\":\"ughpoh\",\"x-ausername\":\"alaa\",\"cache-control\":\"no-cache, no-store, no-transform\",\"x-content-type-options\":\"nosniff\"}",
    "status": 500
}

使用params而不是data

JS: -

createIssue: function(req, res) {
  var Http = require('machinepack-http');
  process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
  Http.sendHttpRequest({
    url: '/rest/api/2/issue/',
    baseUrl: 'https://jira.mydomain.com',
    method: 'post',
    params: {
      "fields": {
        "project": {
          "key": "TASC"
        },
        "summary": "REST ye merry gentlemen.",
        "description": "Creating of an issue using project keys and issue type names using the REST API",
        "issuetype": {
          "name": "Bug"
        }
      }
    },
    headers: {
      "Authorization": "Basic YWxbG9wMS4zp0bWFuzeThYS5l1TIqaXoxOTg5554Jh"
    },
  }).exec({
    serverError: function(result) {
      res.send("server error" + JSON.stringify(result))
    },
    success: function(result) {
      res.send("issue has been created succefly");
    },
  });
}

參考

當它試圖解析projectissuetype字段時,看起來它期望一些非空值,雖然沒有完整的issuetype ,但很難確定。

您可以嘗試向projectissuetype字段添加id屬性:

params: {
  "fields": {
    "project": {
      "key": "TASC",
      "id": "10001"
    },
    "summary": "REST ye merry gentlemen.",
    "description": "Creating of an issue using project keys and issue type names using the REST API",
    "issuetype": {
      "id": "1",
      "name": "Bug"
    }
  }
}

顯然,你會確保在兩種情況下都使用適當的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM