Jira-koppling
Kopplingens status: Planerad Inte byggd än. Tajo kör inte den här kopplingen i dag.
Illustration · exempeldata
Exempel på synkronisering
Källa
Jira
Kopplingens status: Planerad
Mål
Ditt andra verktyg
Kopplingens status: Eget verktyg
Fältmappning
| Källfält | Målfält | Exempelvärde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Utkast
- Granska en post
- Godkänn den här versionen
Status gäller varje enskild koppling och garanterar inte att den här synkroniseringen är klar. Fälten är illustrativa. Kontrollera det faktiska schemat och behörigheterna innan synkronisering körs.
Anslut din Jira Cloud-instans till Brevo för kundnära ärendespårning, supportbiljettöversikt och aviseringar om projektmilstolpar via Tajo.
Översikt
| Egenskap | Värde |
|---|---|
| Plattform | Jira Cloud |
| Kategori | Anpassad |
| Installationskomplexitet | Måttlig |
| Officiell integration | Nej |
| Data som synkas | Ärenden, projekt, användare, händelser |
| API-typ | REST API v3 |
| Autentisering | OAuth 2.0 (3LO) / API-token (Basic Auth) |
| Bas-URL | https://your-domain.atlassian.net/rest/api/3/ |
Funktioner
- Synk av ärendehändelser - Vidarebefordra händelser för skapande, uppdatering och lösning av ärenden till tidslinjer för Brevo-kontakter
- Spårning av kundbiljetter - Länka Jira-ärenden till Brevo-kontakter för supportöversikt
- Aviseringar om projektmilstolpar - Utlös Brevo-kampanjer vid versionsreleaser och sprintavslut
- Data om teamkapacitet - Synka arbetsbelastningsmått till operativa dashboards
- Statusförändringshändelser - Spåra ärendeflödets övergångar som Brevo-händelser
- Kommentarsynk - Vidarebefordra kundnära kommentarer till Brevos aktivitetsloggar
Förutsättningar
Innan du börjar, se till att du har:
- En Jira Cloud-instans (Jira Software, Jira Service Management eller Jira Work Management)
- Admin-åtkomst för att skapa OAuth-appar eller generera API-tokens
- Den Atlassian-kontoe-post som är kopplad till din API-token
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto med aktivt abonnemang
Autentisering
Jira Cloud stöder flera autentiseringsmetoder.
Alternativ 1: OAuth 2.0 (3LO) – rekommenderas
- Gå till developer.atlassian.com
- Klicka på Create > OAuth 2.0 integration
- Konfigurera callback-URL:
https://app.tajo.io/callbacks/jira - Lägg till dessa scopes:
read:jira-workread:jira-userwrite:jira-workread:meAPI-URL-strukturen för OAuth 2.0:
https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/{resource}Alternativ 2: API-token (Basic Auth)
- Gå till id.atlassian.com/manage/api-tokens
- Klicka på Create API token
- Namnge den “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änsningar för API-tokens
API-tokens är kopplade till enskilda användarkonton. Om användaren avaktiveras slutar integrationen att fungera. Använd OAuth 2.0 för produktionsmiljöer.
Ansluta till 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
Grundinställning
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 RequestFältmappning
Mappa Jira-ärende- och användarfält till Brevo-attribut:
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 integrerar med följande endpoints i Jira Cloud REST API v3:
| Endpoint | Metod | Syfte |
|---|---|---|
/rest/api/3/search | POST | Sök ärenden med JQL |
/rest/api/3/issue/{issueIdOrKey} | GET | Hämta ärendedetaljer |
/rest/api/3/issue | POST | Skapa ett ärende |
/rest/api/3/project | GET | Lista alla projekt |
/rest/api/3/project/{projectIdOrKey} | GET | Hämta projektdetaljer |
/rest/api/3/user/search | GET | Sök användare |
/rest/api/3/myself | GET | Hämta aktuell användare |
/rest/api/3/issue/{issueIdOrKey}/comment | GET | Hämta ärendekommentarer |
/rest/api/3/webhook | POST | Registrera webhooks |
/rest/api/3/status | GET | Hämta alla statusar |
/rest/api/3/priority | GET | Hämta alla prioriteter |
Kodexempel
Initiera kopplingen
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});Synka supportärenden
// 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// }Hantera 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ök ärenden per kund
// Find all issues reported by a specific customerconst issues = await tajo.connectors.query('jira', { maxResults: 20, fields: ['summary', 'status', 'priority', 'created']});Hastighetsbegränsningar
Jira Cloud tillämpar hastighetsbegränsningar för att säkerställa plattformsstabilitet:
| Kontext | Hastighetsbegränsning |
|---|---|
| REST API | ~100 förfrågningar per 10 sekunder per användare |
| Samtidiga förfrågningar | 10 samtidiga långvariga förfrågningar |
| Bulkoperationer | Varierar per endpoint |
Paginering
Jira använder offsetbaserad paginering med parametrarna startAt och maxResults. Standardsidstorleken är 50, max är 100. Tajo hanterar paginering automatiskt.
Jira returnerar ett 429 Too Many Requests-svar när hastighetsbegränsningar överskrids, med en Retry-After-header som anger när det är dags att försöka igen.
Felsökning
Vanliga problem
| Problem | Orsak | Lösning |
|---|---|---|
| 401 Unauthorized | Ogiltig token eller utgången OAuth | Uppdatera OAuth-token eller regenerera API-token |
| 403 Forbidden | Otillräckliga behörigheter | Kontrollera att användaren har åtkomst till aktuellt projekt |
| JQL-fel | Ogiltig frågesyntax | Validera JQL i Jiras ärendesök först |
| Webhook tas inte emot | Brandvägg blockerar | Se till att webhook-URL:en är offentligt tillgänglig |
| Saknade fält | Fält saknas i svar | Lägg till fältet i fields-parametern eller använd expand |
Felsökningsläge
connectors: jira: debug: true log_level: verbose log_api_calls: trueTesta anslutning
tajo connectors test jira# ✓ API authentication successful# ✓ Project access verified# ✓ Issue search operational# ✓ User lookup available# ✓ Webhook registration activeBästa praxis
- Använd OAuth 2.0 i produktion - Undviker beroende av enskilda användarkonton
- Filtrera med JQL - Synka bara relevanta ärenden för att minska API-anrop
- Använd webhooks för realtid - Undvik polling; registrera webhooks för ärendeändringar
- Respektera ADF-format - Jira v3 använder Atlassian Document Format för rik text
- Mappa projekt-till-lista - Skapa separata Brevo-listor per Jira-projekt
- Hantera paginering - Iterera alltid genom alla sidor för fullständig data
Säkerhet
- OAuth 2.0 (3LO) - Säker tokenbaserad autentisering med refresh-tokens
- API-token + Basic Auth - Base64-kodade uppgifter över HTTPS
- Endast HTTPS - All API-kommunikation krypterad via TLS 1.2+
- Scopad åtkomst - OAuth-scopes begränsar API-åtkomst till nödvändiga resurser
- Atlassian Cloud-säkerhet - SOC 2 Type II-certifierad infrastruktur
- Krypterad lagring - Uppgifter krypterade i vila i Tajo