Atlassian Integration
The Atlassian integration package provides comprehensive access to Bitbucket, Jira, and Tempo data, enabling you to extract commits, pull requests, deployments, pipelines, issues, worklogs, and more. Perfect for development analytics, project tracking, and synchronizing development data with external systems.
Overview
This integration package connects to Atlassian's suite of tools—Bitbucket (for repository data), Jira (for project management), and Tempo (for time tracking)—providing a unified interface to extract development metrics, track code changes, monitor deployments, and analyze team productivity. It supports incremental syncing with job history tracking to efficiently process only new or updated data.
Key Features
🔄 Incremental Sync
Track sync history to fetch only new or updated data, reducing API calls and processing time.
📊 Multi-Source Data
Access Bitbucket repositories, Jira issues, and Tempo worklogs from a single integration.
⚡ Batch Processing
Configurable batch sizes and request intervals to manage API rate limits effectively.
🎯 Selective Filtering
Target specific workspaces, repositories, or issues to process only relevant data.
🔐 Secure Authentication
Basic Auth for Bitbucket/Jira and Bearer tokens for Tempo API.
🎯 Workflow Integration
Seamlessly integrate development data into analytics pipelines and reporting workflows.
Authentication Setup
Bitbucket & Jira Authentication
Generate App Password
Log in to Bitbucket and navigate to Personal Settings → App Passwords. Create a new app password with appropriate permissions.
Configure Basic Auth
Use your Bitbucket username and the generated app password for Basic Authentication.
Tempo API Authentication
Generate API Token
In Jira, go to Tempo → Settings → API Integration and create a new API token.
Configure Bearer Token
Use the generated token in the Authorization header with Bearer authentication.
Configuration Examples
Bitbucket Configuration
{
"bitbucket": {
"batch_size": 5,
"clientOptions": {
"auth": {
"username": "your-bitbucket-username",
"password": "your-app-password"
}
},
"job_history": {
"workspace/repo-name": "last-commit-hash-or-id"
},
"repositories": ["repo1", "repo2"],
"workspaces": ["workspace1"],
"request_interval_ms": 1000
}
}Tempo Configuration
{
"tempo": {
"baseAuditUrl": "https://api.tempo.io/audit/1",
"baseWorklogsUrl": "https://api.tempo.io/core/3",
"headers": {
"Authorization": "Bearer your-tempo-api-token"
},
"job_history": {
"worklogs_updatedFrom": "2024-01-01"
},
"request_interval_ms": 500
}
}Use Cases
📊 Development Analytics
Extract commits, PRs, and deployments to build development metrics dashboards and KPI tracking.
⏱️ Time Tracking Sync
Synchronize Tempo worklogs to payroll systems or client billing platforms.
🎯 Project Reporting
Combine Jira issues, commits, and deployments for comprehensive project status reports.
🔄 CI/CD Monitoring
Track pipeline executions and deployments for DevOps monitoring and alerting.
Best Practices
Use Job History
Always configure job_history to enable incremental syncing. This drastically reduces API calls and processing time by fetching only new data.
Manage Rate Limits
Set appropriate batch_size (start with 1-5) and request_interval_ms (500-1000ms) to avoid HTTP 429 rate limit errors. Adjust based on your API quotas.
Filter Selectively
Use workspaces and repositories arrays to process only relevant data, reducing processing time and API consumption.
Secure Credentials
Store app passwords and API tokens securely. Rotate credentials regularly and use tokens with minimal required permissions.