2016-05-13 20 views
1

嗨,我想知道是否有人可以幫助我以下。 我想創建一個自定義字段(複選框),這是一個數組的問題。無法創建自定義字段JIAR休息Api

我在瀏覽器(當我打http://xxxxxxxx//rest/api/latest/issue/issueId)字段出現這樣的:

"customfield_10703":["val1","val2","val3"], 

但是當我嘗試將它張貼在創建問題,我得到:

{ 
"errorMessages": [], 
"errors": { 
"customfield_10703": "Operation value must be a string" 
} 
} 

我應該提我成功地創建了一個問題,當我這樣編碼它

"customfield_10703":"{\"name\": \"Harware setup\"}", 

但現在的問題是我不能創造多個價值。

ps。我已經檢查了管理頁面,我的字段在默認屏幕上。 謝謝。

+0

[「val1」,「val2」,「val3」]是一個數組,而不是鍵/值對。如果您將它作爲{「name」:「whatever」}發送,它會有效,因爲Jira將其作爲鍵/值對接收。 – Webomatik

+1

嘗試「customfield_10703」:([「val1」,「val2」,「val3」])。join(),這樣您的自定義字段將發送一個字符串而不是數組。 – Webomatik

回答

1

看看你的項目的「createmeta」。您可以通過發出GET請求到<your_jira_server>/rest/api/2/issue/createmeta?expand=projects.issuetypes.fields&projectIds=<project_id>

這應該會爲您提供有關數據字段預期格式的更多詳細信息。隨着的複選框,你會發現一般是這樣的:

"customfield_10600": { 
    "required": false, 
    "schema": { 
     "type": "array", 
     "items": "option", 
     "custom": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", 
     "customId": 10600 
    }, 
    "name": "My Checkbox", 
    "key": "customfield_10600", 
    "hasDefaultValue": false, 
    "operations": [ 
     "add", 
     "set", 
     "remove" 
    ], 
    "allowedValues": [ 
     { 
      "self": "<your_jira_server>/rest/api/2/customFieldOption/10400", 
      "value": "apples", 
      "id": "10400" 
     }, 
     { 
      "self": "<your_jira_server>/rest/api/2/customFieldOption/10401", 
      "value": "bananas", 
      "id": "10401" 
     }, 
     { 
      "self": "<your_jira_server>/rest/api/2/customFieldOption/10402", 
      "value": "grapes", 
      "id": "10402" 
     }, 
     { 
      "self": "<your_jira_server>/rest/api/2/customFieldOption/10403", 
      "value": "kiwi", 
      "id": "10403" 
     }, 
     { 
      "self": "<your_jira_server>/rest/api/2/customFieldOption/10404", 
      "value": "limes", 
      "id": "10404" 
     }, 
     { 
      "self": "<your_jira_server>/rest/api/2/customFieldOption/10405", 
      "value": "oranges", 
      "id": "10405" 
     }, 
     { 
      "self": "<your_jira_server>/rest/api/2/customFieldOption/10406", 
      "value": "pears", 
      "id": "10406" 
     } 
    ] 
} 

當你發送回JIRA,預計option類型的數組。對於選項,您應該可以使用{"name": value}{"id": id} JSON對象(我只使用過ID方法)。您應該使用允許值列表中的值或ID。

如果你想設置多個,你需要發送這些選項對象的數組。