---
title: "Konektor Jira"
description: "Kompletny przewodnik integracji Jira Cloud do synchronizacji zgłoszeń, projektów i danych aktywności zespołu z Brevo przez Tajo."
url: https://tajo.io/pl/docs/connectors/custom/jira/
markdown: https://tajo.io/pl/docs/connectors/custom/jira.md
lang: pl-PL
robots: noindex
---

Poproś o wcześniejszy dostęp

Podaj imię i firmowy adres e-mail. Wyślemy Ci link potwierdzający prośbę o dostęp do Tajo.

# Konektor Jira

Status konektora: Planowany Jeszcze niezbudowany. Tajo nie uruchamia dziś tego konektora.

| Pole źródłowe | Pole docelowe | Przykładowa wartość |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Połącz swoją instancję Jira Cloud z Brevo, aby śledzić zgłoszenia skierowane do klientów, zapewnić widoczność zgłoszeń pomocy technicznej i wysyłać powiadomienia o kamieniach milowych projektu przez Tajo.

## Przegląd

| Właściwość | Wartość |
| --- | --- |
| **Platforma** | Jira Cloud |
| **Kategoria** | Niestandardowa |
| **Poziom konfiguracji** | Średni |
| **Integracja oficjalna** | Nie |
| **Synchronizowane dane** | Zgłoszenia, Projekty, Użytkownicy, Zdarzenia |
| **Typ API** | REST API v3 |
| **Uwierzytelnianie** | OAuth 2.0 (3LO) / Token API (Basic Auth) |
| **Bazowy URL** | `https://your-domain.atlassian.net/rest/api/3/` |

## Funkcje

- **Synchronizacja zdarzeń zgłoszeń** - Przekazuj zdarzenia tworzenia, aktualizacji i rozwiązywania zgłoszeń do osi czasu kontaktów Brevo
- **Śledzenie zgłoszeń klientów** - Łącz zgłoszenia Jira z kontaktami Brevo dla widoczności wsparcia
- **Alerty o kamieniach milowych projektu** - Wyzwalaj kampanie Brevo przy wydaniach wersji i zakończeniach sprintów
- **Dane wydajności zespołu** - Synchronizuj metryki obciążenia dla operacyjnych dashboardów
- **Zdarzenia zmiany statusu** - Śledź przejścia workflow zgłoszeń jako zdarzenia Brevo
- **Synchronizacja komentarzy** - Przekazuj komentarze skierowane do klientów do logów aktywności Brevo

## Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

1. Instancję Jira Cloud (Jira Software, Jira Service Management lub Jira Work Management)
2. Dostęp administratora do tworzenia aplikacji OAuth lub generowania tokenów API
3. Adres e-mail konta Atlassian powiązany z tokenem API
4. Konto Brevo z dostępem do API
5. Konto Tajo z aktywną subskrypcją

## Uwierzytelnianie

Jira Cloud obsługuje wiele metod uwierzytelniania.

### Opcja 1: OAuth 2.0 (3LO) - zalecane

