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