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

rtm.php

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


rtm/add_comment

Добавляет комментарий к существующему тикету. Поддерживает текстовое сообщение и загрузку одного файла (изображения или документов).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_comment
token ✅ string Токен авторизации
file ❌ string Загружаемый файл для прикрепления к комментарию.
ticket_id ✅ integer Уникальный идентификатор тикета в системе Jira.

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=add_comment" \
--data "token=YOUR_TOKEN" \
--data "ticket_id=12345" \
--data "file=@path/to/file.jpg"
Пример успешного ответа
{
"result": "OK",
"action": "add_comment",
"comment": {
"id": 12345,
"body": "Текст комментария",
"author": "You",
"created": 1704067200
}
}
Примеры ошибок
{
"code": -1,
"message": "Ticket id required"
}

rtm/create_credentials

Создает персональный токен доступа (PAT) для интеграции с Jira на основе предоставленных учетных данных.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_credentials
token ✅ string Токен авторизации пользователя
credentials_email ✅ string Электронная почта пользователя для создания учетных данных
credentials_name ✅ string Имя пользователя для создания учетных данных
credentials_password ✅ string Пароль пользователя для создания учетных данных
email ✅ string Электронная почта пользователя для создания учетных данных.
jira_name ✅ string Имя пользователя в системе Jira.
jira_password ✅ string Пароль для авторизации в системе Jira.

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=create_credentials" \
--data "token=VALUE" \
--data "credentials_email=VALUE" \
--data "credentials_name=VALUE" \
--data "credentials_password=VALUE" \
--data "email=VALUE" \
--data "jira_name=VALUE" \
--data "jira_password=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "create_credentials",
"pat": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Not enough actual parameters"
}

rtm/download_file

Загружает файл (вложение) из тикета. Возвращает содержимое файла в бинарном виде.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: download_file
token ✅ string Токен авторизации
ticket_id ✅ integer Уникальный идентификатор тикета для получения данных и вложений.
file_hash ❌ string Хеш файла для точной идентификации необходимого вложения.

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=download_file" \
--data "token=HOSTKEY_TOKEN" \
--data "ticket_id=12345" \
--data "file_hash=abc123def456"
Пример успешного ответа
{
"result": "OK",
"action": "download_file",
"data": "binary_content"
}
Примеры ошибок
{
"code": -1,
"message": "Ticket not found or you has no permissions"
}

rtm/download_image

Возвращает изображение (в формате base64) из вложения тикета.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: download_image
token ✅ string Токен авторизации
ticket_id ✅ integer Уникальный идентификатор тикета для получения данных.
file_hash ❌ string Хеш файла для точной идентификации вложения.

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=download_image" \
--data "token=HOSTKEY_TOKEN" \
--data "ticket_id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "download_image",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmTBAAAAAElFTkEsWi..."
}
Примеры ошибок
{
"code": -1,
"message": "File not found"
}

rtm/get_ticket_by_id

Возвращает подробную информацию о тикете, включая его содержимое и список комментариев.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_ticket_by_id
token ✅ string Токен авторизации
ticket_id ✅ integer Уникальный идентификатор тикета в системе Jira
comments_from ❌ integer Смещение для начала выборки комментариев к тикету.
comments_limit ❌ integer Максимальное количество возвращаемых комментариев в ответе.

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=get_ticket_by_id" \
--data "token=HOSTKEY_TOKEN" \
--data "ticket_id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "get_ticket_by_id",
"ticket": {
"issueId": 12345,
"issueKey": "RTM-101",
"createdDate": "2024-01-15T10:30:00Z",
"summary": "Проблема с сервером",
"description": "<p>Описание проблемы...</p>",
"status": "open",
"statusDate": 1705314600
},
"comments": [
{
"id": 987,
"body": "Текст комментария",
"author": "You",
"created": 1705314600
}
],
"total": 1,
"size": 1,
"start": 0,
"limit": 10,
"isLastPage": false
}
Примеры ошибок
{
"code": -1,
"message": "Ticket id required"
}

