Перейти к содержанию

Analytics Request Controller

Контроллер: tech.ujin.api.MetabaseController

Эндпоинт

- POST /api/metabase/action-buttons/analytics-request - Создает задачу в Jira для кнопки "Заказать аналитику".

Тело запроса:

{
  "dashboard": "Название дашборда",
  "comment": "Опишите, какую аналитику Вы хотите добавить"
}

Успешный ответ:

{
  "issueKey": "DATA-123",
  "issueUrl": "https://jira.example/rest/api/2/issue/12345"
}

Security

  • Эндпоинт поддерживает обе аутентификации: TokenAuth и LDAP BasicAuth.
  • Требуется валидный AuthenticatedUser в SecurityContext.
  • Header X-BMS-DOMEN учитывается только для TokenAuth; для LDAP он игнорируется.

Коды ошибок

  • 400 - невалидные входные данные (dashboard/comment пустые).
  • 401 - пользователь не аутентифицирован.
  • 403 - запрещено политикой доступа.
  • 502 - Jira недоступна или вернула ошибку.
  • 500 - внутренняя ошибка сервиса.

Jira configuration

Для интеграции используются параметры:

  • JIRA_BASE_URL
  • JIRA_AUTH_TYPE (BEARER, BASIC, AUTO; по умолчанию BEARER)
  • JIRA_USERNAME
  • JIRA_API_TOKEN
  • JIRA_PROJECT_KEY
  • JIRA_ISSUE_TYPE
  • JIRA_EPIC_KEY
  • JIRA_EPIC_LINK_FIELD
  • JIRA_ASSIGNEE_ACCOUNT_ID
  • JIRA_ASSIGNEE_USERNAME
  • JIRA_MOVE_TO_BACKLOG

Поведение назначения исполнителя:

  • если задан JIRA_ASSIGNEE_ACCOUNT_ID, сначала назначение идет по accountId;
  • если назначение не удалось и задан JIRA_ASSIGNEE_USERNAME, выполняется повтор с assignee.name.

Поведение авторизации Jira:

  • BEARER: заголовок Authorization: Bearer <JIRA_API_TOKEN> (подходит для Jira Server/Data Center PAT);
  • BASIC: заголовок Authorization: Basic base64(<JIRA_USERNAME>:<JIRA_API_TOKEN>);
  • AUTO: при заданном JIRA_USERNAME используется BASIC, иначе BEARER.

Привязка к эпику:

  • Для Jira Server/Data Center привязка выполняется через JIRA_EPIC_LINK_FIELD (например, customfield_10008) + JIRA_EPIC_KEY.
  • Если JIRA_EPIC_KEY задан, но JIRA_EPIC_LINK_FIELD пустой, связь с эпиком не отправляется.