---
title: "Jira konektor"
description: "Kompletný sprievodca integráciou Jira Cloud na synchronizáciu issues, projektov a dát tímovej aktivity s Brevo cez Tajo."
url: https://tajo.io/sk/docs/connectors/custom/jira/
markdown: https://tajo.io/sk/docs/connectors/custom/jira.md
lang: sk-SK
robots: noindex
---

Požiadajte o skorý prístup

Zadajte svoje meno a pracovnú e-mailovú adresu. Pošleme vám odkaz na potvrdenie žiadosti o prístup k Tajo.

# Jira konektor

Stav konektora: Plánované Zatiaľ nevytvorené. Tajo tento konektor dnes neprevádzkuje.

| Zdrojové pole | Cieľové pole | Ukážková hodnota |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Prepoj svoju inštanciu Jira Cloud s Brevo pre sledovanie issues zákazníkov, viditeľnosť support ticketov a notifikácie o míľnikoch projektov cez Tajo.

## Prehľad

| Vlastnosť | Hodnota |
| --- | --- |
| **Platforma** | Jira Cloud |
| **Kategória** | Vlastná |
| **Zložitosť nastavenia** | Stredná |
| **Oficiálna integrácia** | Nie |
| **Synchronizované dáta** | Issues, Projekty, Používatelia, Udalosti |
| **Typ API** | REST API v3 |
| **Autentifikácia** | OAuth 2.0 (3LO) / API Token (Basic Auth) |
| **Base URL** | `https://your-domain.atlassian.net/rest/api/3/` |

## Funkcie

- **Synchronizácia udalostí issues** - Preposielaj udalosti vytvorenia, aktualizácie a vyriešenia issues do časových osí kontaktov v Brevo
- **Sledovanie ticketov zákazníkov** - Prepoj Jira issues s kontaktmi Brevo pre viditeľnosť podpory
- **Upozornenia na míľniky projektov** - Spúšťaj kampane Brevo pri vydaniach verzií a dokončeniach sprintov
- **Dáta kapacity tímu** - Synchronizuj metriky pracovného zaťaženia pre operačné dashboardy
- **Udalosti zmeny stavu** - Sleduj prechody workflowu issues ako udalosti Brevo
- **Synchronizácia komentárov** - Preposielaj komentáre pre zákazníkov do activity logov Brevo

## Predpoklady

Predtým, než začneš, uisti sa, že máš:

1. Inštanciu Jira Cloud (Jira Software, Jira Service Management alebo Jira Work Management)
2. Admin prístup na vytvorenie OAuth aplikácií alebo generovanie API tokenov
3. E-mail Atlassian účtu spojený s tvojím API tokenom
4. Brevo účet s API prístupom
5. Tajo účet s aktívnym predplatným

## Autentifikácia

Jira Cloud podporuje viacero metód autentifikácie.

### Možnosť 1: OAuth 2.0 (3LO) - odporúčané

