Jira Connector
Stanje konektorja: Načrtovano Še ni izdelano. Tajo danes ne poganja tega konektorja.
Ponazoritev · vzorčni podatki
Primer sinhronizacije
Vir
Jira
Stanje konektorja: Načrtovano
Cilj
Vaše drugo orodje
Stanje konektorja: Orodje po meri
Preslikava polj
| Izvorno polje | Ciljno polje | Vzorčna vrednost |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Osnutek
- Preglejte en zapis
- Odobrite to različico
Stanja veljajo za posamezne konektorje in ne zagotavljajo, da je ta sinhronizacija pripravljena. Polja so ponazoritvena. Pred zagonom sinhronizacije preverite dejansko shemo in dovoljenja.
Poveži svojo instanco Jira Cloud z Brevo za sledenje težavam, ki so vidne strankam, pregled zahtevkov za podporo in obvestila o mejnikih projektov prek Tajo.
Pregled
| Lastnost | Vrednost |
|---|---|
| Platforma | Jira Cloud |
| Kategorija | Po meri |
| Zahtevnost nastavitve | Srednja |
| Uradna integracija | Ne |
| Sinhronizirani podatki | Težave, projekti, uporabniki, dogodki |
| Tip API | REST API v3 |
| Avtentikacija | OAuth 2.0 (3LO) / API žeton (Basic Auth) |
| Osnovni URL | https://your-domain.atlassian.net/rest/api/3/ |
Funkcionalnosti
- Sinhronizacija dogodkov težav – posreduj dogodke ustvarjanja, posodabljanja in reševanja težav na časovnice stikov Brevo
- Sledenje zahtevkom strank – poveži težave Jira s stiki Brevo za pregled podpore
- Opozorila o mejnikih projektov – sproži kampanje Brevo ob izdajah različic in zaključkih sprintov
- Podatki o kapaciteti ekipe – sinhronizacija meritev delovne obremenitve za operativne nadzorne plošče
- Dogodki spremembe statusa – sledi prehodom delovnega toka težav kot dogodke Brevo
- Sinhronizacija komentarjev – posreduj komentarje, vidne strankam, v dnevnike aktivnosti Brevo
Predpogoji
Preden začneš, se prepričaj, da imaš:
- Instanco Jira Cloud (Jira Software, Jira Service Management ali Jira Work Management)
- Administratorski dostop za ustvarjanje OAuth aplikacij ali generiranje API žetonov
- E-mail računa Atlassian, povezan s tvojim API žetonom
- Brevo račun z dostopom do API
- Tajo račun z aktivno naročnino
Avtentikacija
Jira Cloud podpira več metod avtentikacije.
Možnost 1: OAuth 2.0 (3LO) – priporočeno
- Pojdi na developer.atlassian.com
- Klikni Create > OAuth 2.0 integration
- Nastavi URL povratnega klica:
https://app.tajo.io/callbacks/jira - Dodaj te obsege:
read:jira-workread:jira-userwrite:jira-workread:meStruktura URL API za OAuth 2.0:
https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/{resource}Možnost 2: API žeton (Basic Auth)
- Pojdi na id.atlassian.com/manage/api-tokens
- Klikni Create API token
- Poimenuj ga “Tajo Integration”
# Basic Auth: email as username, API token as passwordcurl -X GET "https://your-domain.atlassian.net/rest/api/3/myself" \ -H "Accept: application/json"Omejitve API žetonov
API žetoni so vezani na posamezne uporabniške račune. Če je uporabnik deaktiviran, se integracija prekine. Za produkcijsko namestitev uporabi OAuth 2.0.
Povezava s Tajo
# Using OAuth 2.0tajo connectors install jira \ --client-id $JIRA_CLIENT_ID \ --client-secret $JIRA_CLIENT_SECRET \ --cloud-id $JIRA_CLOUD_ID
# Using API Tokentajo connectors install jira \ --site-url your-domain.atlassian.net \ --api-token $JIRA_API_TOKENKonfiguracija
Osnovna nastavitev
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 RequestPreslikava polj
Preslikaj polja težav in uporabnikov Jira v atribute Brevo:
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_RESOLUTIONKončne točke API
Tajo se integrira z naslednjimi končnimi točkami Jira Cloud REST API v3:
| Končna točka | Metoda | Namen |
|---|---|---|
/rest/api/3/search | POST | Iskanje težav z JQL |
/rest/api/3/issue/{issueIdOrKey} | GET | Pridobi podrobnosti težave |
/rest/api/3/issue | POST | Ustvari težavo |
/rest/api/3/project | GET | Seznam vseh projektov |
/rest/api/3/project/{projectIdOrKey} | GET | Pridobi podrobnosti projekta |
/rest/api/3/user/search | GET | Iskanje uporabnikov |
/rest/api/3/myself | GET | Pridobi trenutnega uporabnika |
/rest/api/3/issue/{issueIdOrKey}/comment | GET | Pridobi komentarje težave |
/rest/api/3/webhook | POST | Registriraj webhooks |
/rest/api/3/status | GET | Pridobi vse statuse |
/rest/api/3/priority | GET | Pridobi vse prioritete |
Primeri kode
Inicializacija konektorja
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});Sinhronizacija zahtevkov za podporo
// Sync Jira support issues to Brevo contactsawait 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// }Obravnava webhookov Jira
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');});Iskanje težav po stranki
// Find all issues reported by a specific customerconst issues = await tajo.connectors.query('jira', { maxResults: 20, fields: ['summary', 'status', 'priority', 'created']});Omejitve hitrosti
Jira Cloud uveljavi omejitve hitrosti za zagotovitev stabilnosti platforme:
| Kontekst | Omejitev hitrosti |
|---|---|
| REST API | ~100 zahtevkov na 10 sekund na uporabnika |
| Sočasni zahtevki | 10 sočasnih dolgotrajnih zahtevkov |
| Množične operacije | Razlikuje se po končni točki |
Paginacija
Jira uporablja paginacijo na osnovi odmika s parametroma startAt in maxResults. Privzeta velikost strani je 50, največ 100. Tajo paginacijo obravnava samodejno.
Jira vrne odgovor 429 Too Many Requests, ko so omejitve hitrosti prekoračene, z glavo Retry-After, ki kaže, kdaj se znova poskusiti.
Odpravljanje težav
Pogoste težave
| Težava | Vzrok | Rešitev |
|---|---|---|
| 401 Unauthorized | Neveljaven žeton ali potekel OAuth | Osveži OAuth žeton ali obnovi API žeton |
| 403 Forbidden | Nezadostna dovoljenja | Preveri, ali ima uporabnik dostop do zahtevanega projekta |
| Napake JQL | Napačna sintaksa poizvedbe | Najprej potrdi JQL v iskanju težav Jira |
| Webhook ni prejet | Požarni zid blokira | Zagotovi, da je URL webhookov javno dostopen |
| Manjkajoča polja | Polje ni v odgovoru | Dodaj polje parametru fields ali uporabi expand |
Način odpravljanja napak
connectors: jira: debug: true log_level: verbose log_api_calls: truePreizkus povezave
tajo connectors test jira# ✓ API authentication successful# ✓ Project access verified# ✓ Issue search operational# ✓ User lookup available# ✓ Webhook registration activeNajboljše prakse
- Za produkcijo uporabi OAuth 2.0 – prepreči odvisnost od posameznih uporabniških računov
- Filtriraj z JQL – sinhronizacija samo ustreznih težav za zmanjšanje klicev API
- Za posodobitve v realnem času uporabi webhooks – izogibaj se anketiranju; registriraj webhooks za spremembe težav
- Spoštuj format ADF – Jira v3 za polja z obogatenim besedilom uporablja Atlassian Document Format
- Preslikaj projekt na seznam – ustvari ločene sezname Brevo na projekt Jira
- Obravnavaj paginacijo – vedno iteriraj skozi vse strani za popolne podatke
Varnost
- OAuth 2.0 (3LO) – varna avtentikacija na osnovi žetonov z žetoni za osvežitev
- API žeton + Basic Auth – poverilnice kodirane z Base64 prek HTTPS
- Samo HTTPS – vsa komunikacija API šifrirana prek TLS 1.2+
- Obsegani dostop – obsegi OAuth omejijo dostop do API na zahtevane vire
- Varnost Atlassian Cloud – infrastruktura certificirana po SOC 2 Type II
- Šifrirano shranjevanje – poverilnice šifrirane v mirovanju v Tajo