Інтеграція Jira API з сайтом: тікети, статуси, вебхуки

Ручне перенесення заявок із сайту в Jira забирає час і призводить до втрати звернень. Ми розробляємо інтеграцію Jira API з вашим сайтом: автоматичне створення тікетів, синхронізацію статусів і вебхуки. Наша команда реалізує проєкт під ключ — від налаштування до підтримки, забезпечуючи прозорість і надійність роботи.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Інтеграція Jira API з сайтом: тікети, статуси, вебхуки
Середній
~2-3 дні
Часті запитання

Клієнти губляться між формою зворотного зв'язку та статусом заявки — менеджери витрачають у середньому 2–3 години на день на ручне перенесення даних з веб-форми в Jira. У результаті втрачається до 15% заявок, а час реакції збільшується на 40%. Підтримка працює наосліп, а керівництво не бачить реальну картину навантаження. Наші інженери вирішують цю проблему за 3–6 днів під ключ: інтеграція Jira API з вашим сайтом, включаючи створення тікетів, синхронізацію статусів, вебхуки та портал самообслуговування для клієнтів. У результаті — нульова втрата заявок, автоматизація рутини та прозорість кожного кроку.

Як аутентифікуватися в Jira API?

Jira Cloud використовує Basic Auth з API-токеном. Токен створюється в налаштуваннях акаунта — ніколи не використовуйте пароль безпосередньо. Для Jira Server застосовується OAuth або особистий токен (PAT). У прикладі нижче — аутентифікація через Python-бібліотеку jira:

from jira import JIRA
jira = JIRA(
    server='https://your-company.atlassian.net',
    basic_auth=('[email protected]', JIRA_API_TOKEN)  # API token, не пароль
)

API-токен дає доступ лише до необхідних проектів. Зберігайте його в змінних середовища, а не в коді.

Спосіб Сфера застосування Рівень безпеки
Basic Auth + API-токен Jira Cloud Середній (токен можна відкликати)
OAuth 2.0 Jira Cloud і Server Високий (обмежені права)
Особистий токен (PAT) Jira Server Середній (зручний для скриптів)

Як створити задачу з форми на PHP?

Типовий сценарій — користувач заповнює форму підтримки, і на сервері створюється задача Jira. Використовуємо HTTP-клієнт Laravel для надсилання POST-запиту до /rest/api/3/issue:

class JiraService {
    public function createIssue(SupportRequest $data): string {
        $resp = Http::withBasicAuth(
            config('services.jira.email'),
            config('services.jira.token')
        )->post(config('services.jira.url') . '/rest/api/3/issue', [
            'fields' => [
                'project' => ['key' => 'SUPPORT'],
                'summary' => "[Web] {$data->subject}",
                'description' => [
                    'type' => 'doc',
                    'version' => 1,
                    'content' => [[
                        'type' => 'paragraph',
                        'content' => [['type' => 'text', 'text' => $data->message]],
                    ]],
                ],
                'issuetype' => ['name' => 'Support'],
                'priority' => ['name' => $data->priority ?? 'Medium'],
                'labels' => ['website', 'customer-request'],
                'customfield_10014' => $data->customer_email, // Кастомне поле email
            ],
        ]);

        $issueKey = $resp->json('key'); // SUPPORT-123

        // Зберігаємо прив'язку заявки до тікету
        SupportTicket::create([
            'user_id' => $data->userId,
            'jira_key' => $issueKey,
            'subject' => $data->subject,
            'status' => 'open',
        ]);

        return $issueKey;
    }
}

Зверніть увагу: поле issuetype має відповідати типу задачі в проекті. Кастомні поля (наприклад, email клієнта) передаються за ID — їх потрібно попередньо знайти в налаштуваннях Jira.

Як відобразити статус тікету на сайті?

Після створення задачі клієнт хоче бачити її статус. GET-запит до /rest/api/3/issue/{issueKey} повертає всі необхідні поля:

