API синхронизации команд

Note

Starting in Grafana 13, /api endpoints are being deprecated in favor of the /apis route. Note that while Grafana is working on migrating existing APIs, currently there may not be an exact match to the legacy API you’re using.

This change doesn’t disrupt or break your current setup. Legacy APIs are not being disabled and remain fully accessible and operative, but /api routes will no longer be updated.

To learn more refer to the new API structure in Grafana.

Синхронизация команд доступна только в Grafana Enterprise. Подробнее о Grafana Enterprise.

Если вы используете Grafana Enterprise, для некоторых конечных точек потребуются определённые права. Дополнительные сведения см. в разделе Права управления доступом на основе ролей.

Получение внешних групп

GET /api/teams/:teamId/groups

Требуемые права

Пояснения см. в примечании во введении.

Действие Область
teams.permissions:read teams:*

Пример запроса:

http
GET /api/teams/1/groups HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>

Пример ответа:

http
HTTP/1.1 200
Content-Type: application/json

[
  {
    "orgId": 1,
    "teamId": 1,
    "groupId": "cn=editors,ou=groups,dc=grafana,dc=org"
  }
]

Коды состояния:

  • 200 — Ok
  • 401 — Не авторизован
  • 403 — В доступе отказано

Добавление внешней группы

POST /api/teams/:teamId/groups

Требуемые права

Пояснения см. в примечании во введении.

Действие Область
teams.permissions:write teams:*

Пример запроса:

http
POST /api/teams/1/groups HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer YWRtaW46YWRtaW4=

{
  "groupId": "cn=editors,ou=groups,dc=grafana,dc=org"
}

Пример ответа:

http
HTTP/1.1 200
Content-Type: application/json

{"message":"Group added to Team"}

Коды состояния:

  • 200 — Ok
  • 400 — Группа уже добавлена в эту команду
  • 401 — Не авторизован
  • 403 — В доступе отказано
  • 404 — Команда не найдена

Удаление внешней группы

DELETE /api/teams/:teamId/groups?groupId=external-group-id

Требуемые права

Пояснения см. в примечании во введении.

Действие Область
teams.permissions:write teams:*

Пример запроса:

http
DELETE /api/teams/1/groups?groupId=cn%3Deditors%2Cou%3Dgroups%2Cdc%3Dgrafana%2Cdc%3Dorg HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>

Пример ответа:

http
HTTP/1.1 200
Content-Type: application/json

{"message":"Team Group removed"}

Коды состояния:

  • 200 — Ok
  • 401 — Не авторизован
  • 403 — В доступе отказано
  • 404 — Команда не найдена / группа не найдена

Поиск групп команды

GET /api/teams/:teamId/groups/search

Поиск групп команды с поддержкой постраничной выдачи.

Требуемые права

Действие Область
teams.permissions:read teams:*

Пример запроса:

http
GET /api/teams/1/groups/search?name=editors&query=group&page=1&perpage=10 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>

Пример ответа:

http
HTTP/1.1 200
Content-Type: application/json

[
  {
    "totalCount": 1,
    "teamGroups": [
      {
        "orgId": 1,
        "teamId": 1,
        "groupId": "cn=editors,ou=groups,dc=grafana,dc=org"
      }
    ],
    "page": 1,
    "perPage": 10
  }
]

Коды состояния:

  • 200 — Ok
  • 400 — Некорректный запрос (неверный формат ID команды или отсутствующий параметр запроса)
  • 401 — Не авторизован
  • 403 — В доступе отказано
  • 500 — Внутренняя ошибка сервера