rtm/get_tickets

Возвращает список всех доступных тикетов с поддержкой пагинации и фильтрации по статусу.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_tickets
token ✅ string Токен авторизации
tickets_status ❌ string Статус тикета для фильтрации.
tickets_from ❌ integer Смещение (offset) для пагинации результатов.
tickets_limit ❌ integer Количество тикетов на одну страницу.
requestStatus ❌ string Статус запроса для фильтрации списка тикетов.

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=get_tickets" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_tickets",
"tickets": [
{
"issueId": 12345,
"issueKey": "RTM-101",
"summary": "Example ticket summary",
"status": "open",
"createdDate": "2024-01-15T10:30:00Z"
}
],
"total": 1,
"size": 1,
"start": 0,
"limit": 10,
"isLastPage": true
}
Примеры ошибок
{
"code": -1,
"message": "Authorization required"
}

rtm/open_ticket

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: open_ticket
token ✅ string Токен авторизации
summary ✅ string Краткое описание проблемы (summary) тикета
message ✅ string Основное содержание или текст описания тикета
server_diagnostics_server_ids ❌ array<integer> Список идентификаторов серверов для сбора диагностики: server_diagnostics_server_ids[]=1&server_diagnostics_server_ids[]=2
file ❌ string Файл для прикрепления к тикету в качестве вложения.
server_ids ❌ array<integer> Идентификаторы серверов для формирования отчета о диагностике.

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=open_ticket" \
--data "token=HOSTKEY_TOKEN" \
--data "summary=Проблема с сервером" \
--data "message=Текст описания" \
--data "server_diagnostics_server_ids[]=1" \
--data "server_diagnostics_server_ids[]=2"
Пример успешного ответа
{
"result": "OK",
"action": "open_ticket",
"ticket": {
"issueId": 12345,
"issueKey": "SUP-123",
"createdDate": 1716206400,
"summary": "<p>Проблема с сервером</p>",
"description": "<p>Текст описания</p>",
"status": "open",
"statusDate": 1716206400
}
}
Примеры ошибок
{
"code": 400,
"message": "Emoji are not allowed in ticket summary or description"
}

rtm/search_term

Выполняет поиск тикетов в Jira по заданному поисковому запросу с учетом прав доступа пользователя (свои или все). Поддерживает пагинацию.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: search_term
token ✅ string Токен авторизации
tickets_from ❌ integer Смещение для пагинации списка найденных тикетов.
tickets_limit ❌ integer Максимальное количество возвращаемых тикетов в результате поиска.

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=search_term" \
--data "token=YOUR_TOKEN" \
--data "tickets_from=0" \
--data "tickets_limit=10"
Пример успешного ответа
{
"result": "OK",
"action": "search_term",
"tickets": [
{
"issueId": 12345,
"issueKey": "PROJ-123",
"summary": "Example ticket summary",
"status": "open",
"createdDate": "2024-01-15T10:30:00Z"
}
],
"total": 1,
"size": 1,
"start": 0,
"limit": 10,
"isLastPage": true
}
Примеры ошибок
{
"code": -1,
"message": "Search term not found"
}

rtm/search_ticket

Возвращает информацию о тикете по его номеру (issueKey).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: search_ticket
token ✅ string Токен авторизации
ticket_id ✅ string Номер тикета (issueKey) для поиска информации

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=search_ticket" \
--data "token=HOSTKEY_TOKEN" \
--data "ticket_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "search_ticket",
"data": {
"issueId": 12345,
"issueKey": "RTM-101",
"summary": "Example ticket summary",
"status": "open",
"createdDate": "2024-01-15T10:30:00Z"
},
"ticket": null
}
Примеры ошибок
{
"code": -1,
"message": "Ticket number not defined"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×