REST API Жируса
API повторяет Jira Cloud: 590 операций эталона из 724. Клиенту Jira, скрипту или интеграции достаточно сменить базовый адрес и токен — код остаётся прежним.
Адреса
| Префикс | Что там |
|---|---|
/rest/api/3 | задачи, поиск, проекты, поля, фильтры, дашборды, процессы |
/rest/api/2 | то же, но описания и комментарии обычным текстом вместо ADF |
/rest/agile/1.0 | доски, спринты, эпики, бэклог, ранжирование |
Аутентификация
Токен выпускается в приложении на странице «Токены API» и показывается один раз. Токен действует в том пространстве, где выпущен; у человека не больше десяти действующих токенов.
# Bearer
curl -H "Authorization: Bearer jrs_…" https://jirus.ru/rest/api/3/myself
# Basic: почта и токен — так подключаются клиенты Jira
curl -u you@example.com:jrs_… https://jirus.ru/rest/api/3/myselfПароль в Basic не принимается: только токен.
Поиск
POST https://jirus.ru/rest/api/3/search/jql
{ "jql": "project = DEMO AND status != Done ORDER BY created DESC",
"maxResults": 50, "fields": ["summary", "status", "assignee"] }Ответ постраничный: { issues, nextPageToken, isLast }. Следующая страница — тот же запрос с nextPageToken. Не больше 100 задач на страницу.
Лимиты
Лимиты считаются на человека, а не на токен. В ответе приходят X-RateLimit-Limit и X-RateLimit-Remaining.
| Что | Предел |
|---|---|
Обычные операции | 300 в минуту |
Поиск (/search/jql и выдача досок) | 100 в минуту |
Массовые операции (createIssues, bulkFetchIssues и другие) | 10 в минуту |
/serverInfo, /myself | 600 в минуту |
Тело запроса | до 1 МБ, вложение — до 10 МБ |
JQL | до 10 000 символов, вложенность до 50, условий до 500 |
Ошибки
Формат один на все операции: { "errorMessages": [...], "errors": {}, "status": 404 }.
| Код | Когда |
|---|---|
400 | некорректный ввод; поле названо в errors |
401 | нет или неверны учётные данные |
404 | объекта нет или нет прав — намеренно неразличимо |
413 | тело или вложение больше лимита |
429 | частотный лимит; Retry-After в секундах |
501 | операция Jira, которой в Жирусе нет: Connect, Forge, Marketplace |
Вебхуки
- Регистрирует администратор пространства:
POST /rest/api/3/webhook, не больше двадцати на пространство, только публичный https. - События: создание, изменение и удаление задачи; комментарии, журнал работ, связи и вложения. Правка из интерфейса и через API даёт одно и то же событие.
- Событие уходит, только если владелец вебхука видит задачу;
jqlFilterсужает выдачу. С секретом тело подписывается HMAC-SHA256, заголовокx-hub-signature-256. - Неудачная доставка повторяется через 30 с, 2, 8 и 32 минуты.
Для агентов и языковых моделей
Краткая карта API — llms.txt, подробная — llms-full.txt. Как перенести проекты из Jira — на странице «Переезд с Jira».