1. Choď na [developer.atlassian.com](https://developer.atlassian.com/console/myapps/)
2. Klikni na **Create** > **OAuth 2.0 integration**
3. Nakonfiguruj callback URL: `https://app.tajo.io/callbacks/jira`
4. Pridaj tieto scopes:

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

Štruktúra API URL pre OAuth 2.0:

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

### Možnosť 2: API Token (Basic Auth)

1. Choď na [id.atlassian.com/manage/api-tokens](https://id.atlassian.com/manage/api-tokens)
2. Klikni na **Create API token**
3. Pomenuj ho “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"
```

Obmedzenia API tokenu

API tokeny sú viazané na jednotlivé používateľské účty. Ak je používateľ deaktivovaný, integrácia prestane fungovať. Pre produkčné nasadenie použi OAuth 2.0.

### Pripojenie k 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
```

## Konfigurácia

### Základné nastavenie

```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
```

### Mapovanie polí

Namapuj polia issues a používateľov Jira na atribúty 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
```

## API endpointy

Tajo sa integruje s nasledujúcimi endpointmi Jira Cloud REST API v3:

| Endpoint | Metóda | Účel |
| --- | --- | --- |
| `/rest/api/3/search` | POST | Vyhľadávanie issues pomocou JQL |
| `/rest/api/3/issue/{issueIdOrKey}` | GET | Detaily issue |
| `/rest/api/3/issue` | POST | Vytvorenie issue |
| `/rest/api/3/project` | GET | Zoznam všetkých projektov |
| `/rest/api/3/project/{projectIdOrKey}` | GET | Detaily projektu |
| `/rest/api/3/user/search` | GET | Vyhľadávanie používateľov |
| `/rest/api/3/myself` | GET | Aktuálny používateľ |
| `/rest/api/3/issue/{issueIdOrKey}/comment` | GET | Komentáre k issue |
| `/rest/api/3/webhook` | POST | Registrácia webhookov |
| `/rest/api/3/status` | GET | Všetky statusy |
| `/rest/api/3/priority` | GET | Všetky priority |

## Ukážky kódu

### Inicializácia 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
});
```

### Synchronizácia support issues

```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
// }
```

### Spracovanie Jira webhookov

```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');
});
```

### Vyhľadávanie issues podľa zákazníka

```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']
});
```

## Obmedzenia rýchlosti

Jira Cloud uplatňuje obmedzenia rýchlosti na zabezpečenie stability platformy:

| Kontext | Limit |
| --- | --- |
| **REST API** | ~100 požiadaviek za 10 sekúnd na používateľa |
| **Súbežné požiadavky** | 10 dlhodobých súbežných požiadaviek |
| **Hromadné operácie** | Líši sa podľa endpointu |

Stránkovanie

Jira používa stránkovanie na základe offsetu s parametrami `startAt` a `maxResults`. Predvolená veľkosť stránky je 50, maximum je 100. Tajo spravuje stránkovanie automaticky.

Jira vracia odpoveď `429 Too Many Requests` pri prekročení limitov, s hlavičkou `Retry-After` udávajúcou čas opätovného skúsenia.

## Riešenie problémov

### Bežné problémy

| Problém | Príčina | Riešenie |
| --- | --- | --- |
| 401 Unauthorized | Neplatný token alebo vypršaný OAuth | Obnov OAuth token alebo znovu vygeneruj API token |
| 403 Forbidden | Nedostatočné oprávnenia | Skontroluj, či má používateľ prístup k požadovanému projektu |
| JQL chyby | Neplatná syntax dopytu | Najprv validuj JQL vo vyhľadávaní issues v Jira |
| Webhook nie je prijatý | Firewall blokuje | Uisti sa, že URL webhookov je verejne dostupná |
| Chýbajúce polia | Pole nie je v odpovedi | Pridaj pole do parametra `fields` alebo použi `expand` |

### Debug režim

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

### Test pripojenia

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

## Odporúčané postupy

1. **Použi OAuth 2.0 pre produkciu** - Vyhýba sa závislosti na jednotlivých používateľských účtoch
2. **Filtruj pomocou JQL** - Synchronizuj iba relevantné issues na zníženie API volaní
3. **Použi webhooky pre real-time** - Vyhýbaj sa pollingu; zaregistruj webhooky pre zmeny issues
4. **Rešpektuj formát ADF** - Jira v3 používa Atlassian Document Format pre rich text polia
5. **Namapuj projekt na zoznam** - Vytvor samostatné zoznamy Brevo pre každý projekt Jira
6. **Spravuj stránkovanie** - Vždy iteruj cez všetky stránky pre kompletné dáta

## Bezpečnosť

- **OAuth 2.0 (3LO)** - Bezpečná autentifikácia na základe tokenov s refresh tokenmi
- **API Token + Basic Auth** - Base64-kódované prihlasovacie údaje cez HTTPS
- **Iba HTTPS** - Všetka API komunikácia šifrovaná cez TLS 1.2+
- **Scoped prístup** - OAuth scopes obmedzujú API prístup na požadované zdroje
- **Bezpečnosť Atlassian Cloud** - Infraštruktúra certifikovaná podľa SOC 2 Type II
- **Šifrované úložisko** - Prihlasovacie údaje šifrované v pokoji v Tajo

## Súvisiace zdroje

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