---
title: "Jira Konektor"
description: "Kompletan vodič za integraciju Jira Cloud-a za sinkronizaciju problema, projekata i podataka o timskim aktivnostima s Brevom putem Taja."
url: https://tajo.io/hr/docs/connectors/custom/jira/
markdown: https://tajo.io/hr/docs/connectors/custom/jira.md
lang: hr-HR
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslat ćemo vam poveznicu za potvrdu zahtjeva za pristup Taju.

# Jira Konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primjer vrijednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Povežite svoju Jira Cloud instancu s Brevom za praćenje problema prema klijentima, vidljivost tiketa podrške i obavijesti o projektnim prekretnicama putem Taja.

## Pregled

| Svojstvo | Vrijednost |
| --- | --- |
| **Platforma** | Jira Cloud |
| **Kategorija** | Prilagođeno |
| **Složenost postavljanja** | Srednje |
| **Službena integracija** | Ne |
| **Sinkronizirani podaci** | Problemi, Projekti, Korisnici, Događaji |
| **Vrsta API-ja** | REST API v3 |
| **Autentifikacija** | OAuth 2.0 (3LO) / API Token (Basic Auth) |
| **Osnovni URL** | `https://your-domain.atlassian.net/rest/api/3/` |

## Značajke

- **Sinkronizacija događaja problema** - Prosljeđujte događaje stvaranja, ažuriranja i rješavanja problema na Brevo vremenske linije kontakata
- **Praćenje tiketa klijenata** - Povežite Jira probleme s Brevo kontaktima radi vidljivosti podrške
- **Upozorenja o projektnim prekretnicama** - Pokrećite Brevo kampanje pri objavama verzija i dovršetku sprintova
- **Podaci o kapacitetu tima** - Sinkronizirajte metrike radnog opterećenja za operativne nadzorne ploče
- **Događaji promjene statusa** - Pratite prijelaze radnog toka problema kao Brevo događaje
- **Sinkronizacija komentara** - Prosljeđujte komentare prema klijentima u Brevo zapisnike aktivnosti

## Preduvjeti

Prije nego što počnete, osigurajte da imate:

1. Jira Cloud instancu (Jira Software, Jira Service Management ili Jira Work Management)
2. Administratorski pristup za stvaranje OAuth aplikacija ili generiranje API tokena
3. E-mail Atlassian računa povezan s vašim API tokenom
4. Brevo račun s API pristupom
5. Tajo račun s aktivnom pretplatom

## Autentifikacija

Jira Cloud podržava više metoda autentifikacije.

### Opcija 1: OAuth 2.0 (3LO) - Preporučeno