public function getTicketStatus(string $issueKey): array
{
    $resp = Http::withBasicAuth($email, $token)
        ->get(config('services.jira.url') . "/rest/api/3/issue/{$issueKey}");
    $issue = $resp->json();

    return [
        'key' => $issue['key'],
        'summary' => $issue['fields']['summary'],
        'status' => $issue['fields']['status']['name'],
        'updated' => $issue['fields']['updated'],
        'comments' => count($issue['fields']['comment']['comments'] ?? []),
    ];
}

Виводьте цю інформацію в особистому кабінеті. Важливо: кешуйте відповіді на 30–60 секунд, щоб не перевищити ліміти Jira API (зазвичай 5000 запитів на годину).

Як налаштувати вебхуки для синхронізації статусу?

Вебхуки — це push-сповіщення від Jira при зміні задачі. Вони в 100 разів ефективніші, ніж опитування статусу кожні 5 хвилин. У Jira Cloud створіть вебхук з подією jira:issue_updated і вкажіть URL вашого сайту. Обробник на Laravel:

Route::post('/webhooks/jira', function (Request $request) {
    $event = $request->input('webhookEvent');
    $issue = $request->input('issue');
    $issueKey = $issue['key'];

    if ($event === 'jira:issue_updated') {
        $newStatus = $issue['fields']['status']['name'];

        SupportTicket::where('jira_key', $issueKey)->update([
            'status' => $this->mapJiraStatus($newStatus),
            'updated_at' => now(),
        ]);

        // Сповістити клієнта про зміну статусу
        $ticket = SupportTicket::where('jira_key', $issueKey)->first();
        if ($ticket) {
            Mail::to($ticket->user->email)->send(new TicketStatusUpdatedMail($ticket));
        }
    }

    return response('ok');
});

Не забудьте перевірити X-Hub-Signature для безпеки (дивіться документацію Jira webhooks).

Покроковий план інтеграції Jira з сайтом

  1. Налаштуйте аутентифікацію: створіть API-токен у Jira Cloud.
  2. Реалізуйте ендпоінт для створення тікету з веб-форми (POST /rest/api/3/issue).
  3. Збережіть ключ тікету в локальній БД для відстеження.
  4. Налаштуйте відображення статусу в особистому кабінеті (GET /rest/api/3/issue/{key}).
  5. Створіть вебхук у Jira для push-сповіщень про зміну статусу.
  6. Реалізуйте обробник вебхуку на сервері з оновленням статусу та сповіщенням клієнта.
  7. Протестуйте весь цикл: створення → зміна статусу → відображення.

Для великих клієнтів ми додатково розгортаємо портал самообслуговування, де можна переглядати історію тікетів і залишати коментарі без входу в Jira. Це знижує навантаження на підтримку на 40%.

Приклад розрахунку економії

Інтернет-магазин з 500 заявками на день витрачав 3 години на ручне перенесення. Після інтеграції час скоротився до 5 хвилин. Економія склала $4000 на місяць за рахунок звільнення менеджерів.

Скільки часу займає інтеграція?

Етап Термін
Створення тікетів з форм + відображення статусу 3–4 робочих дні
Додавання вебхуків та email-сповіщень +2 дні
Повний цикл (з порталом самообслуговування) 7–10 днів

Вартість розраховується індивідуально — залежить від складності полів, кількості проектів та необхідності кастомних веб-форм. У середньому, наші клієнти економлять від $3000 до $5000 на місяць після впровадження.

Що входить в роботу?

  • Документація по інтеграції (схема запитів, ключі, приклади).
  • Вихідний код з коментарями (PHP/Laravel або Python).
  • Налаштування вебхуків та тестування на staging.
  • Навчання команди підтримки роботі з порталом.
  • Гарантія стабільної роботи протягом 30 днів.

Наш досвід: більше 50 успішних інтеграцій Jira з сайтами. Гарантуємо, що система не зламається при пікових навантаженнях. Хочете таку ж автоматизацію? Зв'яжіться з нами — за один день оцінимо ваш проект і запропонуємо архітектуру інтеграції.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060