Выдать права доступа к очереди
Запрос позволяет настроить доступы к очереди.
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 |
Идентификатор группы. Идентификаторы групп можно получить запросом |
Число |
|
roles |
role_id |
Идентификатор роли:
|
Строка |
Пример 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
- Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.