Выдать права доступа к очереди

Запрос позволяет настроить доступы к очереди.

PATCH

https://api.tracker.yandex.net/v3/queues/<id_очереди>/permissions

Формат запроса

Перед выполнением запроса получите доступ к API.

Чтобы настроить доступы к очереди, используйте HTTP-запрос с методом PATCH. В теле запроса укажите параметры в формате JSON.

PATCH /v3/queues/<id_очереди>/permissions
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
   "create": {
      "groups": [3, 5]
   },
   "write": {
      "users": {
         "remove": ["username1", "username2"]
      },
      "groups": {
         "add":[4]
       },
      "roles": {
         "add":["author", "assignee"]
      }
   },
   "read": {
      "groups": {
         "add":[4]
       },
      "roles": {
         "add":["follower"]
      }
   },
   "grant": {
      "users": {
         "remove": ["username3",  "username4"]
      }
   }
   
}
Заголовки
  • Host: адрес узла, предоставляющего API.

  • Authorization: токен для авторизации в одном из форматов:

    • OAuth <OAuth-токен> при авторизации по протоколу OAuth 2.0. Читать подробнее

    • Bearer <IAM-токен> при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Cloud Organization. Читать подробнее

  • X-Org-ID или X-Cloud-Org-ID: идентификатор организации.

    • Используйте заголовок X-Org-ID, если к Трекеру привязана организация Яндекс 360 для бизнеса.

    • Используйте заголовок X-Cloud-Org-ID, если к Трекеру привязана организация Yandex Cloud Organization.

    Чтобы узнать идентификатор организации, перейдите на страницу АдминистрированиеОрганизации и скопируйте значение поля идентификатор.

Ресурс
Параметр Описание Тип данных
<id_очереди> Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. Строка
Параметры тела запроса

Тело запроса содержит информацию, необходимую для управления доступами.

Допустимые поля объекта тела запроса

Укажите в запросе хотя бы одно из полей:

Параметр Описание Тип данных
create Разрешения на создание задач в очереди. Объект
write Разрешения на редактирование задач в очереди. Объект
read Разрешения на чтение задач в очереди. Объект
grant Разрешения на изменение настроек очереди. Объект

Допустимые поля объектов, к которым применяются разрешения

Каждое из полей тела запроса содержит перечень пользователей, групп, ролей, к которым применяется действие разрешения. Укажите в перечне хотя бы одно из полей:

Параметр Описание Тип данных
users Список пользователей. Объект или массив элементов
groups Список групп. Объект или массив элементов
roles Список ролей. Объект или массив элементов

Допустимые значения полей объектов, к которым применяются разрешения

В каждом из полей можно указать либо массив идентификаторов, либо объект:

  • Если указан массив идентификаторов, то разрешения для данных ресурсов будут созданы или перезаписаны в соответствии с запросом;
  • Если указан объект, то разрешения будут добавлены или отозваны в соответствии с указанным ключом:
Ключ Описание Тип данных
add Добавить разрешение. Массив элементов
remove Отозвать разрешение. Массив элементов

Допустимые идентификаторы

Тип ресурса

Идентификатор

Описание

Тип данных

users

login

Логин пользователя.

Строка

uid

Уникальный идентификатор учетной записи пользователя в Трекере.

Число

passportUid

Уникальный идентификатор аккаунта пользователя в Яндекс ID.

Число

cloudUid

Уникальный идентификатор пользователя в Yandex Cloud Organization.

Строка

trackerUid

Уникальный идентификатор аккаунта пользователя в Трекере.

Число

groups

id

Идентификатор группы.

Идентификаторы групп можно получить запросом https://api.tracker.yandex.net/v3/groups.

Число

roles

role_id

Идентификатор роли:

  • author — Автор,
  • assignee — Исполнитель,
  • follower — Наблюдатель,
  • access — С правом доступа.

Строка

