2016-05-13 4 views
1

Привет, мне было интересно, может ли кто-нибудь помочь мне в следующем. Я пытаюсь создать проблему с настраиваемым полем (флажки), который является массивом.Невозможно создать пользовательское поле JIra Rest Api

Мое поле в браузере (когда я ударил http://xxxxxxxx//rest/api/latest/issue/issueId) придумывает, как это:

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

, но когда я пытаюсь разместить его в создании Issue я получаю:

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

Я должен упомянуть что мне удалось успешно создать проблему, когда я ее кодирую так, как это

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

Но проблема в том, что я не могу создать больше одного значения.

пс. Я уже проверил страницу администрирования, и мое поле находится по умолчанию. Спасибо.

+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 из списка допустимых значений.

Если вы хотите установить более одного, вам нужно будет отправить массив этих объектов-параметров.

 Смежные вопросы

  • Нет связанных вопросов^_^