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

rtm.php

В этой статье

Модуль управления тикетами (RTM): создание заявок, управление комментариями, поиск по ключевым словам и загрузка вложений

Методы API

Метод Действие Описание
add_comment добавление комментария Добавляет комментарий к существующему тикету, с возможностью прикрепления файла.
create_credentials создание учетных данных Создает персональный токен доступа (PAT) для Jira на основе предоставленных данных.
download_file скачивание файла Загружает файл, прикрепленный к тикету.
download_image скачивание изображения Возвращает изображение из вложений тикета в формате Base64.
get_ticket_by_id получение тикета по ID Возвращает детальную информацию о тикете, включая комментарии и вложения.
get_tickets получение списка тикетов Возвращает список всех доступных тикетов с поддержкой фильтрации по статусу и пагинацией.
open_ticket открытие тикета Создает новый тикет в системе (Jira) с описанием и возможным отчетом о диагностике сервера.
search_term поиск тикетов по ключевому слову Выполняет поиск тикетов в Jira по заданному поисковому запросу с учетом прав доступа пользователя.
search_ticket получение информации о тикете по ID Возвращает полные данные по конкретному номеру (ID) тикета.

rtm/add_comment

Добавляет комментарий к существующему тикету, с возможностью прикрепления файла.

HTTP-метод: POST

Параметры:

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

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

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

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=HOSTKEY_TOKEN" \
--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": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX..."
}
Примеры ошибок
{
"code": -1,
"message": "Not enough actual parameters"
}

rtm/download_file

Загружает файл, прикрепленный к тикету.

HTTP-метод: GET

Параметры:

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

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

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

rtm/download_image

Возвращает изображение из вложений тикета в формате Base64.

HTTP-метод: GET

Параметры:

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

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

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

rtm/get_ticket_by_id

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

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
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 GET \
--data "action=get_ticket_by_id" \
--data "token=HOSTKEY_TOKEN" \
--data "ticket_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_ticket_by_id",
"ticket": {
"issueId": 1001,
"issueKey": "RTM-123",
"createdDate": "2024-01-01T12:00:00Z",
"summary": "Problem with service",
"description": "<p>Description text</p>",
"status": "open",
"statusDate": 1704110400
},
"comments": [
{
"id": 55,
"body": "First comment",
"author": "Admin",
"created": 1704110500
}
],
"total": 1,
"size": 1,
"start": 0,
"limit": 10,
"isLastPage": true
}
Примеры ошибок
{
"code": -1,
"message": "Ticket id required"
}

rtm/get_tickets

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

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
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 GET \
--data "action=get_tickets" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_tickets",
"tickets": [
{
"issueId": 2001,
"issueKey": "RTM-456",
"createdDate": "2024-01-02T10:00:00Z",
"summary": "Issue summary",
"status": "open"
}
],
"total": 1,
"size": 1,
"start": 0,
"limit": 10,
"isLastPage": true
}
Примеры ошибок
{
"code": -1,
"message": "Error from Jira API"
}

rtm/open_ticket

Создает новый тикет в системе (Jira) с описанием и возможным отчетом о диагностике сервера.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=open_ticket" \
--data "token=YOUR_TOKEN" \
--data "summary=Problem summary" \
--data "message=Detailed message" \
--data "server_ids[]=1" \
--data "server_ids[]=2"
Пример успешного ответа
{
"result": "OK",
"action": "open_ticket",
"ticket": {
"issueId": 3001,
"issueKey": "RTM-789",
"createdDate": 1704468600,
"summary": "<p>Detailed description</p>",
"description": "<p>Detailed description</p>",
"status": "open",
"statusDate": 1704468600
}
}
Примеры ошибок
{
"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"
Пример успешного ответа
{
"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

Возвращает полные данные по конкретному номеру (ID) тикета.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/rtm.php" -X POST \
--data "action=search_ticket" \
--data "token=HOSTKEY_TOKEN" \
--data "ticket_id=54321"
Пример успешного ответа
{
"result": "OK",
"action": "search_ticket",
"ticket": {
"issueId": 54321,
"issueKey": "SUP-987",
"summary": "Issue details summary",
"status": "open",
"createdDate": "2024-05-20T12:00:00Z"
}
}
Примеры ошибок
{
"code": -1,
"message": "Ticket number not defined"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×