Пример 1: Выдать права на создание и редактирование задач в очереди с ключом TESTQUEUE пользователю с логином user1.

  • Используется HTTP-метод PATCH.
  • Права выдаются пользователю user1 в очереди с ключом TESTQUEUE.
  • В результате запроса имеющиеся у пользователя права в очереди будут перезаписаны.
PATCH /v3/queues/TESTQUEUE/permissions HTTP/1.1
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
    "create": {
       "users": ["user1"]
    },
    "write": {
       "users": ["user1"]
    }
}

Пример 2: Настроить права доступа к очереди с ключом TESTQUEUE:

  • Используется HTTP-метод PATCH.
  • Пользователю user1 выдается право настройки очереди с ключом TESTQUEUE.
  • У пользователя с идентификатором 12345 отзывается право настройки очереди с ключом TESTQUEUE.
PATCH /v3/queues/TESTQUEUE/permissions HTTP/1.1
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
    "grant": {
       "users": {
          "add":["user1"],
          "remove":[12345]
       }
    }
}

Формат ответа

В случае успешного выполнения запроса API возвращает ответ с кодом 200 OK.

{
    "self": "https://api.tracker.yandex.net/v3/queues/TESTQUEUE/permissions",
    "version": 11,
    "create": {
        "self": "https://api.tracker.yandex.net/v3/queues/TESTQUEUE/permissions/create",
        "users": [
            {
              "self": "https://api.tracker.yandex.net/v3/users/11********",
              "id": "11********",
              "display": "Имя Фамилия",
              "cloudUid": "ajeppa7dgp53********",
              "passportUid": 11********
            }
        ],
        "roles": [
            { "self": "https://api.tracker.yandex.net/v3/roles/author", "id": "author", "display": "Автор" },
            { "self": "https://api.tracker.yandex.net/v3/roles/queue-lead", "id": "queue-lead", "display": "Владелец очереди" },
            { "self": "https://api.tracker.yandex.net/v3/roles/assignee", "id": "assignee", "display": "Исполнитель" }
        ]
    },
    "write": {
        "self": "https://api.tracker.yandex.net/v3/queues/TESTQUEUE/permissions/write",
        "users": [
             {
              "self": "https://api.tracker.yandex.net/v3/users/11********",
              "id": "11********",
              "display": "Имя Фамилия",
              "cloudUid": "ajeppa7dgp53********",
              "passportUid": 11********
            }
        ],
        "roles": [
            { "self": "https://api.tracker.yandex.net/v3/roles/author", "id": "author", "display": "Автор" },
            { "self": "https://api.tracker.yandex.net/v3/roles/queue-lead", "id": "queue-lead", "display": "Владелец очереди" },
            { "self": "https://api.tracker.yandex.net/v3/roles/assignee", "id": "assignee", "display": "Исполнитель" }
        ]
    },
    "grant": {
        "self": "https://api.tracker.yandex.net/v3/queues/TESTQUEUE/permissions/grant",
        "users": [
             {
              "self": "https://api.tracker.yandex.net/v3/users/11********",
              "id": "11********",
              "display": "Имя Фамилия",
              "cloudUid": "ajeppa7dgp53********",
              "passportUid": 11********
            }
        ],
        "roles": [
            { "self": "https://api.tracker.yandex.net/v3/roles/author", "id": "author", "display": "Автор" },
            { "self": "https://api.tracker.yandex.net/v3/roles/queue-lead", "id": "queue-lead", "display": "Владелец очереди" },
            { "self": "https://api.tracker.yandex.net/v3/roles/assignee", "id": "assignee", "display": "Исполнитель" }
        ]
    }
}

Параметры ответа
Параметр Описание Тип данных
self Ссылка на объект выданных доступов в очереди. Строка
version Номер версии. Число
create Разрешения на создание задач в очереди. Объект
write Разрешения на редактирование задач в очереди. Объект
read Разрешения на чтение задач в очереди. Объект
grant Разрешения на изменение настроек очереди. Объект

Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:

404
Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.