1. Przejdź do [developer.atlassian.com](https://developer.atlassian.com/console/myapps/)
2. Kliknij **Create** > **OAuth 2.0 integration**
3. Skonfiguruj URL zwrotny: `https://app.tajo.io/callbacks/jira`
4. Dodaj te zakresy:

```
read:jira-work
read:jira-user
write:jira-work
read:me
```

Struktura URL API dla OAuth 2.0:

```
https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/{resource}
```

### Opcja 2: Token API (Basic Auth)

1. Przejdź do [id.atlassian.com/manage/api-tokens](https://id.atlassian.com/manage/api-tokens)
2. Kliknij **Create API token**
3. Nazwij go „Tajo Integration”

```bash
# Basic Auth: email as username, API token as password
curl -X GET "https://your-domain.atlassian.net/rest/api/3/myself" \
  -u "email@example.com:$JIRA_API_TOKEN" \
  -H "Accept: application/json"
```

Ograniczenia tokenu API

Tokeny API są powiązane z indywidualnymi kontami użytkowników. Jeśli użytkownik zostanie dezaktywowany, integracja przestanie działać. Używaj OAuth 2.0 dla wdrożeń produkcyjnych.

### Połączenie z Tajo

```bash
# Using OAuth 2.0
tajo connectors install jira \
  --client-id $JIRA_CLIENT_ID \
  --client-secret $JIRA_CLIENT_SECRET \
  --cloud-id $JIRA_CLOUD_ID

# Using API Token
tajo connectors install jira \
  --site-url your-domain.atlassian.net \
  --email admin@example.com \
  --api-token $JIRA_API_TOKEN
```

## Konfiguracja

### Podstawowa konfiguracja

```yaml
connectors:
  jira:
    enabled: true
    site_url: "your-domain.atlassian.net"
    auth_type: "oauth2"  # or "basic"

    sync:
      issues: true
      projects: true
      users: true
      comments: true
      worklogs: false

    projects:
      - key: "SUPPORT"
        sync_to_list: 22
      - key: "PRODUCT"
        sync_to_list: 23

    issue_types:
      - Bug
      - Story
      - Task
      - Support Request
```

### Mapowanie pól

Mapuj pola zgłoszeń i użytkowników Jira na atrybuty Brevo:

```yaml
field_mapping:
  # User fields
  accountId: JIRA_ACCOUNT_ID
  emailAddress: email
  displayName: FIRSTNAME

  # Issue fields mapped to contact events
  issue_key: LAST_TICKET_KEY
  issue_status: LAST_TICKET_STATUS
  issue_priority: LAST_TICKET_PRIORITY
  issue_created: LAST_TICKET_DATE
  resolution: LAST_TICKET_RESOLUTION
```

## Endpointy API

Tajo integruje się z następującymi endpointami Jira Cloud REST API v3:

| Endpoint | Metoda | Cel |
| --- | --- | --- |
| `/rest/api/3/search` | POST | Wyszukaj zgłoszenia używając JQL |
| `/rest/api/3/issue/{issueIdOrKey}` | GET | Pobierz szczegóły zgłoszenia |
| `/rest/api/3/issue` | POST | Utwórz zgłoszenie |
| `/rest/api/3/project` | GET | Lista wszystkich projektów |
| `/rest/api/3/project/{projectIdOrKey}` | GET | Pobierz szczegóły projektu |
| `/rest/api/3/user/search` | GET | Wyszukaj użytkowników |
| `/rest/api/3/myself` | GET | Pobierz bieżącego użytkownika |
| `/rest/api/3/issue/{issueIdOrKey}/comment` | GET | Pobierz komentarze do zgłoszenia |
| `/rest/api/3/webhook` | POST | Zarejestruj webhooki |
| `/rest/api/3/status` | GET | Pobierz wszystkie statusy |
| `/rest/api/3/priority` | GET | Pobierz wszystkie priorytety |

## Przykłady kodu

### Inicjalizacja konektora

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

await tajo.connectors.connect('jira', {
  clientId: process.env.JIRA_CLIENT_ID,
  clientSecret: process.env.JIRA_CLIENT_SECRET,
  cloudId: process.env.JIRA_CLOUD_ID
});
```

### Synchronizuj zgłoszenia pomocy technicznej

```javascript
// Sync Jira support issues to Brevo contacts
await tajo.connectors.sync('jira', {
  type: 'incremental',
  resources: ['issues'],
  jql: 'project = SUPPORT AND updated >= -24h',
  batchSize: 50
});

const status = await tajo.connectors.status('jira');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-03-15T12:00:00Z',
//   issuesTracked: 4560,
//   projectsMonitored: 3,
//   usersLinked: 890
// }
```

### Obsługa webhooków Jira

```javascript
app.post('/webhooks/jira', async (req, res) => {
  const event = req.body;

  await tajo.connectors.handleWebhook('jira', {
    event: event.webhookEvent,
    payload: {
      issueKey: event.issue?.key,
      issueType: event.issue?.fields?.issuetype?.name,
      status: event.issue?.fields?.status?.name,
      reporter: event.issue?.fields?.reporter?.emailAddress,
      assignee: event.issue?.fields?.assignee?.emailAddress
    }
  });

  res.status(200).send('OK');
});
```

### Wyszukiwanie zgłoszeń według klienta

```javascript
// Find all issues reported by a specific customer
const issues = await tajo.connectors.query('jira', {
  jql: 'reporter = "customer@example.com" ORDER BY created DESC',
  maxResults: 20,
  fields: ['summary', 'status', 'priority', 'created']
});
```

## Limity API

Jira Cloud stosuje limity szybkości dla zapewnienia stabilności platformy:

| Kontekst | Limit |
| --- | --- |
| **REST API** | ~100 żądań na 10 sekund na użytkownika |
| **Równoczesne żądania** | 10 długotrwałych żądań równocześnie |
| **Operacje zbiorcze** | Różne w zależności od endpointu |

Paginacja

Jira używa paginacji opartej na przesunięciu z parametrami `startAt` i `maxResults`. Domyślny rozmiar strony to 50, maksymalny to 100. Tajo obsługuje paginację automatycznie.

Jira zwraca odpowiedź `429 Too Many Requests` po przekroczeniu limitów szybkości, z nagłówkiem `Retry-After` wskazującym, kiedy ponowić próbę.

## Rozwiązywanie problemów

### Typowe problemy

| Problem | Przyczyna | Rozwiązanie |
| --- | --- | --- |
| 401 Unauthorized | Nieprawidłowy token lub wygasły OAuth | Odśwież token OAuth lub wygeneruj ponownie token API |
| 403 Forbidden | Niewystarczające uprawnienia | Sprawdź, czy użytkownik ma dostęp do żądanego projektu |
| Błędy JQL | Nieprawidłowa składnia zapytania | Najpierw zweryfikuj JQL w wyszukiwarce zgłoszeń Jira |
| Webhook nie odebrany | Zapora blokuje | Upewnij się, że URL webhooka jest publicznie dostępny |
| Brakujące pola | Pole nie w odpowiedzi | Dodaj pole do parametru `fields` lub używaj `expand` |

### Tryb debug

```yaml
connectors:
  jira:
    debug: true
    log_level: verbose
    log_api_calls: true
```

### Test połączenia

```bash
tajo connectors test jira
# ✓ API authentication successful
# ✓ Project access verified
# ✓ Issue search operational
# ✓ User lookup available
# ✓ Webhook registration active
```

## Najlepsze praktyki

1. **Używaj OAuth 2.0 dla produkcji** - Unikaj zależności od indywidualnych kont użytkowników
2. **Filtruj z JQL** - Synchronizuj tylko istotne zgłoszenia, aby zmniejszyć wywołania API
3. **Używaj webhooków w czasie rzeczywistym** - Unikaj odpytywania; rejestruj webhooki dla zmian zgłoszeń
4. **Respektuj format ADF** - Jira v3 używa Atlassian Document Format dla pól z bogatym tekstem
5. **Mapuj projekt na listę** - Twórz oddzielne listy Brevo dla każdego projektu Jira
6. **Obsługuj paginację** - Zawsze iteruj przez wszystkie strony dla kompletnych danych

## Bezpieczeństwo

- **OAuth 2.0 (3LO)** - Bezpieczne uwierzytelnianie oparte na tokenach z tokenami odświeżania
- **Token API + Basic Auth** - Poświadczenia zakodowane w Base64 przez HTTPS
- **Tylko HTTPS** - Cała komunikacja API zaszyfrowana przez TLS 1.2+
- **Ograniczony dostęp** - Zakresy OAuth ograniczają dostęp API do wymaganych zasobów
- **Bezpieczeństwo Atlassian Cloud** - Infrastruktura certyfikowana SOC 2 Type II
- **Szyfrowane przechowywanie** - Poświadczenia szyfrowane w spoczynku w Tajo

## Powiązane zasoby

- [Konektor GitHub](https://tajo.io/pl/docs/connectors/custom/github)
- [Konektor Linear](https://tajo.io/pl/docs/connectors/custom/linear)
- [Konektor Gorgias](https://tajo.io/pl/docs/connectors/support/gorgias)
- [Brevo Contacts API](https://tajo.io/pl/docs/contact-management)
