Jira Connector
Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.
Illustration · eksempeldata
Eksempel på synkronisering
Kilde
Jira
Connectorstatus: Planlagt
Destination
Dit andet værktøj
Connectorstatus: Eget værktøj
Feltmapping
| Kildefelt | Destinationsfelt | Eksempelværdi |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Udkast
- Gennemse én post
- Godkend denne version
Status gælder den enkelte connector og garanterer ikke, at denne synkronisering er klar. Felterne er illustrative. Tjek det faktiske skema og tilladelser før en synkronisering.
Forbind din Jira Cloud-instans med Brevo for kundevendt issue-sporing, synlighed af supporttickets og notifikationer om projektmilepæle gennem Tajo.
Oversigt
| Egenskab | Værdi |
|---|---|
| Platform | Jira Cloud |
| Kategori | Brugerdefineret |
| Opsætningskompleksitet | Moderat |
| Officiel integration | Nej |
| Synkroniserede data | Issues, projekter, brugere, hændelser |
| API-type | REST API v3 |
| Autentifikation | OAuth 2.0 (3LO) / API-token (Basic Auth) |
| Base-URL | https://your-domain.atlassian.net/rest/api/3/ |
Funktioner
- Synkronisering af issue-hændelser - Videresend issue-oprettelses-, opdaterings- og løsningshændelser til Brevo-kontakttidslinjer
- Sporing af kundetickets - Forbind Jira-issues med Brevo-kontakter for support-synlighed
- Alarmer ved projektmilepæle - Udløs Brevo-kampagner ved versionsudgivelser og sprint-afslutninger
- Team-kapacitetsdata - Synkronisér arbejdsbelastningsmetrikker til driftsdashboards
- Statusændringshændelser - Spor issue-workflow-overgange som Brevo-hændelser
- Kommentar-synkronisering - Videresend kundevendte kommentarer til Brevo-aktivitetslogs
Forudsætninger
Før du begynder, skal du sikre dig, at du har:
- En Jira Cloud-instans (Jira Software, Jira Service Management eller Jira Work Management)
- Admin-adgang til at oprette OAuth-apps eller generere API-tokens
- Atlassian-konto-e-mailen knyttet til dit API-token
- En Brevo-konto med API-adgang
- En Tajo-konto med aktivt abonnement
Autentifikation
Jira Cloud understøtter flere autentifikationsmetoder.
Mulighed 1: OAuth 2.0 (3LO) - anbefalet
- Gå til developer.atlassian.com
- Klik på Create > OAuth 2.0 integration
- Konfigurér callback-URL:
https://app.tajo.io/callbacks/jira - Tilføj disse scopes:
read:jira-workread:jira-userwrite:jira-workread:meAPI-URL-strukturen for OAuth 2.0:
https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/{resource}Mulighed 2: API-token (Basic Auth)
- Gå til id.atlassian.com/manage/api-tokens
- Klik på Create API token
- Navngiv det “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"Begrænsninger for API-tokens
API-tokens er knyttet til individuelle brugerkonti. Hvis brugeren deaktiveres, går integrationen i stykker. Brug OAuth 2.0 til produktionsudrulninger.
Forbind til 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_TOKENKonfiguration
Grundlæggende opsætning
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 RequestFeltmapping
Kortlæg Jira-issue- og brugerfelter til Brevo-attributter:
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_RESOLUTIONAPI-endpoints
Tajo integrerer med følgende Jira Cloud REST API v3-endpoints:
| Endpoint | Metode | Formål |
|---|---|---|
/rest/api/3/search | POST | Søg i issues med JQL |
/rest/api/3/issue/{issueIdOrKey} | GET | Hent issue-detaljer |
/rest/api/3/issue | POST | Opret et issue |
/rest/api/3/project | GET | Vis alle projekter |
/rest/api/3/project/{projectIdOrKey} | GET | Hent projektdetaljer |
/rest/api/3/user/search | GET | Søg brugere |
/rest/api/3/myself | GET | Hent aktuel bruger |
/rest/api/3/issue/{issueIdOrKey}/comment | GET | Hent issue-kommentarer |
/rest/api/3/webhook | POST | Registrér webhooks |
/rest/api/3/status | GET | Hent alle statusser |
/rest/api/3/priority | GET | Hent alle prioriteter |
Kodeeksempler
Initialisér connector
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});Synkronisér support-issues
// 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// }Håndtér Jira-webhooks
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');});Søg issues efter kunde
// Find all issues reported by a specific customerconst issues = await tajo.connectors.query('jira', { maxResults: 20, fields: ['summary', 'status', 'priority', 'created']});Rate limits
Jira Cloud håndhæver rate limits for at sikre platformens stabilitet:
| Kontekst | Rate limit |
|---|---|
| REST API | ~100 anmodninger pr. 10 sekunder pr. bruger |
| Samtidige anmodninger | 10 samtidige langtkørende anmodninger |
| Bulk-operationer | Varierer efter endpoint |
Paginering
Jira bruger offset-baseret paginering med parametrene startAt og maxResults. Standardsidestørrelsen er 50, maksimalt 100. Tajo håndterer paginering automatisk.
Jira returnerer et 429 Too Many Requests-svar, når rate limits overskrides, med en Retry-After-header, der angiver, hvornår der skal forsøges igen.
Fejlfinding
Almindelige problemer
| Problem | Årsag | Løsning |
|---|---|---|
| 401 Unauthorized | Ugyldigt token eller udløbet OAuth | Opdatér OAuth-token eller regenerér API-token |
| 403 Forbidden | Utilstrækkelige tilladelser | Tjek, om brugeren har adgang til det ønskede projekt |
| JQL-fejl | Ugyldig forespørgselssyntaks | Validér JQL først i Jiras issue-søgning |
| Webhook ikke modtaget | Firewall blokerer | Sørg for, at webhook-URL er offentligt tilgængelig |
| Manglende felter | Felt ikke i svar | Tilføj felt til fields-parameter, eller brug expand |
Debug-tilstand
connectors: jira: debug: true log_level: verbose log_api_calls: trueTestforbindelse
tajo connectors test jira# ✓ API authentication successful# ✓ Project access verified# ✓ Issue search operational# ✓ User lookup available# ✓ Webhook registration activeBedste praksis
- Brug OAuth 2.0 til produktion - Undgår afhængighed af individuelle brugerkonti
- Filtrér med JQL - Synkronisér kun relevante issues for at reducere API-kald
- Brug webhooks til realtid - Undgå polling; registrér webhooks til issue-ændringer
- Respektér ADF-format - Jira v3 bruger Atlassian Document Format til rig tekst-felter
- Kortlæg projekt-til-liste - Opret separate Brevo-lister pr. Jira-projekt
- Håndtér paginering - Itérér altid gennem alle sider for komplette data
Sikkerhed
- OAuth 2.0 (3LO) - Sikker token-baseret autentifikation med refresh-tokens
- API-token + Basic Auth - Base64-kodede legitimationsoplysninger over HTTPS
- Kun HTTPS - Al API-kommunikation krypteres via TLS 1.2+
- Scopes adgang - OAuth-scopes begrænser API-adgang til nødvendige ressourcer
- Atlassian Cloud-sikkerhed - SOC 2 Type II-certificeret infrastruktur
- Krypteret opbevaring - Legitimationsoplysninger krypteres i hvile i Tajo