Jira کنیکٹر

Tajo کے ذریعے صارفین پر مرکوز مسائل کی ٹریکنگ، سپورٹ ٹکٹ کی مرئیت، اور پروجیکٹ مائلسٹون اطلاعات کے لیے اپنے Jira Cloud انسٹینس کو Brevo سے منسلک کریں۔

جائزہ

خاصیتقدر
پلیٹ فارمJira Cloud
زمرہحسب ضرورت
سیٹ اپ کی پیچیدگیمعتدل
آفیشل انٹیگریشننہیں
سنک شدہ ڈیٹامسائل، پروجیکٹس، صارفین، ایونٹس
API قسمREST API v3
توثیقOAuth 2.0 (3LO) / API Token (Basic Auth)
بنیادی URLhttps://your-domain.atlassian.net/rest/api/3/

خصوصیات

  • مسائل کے ایونٹ کی سنک - مسئلہ بنانے، اپ ڈیٹ کرنے، اور حل کرنے کے ایونٹس کو Brevo رابطہ ٹائم لائنز تک بھیجیں
  • صارف ٹکٹ کی ٹریکنگ - سپورٹ مرئیت کے لیے Jira مسائل کو Brevo رابطوں سے جوڑیں
  • پروجیکٹ مائلسٹون اطلاعات - ورژن ریلیزز اور سپرنٹ تکمیل پر Brevo مہمات کو متحرک کریں
  • ٹیم کی صلاحیت کا ڈیٹا - آپریشنل ڈیش بورڈز کے لیے ورک لوڈ میٹرکس سنک کریں
  • اسٹیٹس تبدیلی کے ایونٹس - مسائل کے ورک فلو کی منتقلی کو Brevo ایونٹس کے طور پر ٹریک کریں
  • تبصرہ سنک - صارفین پر مرکوز تبصرے Brevo سرگرمی کے نوشتہ جات میں بھیجیں

ضروریات

شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:

  1. ایک Jira Cloud انسٹینس (Jira Software، Jira Service Management، یا Jira Work Management)
  2. OAuth ایپس بنانے یا API ٹوکنز تیار کرنے کے لیے ایڈمن رسائی
  3. آپ کے API ٹوکن سے منسلک Atlassian اکاؤنٹ ای میل
  4. API رسائی کے ساتھ Brevo اکاؤنٹ
  5. فعال سبسکرپشن کے ساتھ Tajo اکاؤنٹ

توثیق

Jira Cloud متعدد توثیقی طریقوں کی حمایت کرتا ہے۔

آپشن 1: OAuth 2.0 (3LO) - تجویز کردہ

  1. developer.atlassian.com پر جائیں
  2. Create > OAuth 2.0 integration پر کلک کریں
  3. کال بیک URL کو ترتیب دیں: https://app.tajo.io/callbacks/jira
  4. یہ اسکوپس شامل کریں:
read:jira-work
read:jira-user
write:jira-work
read:me

OAuth 2.0 کے لیے API URL ڈھانچہ:

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

آپشن 2: API Token (Basic Auth)

  1. id.atlassian.com/manage/api-tokens پر جائیں
  2. Create API token پر کلک کریں
  3. اسے “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"

API ٹوکن کی حدود

API ٹوکنز انفرادی صارف اکاؤنٹس سے منسلک ہوتے ہیں۔ اگر صارف غیر فعال ہو جائے تو انٹیگریشن ٹوٹ جاتی ہے۔ پروڈکشن تعیناتی کے لیے OAuth 2.0 استعمال کریں۔

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

ترتیب

بنیادی سیٹ اپ

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

فیلڈ میپنگ

Jira مسئلہ اور صارف کے فیلڈز کو 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

API اینڈ پوائنٹس

Tajo درج ذیل Jira Cloud REST API v3 اینڈ پوائنٹس کے ساتھ مربوط ہوتا ہے:

اینڈ پوائنٹطریقہمقصد
/rest/api/3/searchPOSTJQL استعمال کر کے مسائل تلاش کریں
/rest/api/3/issue/{issueIdOrKey}GETمسئلہ کی تفصیلات حاصل کریں
/rest/api/3/issuePOSTایک مسئلہ بنائیں
/rest/api/3/projectGETتمام پروجیکٹس کی فہرست
/rest/api/3/project/{projectIdOrKey}GETپروجیکٹ کی تفصیلات حاصل کریں
/rest/api/3/user/searchGETصارفین تلاش کریں
/rest/api/3/myselfGETموجودہ صارف حاصل کریں
/rest/api/3/issue/{issueIdOrKey}/commentGETمسئلہ کے تبصرے حاصل کریں
/rest/api/3/webhookPOSTویب ہُکس رجسٹر کریں
/rest/api/3/statusGETتمام سٹیٹس حاصل کریں
/rest/api/3/priorityGETتمام ترجیحات حاصل کریں

