Jira Connector

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

LastnostVrednost
PlatformaJira Cloud
KategorijaPo meri
Zahtevnost nastavitveSrednja
Uradna integracijaNe
Sinhronizirani podatkiTežave, projekti, uporabniki, dogodki
Tip APIREST API v3
AvtentikacijaOAuth 2.0 (3LO) / API žeton (Basic Auth)
Osnovni URLhttps://your-domain.atlassian.net/rest/api/3/

Funkcionalnosti

  • Sinhronizacija событий težav – posreduj события 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 событiji Brevo
  • Sinhronizacija komentarjev – posreduj komentarje, vidne strankam, v dnevnike aktivnosti Brevo

Predpogoji

Preden začneš, se prepričaj, da imaš:

  1. Instanco Jira Cloud (Jira Software, Jira Service Management ali Jira Work Management)
  2. Administratorski dostop za ustvarjanje OAuth aplikacij ali generiranje API žetonov
  3. E-mail računa Atlassian, povezan s tvojim API žetonom
  4. Brevo račun z dostopom do API
  5. Tajo račun z aktivno naročnino

Avtentikacija

Jira Cloud podpira več metod avtentikacije.

Možnost 1: OAuth 2.0 (3LO) – priporočeno

  1. Pojdi na developer.atlassian.com
  2. Klikni Create > OAuth 2.0 integration
  3. Nastavi URL povratnega klica: https://app.tajo.io/callbacks/jira
  4. Dodaj te obsege:
read:jira-work
read:jira-user
write:jira-work
read:me

Struktura URL API za OAuth 2.0:

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

Možnost 2: API žeton (Basic Auth)

  1. Pojdi na id.atlassian.com/manage/api-tokens
  2. Klikni Create API token
  3. Poimenuj ga “Tajo Integration”
Terminal window
# Basic Auth: email as username, API token as password
curl -X GET "https://your-domain.atlassian.net/rest/api/3/myself" \
-u "[email protected]:$JIRA_API_TOKEN" \
-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

Terminal window
# 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 \
--api-token $JIRA_API_TOKEN

Konfiguracija

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 Request

Preslikava 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_RESOLUTION

Končne točke API

Tajo se integrira z naslednjimi končnimi točkami Jira Cloud REST API v3:

Končna točkaMetodaNamen
/rest/api/3/searchPOSTIskanje težav z JQL
/rest/api/3/issue/{issueIdOrKey}GETPridobi podrobnosti težave
/rest/api/3/issuePOSTUstvari težavo
/rest/api/3/projectGETSeznam vseh projektov
/rest/api/3/project/{projectIdOrKey}GETPridobi podrobnosti projekta
/rest/api/3/user/searchGETIskanje uporabnikov
/rest/api/3/myselfGETPridobi trenutnega uporabnika
/rest/api/3/issue/{issueIdOrKey}/commentGETPridobi komentarje težave
/rest/api/3/webhookPOSTRegistriraj webhooks
/rest/api/3/statusGETPridobi vse statuse
/rest/api/3/priorityGETPridobi 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 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
// }

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 customer
const issues = await tajo.connectors.query('jira', {
jql: 'reporter = "[email protected]" ORDER BY created DESC',
maxResults: 20,
fields: ['summary', 'status', 'priority', 'created']
});

Omejitve hitrosti

Jira Cloud uveljavi omejitve hitrosti za zagotovitev stabilnosti platforme:

KontekstOmejitev hitrosti
REST API~100 zahtevkov na 10 sekund na uporabnika
Sočasni zahtevki10 sočasnih dolgotrajnih zahtevkov
Množične operacijeRazlikuje 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žavaVzrokRešitev
401 UnauthorizedNeveljaven žeton ali potekel OAuthOsveži OAuth žeton ali obnovi API žeton
403 ForbiddenNezadostna dovoljenjaPreveri, ali ima uporabnik dostop do zahtevanega projekta
Napake JQLNapačna sintaksa poizvedbeNajprej potrdi JQL v iskanju težav Jira
Webhook ni prejetPožarni zid blokiraZagotovi, da je URL webhookov javno dostopen
Manjkajoča poljaPolje ni v odgovoruDodaj polje parametru fields ali uporabi expand

Način odpravljanja napak

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

Preizkus povezave

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

Najboljše prakse

  1. Za produkcijo uporabi OAuth 2.0 – prepreči odvisnost od posameznih uporabniških računov
  2. Filtriraj z JQL – sinhronizacija samo ustreznih težav za zmanjšanje klicev API
  3. Za posodobitve v realnem času uporabi webhooks – izogibaj se anketiranju; registriraj webhooks za spremembe težav
  4. Spoštuj format ADF – Jira v3 za polja z obogatenim besedilom uporablja Atlassian Document Format
  5. Preslikaj projekt na seznam – ustvari ločene sezname Brevo na projekt Jira
  6. 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

Povezani viri

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI pomočnik

Živjo! Vprašajte me o dokumentaciji.