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

1

Generate App Password

Log in to Bitbucket and navigate to Personal Settings → App Passwords. Create a new app password with appropriate permissions.

2

Configure Basic Auth

Use your Bitbucket username and the generated app password for Basic Authentication.

Tempo API Authentication

1

Generate API Token

In Jira, go to Tempo → Settings → API Integration and create a new API token.

2

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.

Flow: Bitbucket → Pull Commits + PRs → Transform → Push to Analytics Database

⏱️ Time Tracking Sync

Synchronize Tempo worklogs to payroll systems or client billing platforms.

Flow: Tempo → Pull Worklogs → Transform → Push to Accounting System

🎯 Project Reporting

Combine Jira issues, commits, and deployments for comprehensive project status reports.

Flow: Jira + Bitbucket → Pull All Data → Aggregate → Generate Reports

🔄 CI/CD Monitoring

Track pipeline executions and deployments for DevOps monitoring and alerting.

Flow: Bitbucket → Pull Pipelines + Deployments → Monitor → Alert on Failures

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.

Resources