کوڈ کی مثالیں

کنیکٹر کو شروع کریں

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

سپورٹ مسائل کو سنک کریں

// 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
// }

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

گاہک کے لحاظ سے مسائل تلاش کریں

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

ریٹ کی حدود

Jira Cloud پلیٹ فارم کے استحکام کو یقینی بنانے کے لیے ریٹ کی حدود نافذ کرتا ہے:

سیاقریٹ کی حد
REST APIصارف کے لحاظ سے 10 سیکنڈ میں ~100 درخواستیں
ہم وقت درخواستیں10 ہم وقت طویل المدتی درخواستیں
بلک آپریشنزاینڈ پوائنٹ کے لحاظ سے مختلف

صفحہ بندی

Jira startAt اور maxResults پیرامیٹرز کے ساتھ آفسیٹ پر مبنی صفحہ بندی استعمال کرتا ہے۔ ڈیفالٹ صفحہ سائز 50 ہے، زیادہ سے زیادہ 100 ہے۔ Tajo صفحہ بندی کو خود بخود ہینڈل کرتا ہے۔

ریٹ کی حدود سے تجاوز کرنے پر Jira ایک 429 Too Many Requests جواب واپس کرتا ہے، جس میں Retry-After ہیڈر بتاتا ہے کہ کب دوبارہ کوشش کی جائے۔

مسائل کا حل

عام مسائل

مسئلہوجہحل
401 Unauthorizedغلط ٹوکن یا میعاد ختم OAuthOAuth ٹوکن کو تازہ کریں یا API ٹوکن دوبارہ تیار کریں
403 Forbiddenناکافی اجازتیںچیک کریں کہ صارف کو درخواست شدہ پروجیکٹ تک رسائی ہے
JQL غلطیاںغلط استفسار نحوپہلے Jira کے مسئلہ تلاش میں JQL کی تصدیق کریں
ویب ہُک موصول نہیں ہو رہافائر وال بلاک کر رہا ہےیقینی بنائیں کہ ویب ہُک URL عوامی طور پر قابل رسائی ہے
غائب فیلڈزفیلڈ جواب میں نہیںفیلڈ کو fields پیرامیٹر میں شامل کریں یا expand استعمال کریں

ڈیبگ موڈ

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

کنکشن ٹیسٹ کریں

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

بہترین طرز عمل

  1. پروڈکشن کے لیے OAuth 2.0 استعمال کریں - انفرادی صارف اکاؤنٹس پر انحصار سے بچتا ہے
  2. JQL کے ساتھ فلٹر کریں - API کالز کم کرنے کے لیے صرف متعلقہ مسائل سنک کریں
  3. ریئل ٹائم کے لیے ویب ہُکس استعمال کریں - پولنگ سے بچیں؛ مسئلہ تبدیلیوں کے لیے ویب ہُکس رجسٹر کریں
  4. ADF فارمیٹ کا احترام کریں - Jira v3 رچ ٹیکسٹ فیلڈز کے لیے Atlassian Document Format استعمال کرتا ہے
  5. پروجیکٹ-سے-فہرست میپ کریں - ہر Jira پروجیکٹ کے لیے علیحدہ Brevo فہرستیں بنائیں
  6. صفحہ بندی کو ہینڈل کریں - مکمل ڈیٹا کے لیے ہمیشہ تمام صفحات کو دہرائیں

سیکیورٹی

  • OAuth 2.0 (3LO) - ریفریش ٹوکنز کے ساتھ محفوظ ٹوکن پر مبنی توثیق
  • API Token + Basic Auth - HTTPS پر Base64-انکوڈڈ اسناد
  • صرف HTTPS - تمام API مواصلات TLS 1.2+ کے ذریعے خفیہ
  • اسکوپڈ رسائی - OAuth اسکوپس API رسائی کو مطلوبہ وسائل تک محدود کرتے ہیں
  • Atlassian Cloud سیکیورٹی - SOC 2 Type II سرٹیفائیڈ انفراسٹرکچر
  • خفیہ کردہ ذخیرہ - اسناد Tajo میں ساکن حالت میں خفیہ ہوتی ہیں

متعلقہ وسائل

Subscribe to updates

developer-docs

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

auto-detect
AI معاون

السلام علیکم! دستاویزات کے بارے میں کچھ بھی پوچھیں۔