1. Idite na [developer.atlassian.com](https://developer.atlassian.com/console/myapps/)
2. Kliknite **Create** > **OAuth 2.0 integration**
3. Konfigurirajte callback URL: `https://app.tajo.io/callbacks/jira`
4. Dodajte ove opsege:

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

Struktura API URL-a za OAuth 2.0:

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

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

1. Idite na [id.atlassian.com/manage/api-tokens](https://id.atlassian.com/manage/api-tokens)
2. Kliknite **Create API token**
3. Nazovite ga “Tajo Integration”

```bash
# Basic Auth: e-mail kao korisničko ime, API token kao lozinka
curl -X GET "https://your-domain.atlassian.net/rest/api/3/myself" \
  -u "email@example.com:$JIRA_API_TOKEN" \
  -H "Accept: application/json"
```

Ograničenja API tokena

API tokeni su vezani za pojedinačne korisničke račune. Ako se korisnik deaktivira, integracija se prekida. Koristite OAuth 2.0 za produkcijska postavljanja.

### Povezivanje s Tajom

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

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

## Konfiguracija

### Osnovna konfiguracija

```yaml
connectors:
  jira:
    enabled: true
    site_url: "your-domain.atlassian.net"
    auth_type: "oauth2"  # ili "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
```

### Mapiranje polja

Mapirajte Jira probleme i korisnička polja na Brevo atribute:

```yaml
field_mapping:
  # Korisnička polja
  accountId: JIRA_ACCOUNT_ID
  emailAddress: email
  displayName: FIRSTNAME

  # Polja problema mapirana na kontaktne događaje
  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 krajnje točke

Tajo se integrira sa sljedećim Jira Cloud REST API v3 krajnjim točkama:

| Krajnja točka | Metoda | Namjena |
| --- | --- | --- |
| `/rest/api/3/search` | POST | Pretraživanje problema JQL-om |
| `/rest/api/3/issue/{issueIdOrKey}` | GET | Dohvaćanje detalja problema |
| `/rest/api/3/issue` | POST | Stvaranje problema |
| `/rest/api/3/project` | GET | Popis svih projekata |
| `/rest/api/3/project/{projectIdOrKey}` | GET | Dohvaćanje detalja projekta |
| `/rest/api/3/user/search` | GET | Pretraživanje korisnika |
| `/rest/api/3/myself` | GET | Dohvaćanje trenutnog korisnika |
| `/rest/api/3/issue/{issueIdOrKey}/comment` | GET | Dohvaćanje komentara problema |
| `/rest/api/3/webhook` | POST | Registracija webhookova |
| `/rest/api/3/status` | GET | Dohvaćanje svih statusa |
| `/rest/api/3/priority` | GET | Dohvaćanje svih prioriteta |

## Primjeri koda

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

### Sinkronizacija tiketa podrške

```javascript
// Sinkronizacija Jira tiketa podrške s Brevo kontaktima
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
// }
```

### Rukovanje Jira Webhooksima

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

### Pretraživanje problema po klijentu

```javascript
// Pronalazak svih problema koje je prijavio određeni klijent
const issues = await tajo.connectors.query('jira', {
  jql: 'reporter = "customer@example.com" ORDER BY created DESC',
  maxResults: 20,
  fields: ['summary', 'status', 'priority', 'created']
});
```

## Ograničenja brzine

Jira Cloud primjenjuje ograničenja brzine radi osiguravanja stabilnosti platforme:

| Kontekst | Ograničenje brzine |
| --- | --- |
| **REST API** | ~100 zahtjeva po 10 sekundi po korisniku |
| **Istovremeni zahtjevi** | 10 istovremenih dugotrajnih zahtjeva |
| **Skupne operacije** | Varira po krajnjoj točki |

Paginacija

Jira koristi paginaciju temeljenu na odmaku s parametrima `startAt` i `maxResults`. Zadana veličina stranice je 50, maksimum je 100. Tajo automatski rukuje paginacijom.

Jira vraća odgovor `429 Too Many Requests` kada su prekoračena ograničenja brzine, sa zaglavljem `Retry-After` koje označava kada ponovo pokušati.

## Rješavanje problema

### Uobičajeni problemi

| Problem | Uzrok | Rješenje |
| --- | --- | --- |
| 401 Unauthorized | Nevažeći token ili istekao OAuth | Osvježite OAuth token ili regenerirajte API token |
| 403 Forbidden | Nedostatne dozvole | Provjerite ima li korisnik pristup traženom projektu |
| JQL greške | Nevažeća sintaksa upita | Validirajte JQL u Jira pretraživanju problema |
| Webhook nije primljen | Vatrozid blokira | Osigurajte da je webhook URL javno dostupan |
| Nedostaju polja | Polje nije u odgovoru | Dodajte polje parametru `fields` ili koristite `expand` |

### Način otklanjanja grešaka

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

### Testiranje veze

```bash
tajo connectors test jira
# ✓ API autentifikacija uspješna
# ✓ Pristup projektu potvrđen
# ✓ Pretraživanje problema operativno
# ✓ Traženje korisnika dostupno
# ✓ Registracija webhookova aktivna
```

## Preporučene prakse

1. **Koristite OAuth 2.0 za produkciju** - Izbjegava ovisnost o pojedinačnim korisničkim računima
2. **Filtrirajte JQL-om** - Sinkronizirajte samo relevantne probleme za smanjenje API poziva
3. **Koristite webhookove za sinkronizaciju u stvarnom vremenu** - Izbjegavajte anketiranje; registrirajte webhookove za promjene problema
4. **Poštujte ADF format** - Jira v3 koristi Atlassian Document Format za polja obogaćenog teksta
5. **Mapirajte projekt-na-popis** - Stvorite zasebne Brevo popise po Jira projektu
6. **Rukujte paginacijom** - Uvijek iterirajte kroz sve stranice za potpune podatke

## Sigurnost

- **OAuth 2.0 (3LO)** - Sigurna autentifikacija temeljena na tokenima s tokenima za osvježavanje
- **API Token + Basic Auth** - Base64-kodirane vjerodajnice putem HTTPS-a
- **Samo HTTPS** - Sva API komunikacija šifrirana putem TLS 1.2+
- **Opsežni pristup** - OAuth opsezi ograničavaju API pristup na potrebne resurse
- **Atlassian Cloud sigurnost** - SOC 2 Type II certificirana infrastruktura
- **Šifrirano pohranjivanje** - Vjerodajnice šifrirane u mirovanju u Taju

## Povezani resursi

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