Jira کنیکٹر
Tajo کے ذریعے صارفین پر مرکوز مسائل کی ٹریکنگ، سپورٹ ٹکٹ کی مرئیت، اور پروجیکٹ مائلسٹون اطلاعات کے لیے اپنے Jira Cloud انسٹینس کو Brevo سے منسلک کریں۔
جائزہ
| خاصیت | قدر |
|---|---|
| پلیٹ فارم | Jira Cloud |
| زمرہ | حسب ضرورت |
| سیٹ اپ کی پیچیدگی | معتدل |
| آفیشل انٹیگریشن | نہیں |
| سنک شدہ ڈیٹا | مسائل، پروجیکٹس، صارفین، ایونٹس |
| API قسم | REST API v3 |
| توثیق | OAuth 2.0 (3LO) / API Token (Basic Auth) |
| بنیادی URL | https://your-domain.atlassian.net/rest/api/3/ |
خصوصیات
- مسائل کے ایونٹ کی سنک - مسئلہ بنانے، اپ ڈیٹ کرنے، اور حل کرنے کے ایونٹس کو Brevo رابطہ ٹائم لائنز تک بھیجیں
- صارف ٹکٹ کی ٹریکنگ - سپورٹ مرئیت کے لیے Jira مسائل کو Brevo رابطوں سے جوڑیں
- پروجیکٹ مائلسٹون اطلاعات - ورژن ریلیزز اور سپرنٹ تکمیل پر Brevo مہمات کو متحرک کریں
- ٹیم کی صلاحیت کا ڈیٹا - آپریشنل ڈیش بورڈز کے لیے ورک لوڈ میٹرکس سنک کریں
- اسٹیٹس تبدیلی کے ایونٹس - مسائل کے ورک فلو کی منتقلی کو Brevo ایونٹس کے طور پر ٹریک کریں
- تبصرہ سنک - صارفین پر مرکوز تبصرے Brevo سرگرمی کے نوشتہ جات میں بھیجیں
ضروریات
شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:
- ایک Jira Cloud انسٹینس (Jira Software، Jira Service Management، یا Jira Work Management)
- OAuth ایپس بنانے یا API ٹوکنز تیار کرنے کے لیے ایڈمن رسائی
- آپ کے API ٹوکن سے منسلک Atlassian اکاؤنٹ ای میل
- API رسائی کے ساتھ Brevo اکاؤنٹ
- فعال سبسکرپشن کے ساتھ Tajo اکاؤنٹ
توثیق
Jira Cloud متعدد توثیقی طریقوں کی حمایت کرتا ہے۔
آپشن 1: OAuth 2.0 (3LO) - تجویز کردہ
- developer.atlassian.com پر جائیں
- Create > OAuth 2.0 integration پر کلک کریں
- کال بیک URL کو ترتیب دیں:
https://app.tajo.io/callbacks/jira - یہ اسکوپس شامل کریں:
read:jira-workread:jira-userwrite:jira-workread:meOAuth 2.0 کے لیے API URL ڈھانچہ:
https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/{resource}آپشن 2: API Token (Basic Auth)
- id.atlassian.com/manage/api-tokens پر جائیں
- Create API token پر کلک کریں
- اسے “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"API ٹوکن کی حدود
API ٹوکنز انفرادی صارف اکاؤنٹس سے منسلک ہوتے ہیں۔ اگر صارف غیر فعال ہو جائے تو انٹیگریشن ٹوٹ جاتی ہے۔ پروڈکشن تعیناتی کے لیے OAuth 2.0 استعمال کریں۔
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_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_RESOLUTIONAPI اینڈ پوائنٹس
Tajo درج ذیل Jira Cloud REST API v3 اینڈ پوائنٹس کے ساتھ مربوط ہوتا ہے:
| اینڈ پوائنٹ | طریقہ | مقصد |
|---|---|---|
/rest/api/3/search | POST | JQL استعمال کر کے مسائل تلاش کریں |
/rest/api/3/issue/{issueIdOrKey} | GET | مسئلہ کی تفصیلات حاصل کریں |
/rest/api/3/issue | POST | ایک مسئلہ بنائیں |
/rest/api/3/project | GET | تمام پروجیکٹس کی فہرست |
/rest/api/3/project/{projectIdOrKey} | GET | پروجیکٹ کی تفصیلات حاصل کریں |
/rest/api/3/user/search | GET | صارفین تلاش کریں |
/rest/api/3/myself | GET | موجودہ صارف حاصل کریں |
/rest/api/3/issue/{issueIdOrKey}/comment | GET | مسئلہ کے تبصرے حاصل کریں |
/rest/api/3/webhook | POST | ویب ہُکس رجسٹر کریں |
/rest/api/3/status | GET | تمام سٹیٹس حاصل کریں |
/rest/api/3/priority | GET | تمام ترجیحات حاصل کریں |
کوڈ کی مثالیں
کنیکٹر کو شروع کریں
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 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// }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 customerconst issues = await tajo.connectors.query('jira', { 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 | غلط ٹوکن یا میعاد ختم OAuth | OAuth ٹوکن کو تازہ کریں یا API ٹوکن دوبارہ تیار کریں |
| 403 Forbidden | ناکافی اجازتیں | چیک کریں کہ صارف کو درخواست شدہ پروجیکٹ تک رسائی ہے |
| JQL غلطیاں | غلط استفسار نحو | پہلے Jira کے مسئلہ تلاش میں JQL کی تصدیق کریں |
| ویب ہُک موصول نہیں ہو رہا | فائر وال بلاک کر رہا ہے | یقینی بنائیں کہ ویب ہُک URL عوامی طور پر قابل رسائی ہے |
| غائب فیلڈز | فیلڈ جواب میں نہیں | فیلڈ کو fields پیرامیٹر میں شامل کریں یا expand استعمال کریں |
ڈیبگ موڈ
connectors: jira: debug: true log_level: verbose log_api_calls: trueکنکشن ٹیسٹ کریں
tajo connectors test jira# ✓ API authentication successful# ✓ Project access verified# ✓ Issue search operational# ✓ User lookup available# ✓ Webhook registration activeبہترین طرز عمل
- پروڈکشن کے لیے OAuth 2.0 استعمال کریں - انفرادی صارف اکاؤنٹس پر انحصار سے بچتا ہے
- JQL کے ساتھ فلٹر کریں - API کالز کم کرنے کے لیے صرف متعلقہ مسائل سنک کریں
- ریئل ٹائم کے لیے ویب ہُکس استعمال کریں - پولنگ سے بچیں؛ مسئلہ تبدیلیوں کے لیے ویب ہُکس رجسٹر کریں
- ADF فارمیٹ کا احترام کریں - Jira v3 رچ ٹیکسٹ فیلڈز کے لیے Atlassian Document Format استعمال کرتا ہے
- پروجیکٹ-سے-فہرست میپ کریں - ہر Jira پروجیکٹ کے لیے علیحدہ Brevo فہرستیں بنائیں
- صفحہ بندی کو ہینڈل کریں - مکمل ڈیٹا کے لیے ہمیشہ تمام صفحات کو دہرائیں
سیکیورٹی
- OAuth 2.0 (3LO) - ریفریش ٹوکنز کے ساتھ محفوظ ٹوکن پر مبنی توثیق
- API Token + Basic Auth - HTTPS پر Base64-انکوڈڈ اسناد
- صرف HTTPS - تمام API مواصلات TLS 1.2+ کے ذریعے خفیہ
- اسکوپڈ رسائی - OAuth اسکوپس API رسائی کو مطلوبہ وسائل تک محدود کرتے ہیں
- Atlassian Cloud سیکیورٹی - SOC 2 Type II سرٹیفائیڈ انفراسٹرکچر
- خفیہ کردہ ذخیرہ - اسناد Tajo میں ساکن حالت میں خفیہ ہوتی ہیں