Как установить custom_fields, который имеет enum_value, используя HTTP-запрос POST?

Я пытаюсь установить настраиваемые поля типа enum_value в задаче, которую я создаю с помощью HTTP-запроса POST.

Мне удалось установить custom_field типа номер, но у меня возникли проблемы с custom_fields типа enum_value

Вопросы:

Вот что я сделал до сих пор:

1- Я создал custom_fields, которые я хочу заполнить в асане, я могу установить custom_fields типа number, но не поля типа enum_value(см. Рисунок в приложении)

Вот мой код (я пробовал разные реализации, чтобы установить неправильные поля custom_fields):

  var task = {
      data: {
        assignee: "me",
        workspace: "1234567", 
        projects: "9876543",
        parent: null,
        custom_fields: {
          "1234567898": 333,  // this works
          "98765": "Public" // this custom field holds an enum_values, this implementation doesn't work
        },
        notes: "Test notes" 
      }
    }

1 ответ

Похоже, вы поставили имя enum_value вместо идентификатора. Вот пример запроса и ответа PUT/POST:

# Request
curl --request PUT -H "Authorization: Bearer <personal_access_token>" \
https://app.asana.com/api/1.0/tasks/1001 \

    -d
    '{
      "data": {
        "custom_fields":{
          "124578":"439"
        }
      }
    }'

    # Response
    {
      "data": {
        "id": 1001,
        "name": "Hello, world!",
        "completed": false,
        "...": "...",
        "custom_fields": [
          {
            "id": 124578,
            "name": "Priority",
            "type": "enum",
            "enum_value": {
              "id": 439,
              "name": "High",
              "enabled": true,
              "color": "red"
            }
          },
          "~..."
        ]
      }
    }

По общему признанию это немного скрыто, но если вы посмотрите в разделе " Пользовательские поля" в документации по началу работы, то есть пример создания пользовательских полей в разделе "Доступ к значениям пользовательских полей в задачах".

Другие вопросы по тегам