Отправка пользовательских полей в виде массива в приложении Zendesk - PullRequest
0 голосов
/ 12 октября 2018

Я разрабатываю приложение в Zendesk.В какой-то момент я создаю новый билет.Вот соответствующий код:

createTicketValues: function(){
    var newTicket = {};
    newTicket.ticket = {};
    ...
    newTicket.ticket.custom_fields = [{id: 25064823, value: document.getElementById('25064823').value},{id: 360011962831, value: document.getElementById('360011962831').value}];
    ...
    app.createTicket( newTicket);
},
createTicket: function(ticketData){
    console.log(ticketData);
    var request = 
    {
        url: '/api/v2/tickets.json',
        type: 'POST',
        dataType: 'json',
        data: ticketData
    };

    client.request(request).then(function (data){
        app.addParentToProject();
    })
},

Однако новый билет не имеет ни одного из этих настраиваемых полей.Что странно, потому что:

Я также добавляю другие поля (идентификатор формы заявки, приоритет ...), которые сохраняются правильно

Если я сохраню только одно поле, как это:

    newTicket.ticket.custom_fields = {id: 25064823, value: document.getElementById('25064823').value};

или как это

    newTicket.ticket.custom_fields = {id: 360011962831, value: document.getElementById('360011962831').value};

Одно настраиваемое поле сохраняется правильно (но я должен выбрать, чтобы сохранить одно или другое)

Я делаю что-то не так при объявлениимассив?

Для меня это выглядит так же, как описано в их документации (https://developer.zendesk.com/rest_api/docs/core/tickets#setting-custom-field-values), но я несколько часов пытался это исправить и не смог.

1 Ответ

0 голосов
/ 15 октября 2018

В документации говорится о том, чтобы поместить свойства id и value в двойные кавычки - не могли бы вы попробовать?В противном случае содержимое кажется нормальным.

newTicket.ticket.custom_fields = [{"id": 25064823, "value": document.getElementById('25064823').value},{"id": 360011962831, "value": document.getElementById('360011962831').value}];
...