DevOps Connectors
DevOps connectors extract project management and software development data from tools your engineering teams already use. This data enables analytics on delivery velocity, issue cycle times, deployment frequency, and other engineering metrics.
All DevOps connectors follow the same 5-step configuration flow. This page covers the authentication and configuration specific to each source.
Jira
Authentication
Jira uses an API token for authentication:
- Go to Atlassian API Tokens and generate a new token.
- In the Rime connector setup, enter your Atlassian email address and the API token.
- Enter your Jira instance URL (e.g.,
https://yourcompany.atlassian.net).
The API token inherits the permissions of the Atlassian account that created it. The user must have read access to the projects you want to extract.
Configuration
| Option | Description |
|---|---|
| Instance URL | Your Jira Cloud URL (e.g., https://yourcompany.atlassian.net) |
| Atlassian account email address | |
| API token | API token generated from your Atlassian account |
| Project selection | Choose which Jira projects to sync. You can select individual projects or sync all accessible projects |
Available data
| Data type | Description |
|---|---|
| Issues | All issue types (stories, tasks, bugs, epics, sub-tasks) with standard and custom fields |
| Worklogs | Time logged against issues |
| Comments | Issue comments with author and timestamp |
| Changelogs | Field change history (status transitions, assignee changes, priority changes) |
| Sprints | Sprint definitions with start/end dates and goals |
| Boards | Board configurations and column mappings |
| Projects | Project metadata (name, key, lead, category) |
Custom fields
Jira custom fields are extracted automatically. Each custom field becomes a column in the issues table, named using the field’s display name (sanitised for Snowflake). Custom field values with complex types (multi-select, cascading select) are stored as JSON strings.
Sync considerations
- Jira Cloud API is rate-limited. Rime uses pagination with a default page size of 100 issues and respects
429 Too Many Requestsresponses by backing off automatically. - Changelogs can be large for long-lived issues. The first sync fetches the complete changelog; subsequent syncs fetch only changes since the last sync.
- Jira Server and Data Center are not supported. Only Jira Cloud instances are compatible.
GitHub
Authentication
GitHub supports two authentication methods:
Personal access token (classic):
- Go to GitHub Settings > Developer settings > Personal access tokens.
- Generate a new token with
reposcope (for private repositories) orpublic_reposcope (for public repositories only). - Enter the token in the Rime connector setup.
GitHub App (recommended for organisations):
- Create a GitHub App in your organisation settings.
- Grant read permissions for the data types you want to extract.
- Install the app on the repositories you want to sync.
- Enter the App ID, private key, and installation ID in Rime.
GitHub App authentication is preferred because it provides granular repository-level permissions and does not depend on an individual user’s account.
Configuration
| Option | Description |
|---|---|
| Authentication method | Personal access token or GitHub App |
| Repository selection | Choose which repositories to sync. Rime discovers all repositories accessible to the authenticated token or app installation |
Available data
| Data type | Description |
|---|---|
| Issues | Issue records with labels, assignees, milestones, and comments |
| Pull requests | PR records with review status, merge details, and review comments |
| Commits | Commit history with author, message, timestamp, and file changes |
| Releases | Release records with tags and release notes |
| Actions workflows | Workflow run history with status, duration, and trigger events |
| Repository metadata | Repository settings, languages, topics, and contributor statistics |
Sync considerations
- GitHub API rate limits: 5,000 requests per hour for authenticated requests. Rime tracks remaining quota and pauses extraction if the limit is approached, resuming when the window resets.
- Commit history can be very large for repositories with long histories. The first sync extracts the full history; subsequent syncs fetch only new commits since the last sync.
- File change diffs are not extracted by default due to their size. Enable Include diffs in the connector settings if you need them.
GitLab
Authentication
- In GitLab, go to Settings > Access Tokens (for personal tokens) or Group/Project Settings > Access Tokens (for scoped tokens).
- Create a token with
read_apiscope. - Enter the token and your GitLab instance URL in the Rime connector setup.
Both GitLab.com and self-managed GitLab instances are supported.
Configuration
| Option | Description |
|---|---|
| Instance URL | GitLab instance URL (default: https://gitlab.com). For self-managed instances, enter your custom URL |
| Access token | Personal, project, or group access token with read_api scope |
| Project selection | Choose which projects to sync |
Available data
| Data type | Description |
|---|---|
| Issues | Issue records with labels, assignees, and weights |
| Merge requests | MR records with review approvals, merge status, and comments |
| Commits | Commit history with author, message, and timestamp |
| Pipelines | CI/CD pipeline runs with stages, jobs, and durations |
| Releases | Release records with tags and evidence |
| Milestones | Milestone progress with due dates and issue counts |
| Members | Project and group membership |
Sync considerations
- GitLab.com has an API rate limit of 2,000 requests per minute. Self-managed instances may have different limits depending on configuration.
- For self-managed GitLab, ensure Rime’s IP addresses can reach your GitLab server. The connector uses HTTPS on port 443 by default.
- GitLab’s API returns timestamps in UTC. Rime preserves these timestamps without conversion.
Azure DevOps
Authentication
- In Azure DevOps, go to User Settings > Personal Access Tokens.
- Create a new token scoped to the organisation you want to connect.
- Grant read access to the data types you need (Work Items, Code, Build, Release).
- Enter the PAT, organisation name, and project name in the Rime connector setup.
Configuration
| Option | Description |
|---|---|
| Organisation | Azure DevOps organisation name (the URL segment after dev.azure.com/) |
| Project | Project name within the organisation |
| Personal access token | PAT with appropriate read scopes |
Available data
| Data type | Description |
|---|---|
| Work items | All work item types (user stories, tasks, bugs, features, epics) with custom fields |
| Iterations | Sprint/iteration definitions with date ranges |
| Boards | Board configurations and column definitions |
| Pipelines | Build and release pipeline definitions |
| Pipeline runs | Pipeline execution history with stages and task results |
| Repositories | Git repository metadata |
| Pull requests | PR records with reviewers, comments, and merge status |
| Commits | Commit history from Azure Repos |
Sync considerations
- Azure DevOps has no published rate limit for the REST API but throttles aggressively under heavy load. Rime uses exponential backoff with retry on
429and503responses. - Work item history (field revisions) is extracted as a separate table, linked to the parent work item by ID.
- If your organisation uses on-premises Azure DevOps Server (formerly TFS), Rime requires HTTPS access to the server from its network. VPN or private link configurations may be needed.
Next steps
- Review Schema Discovery to understand how DevOps data maps to Snowflake tables
- Set up a sync schedule for regular extraction
- Build DORA metrics dashboards using the extracted DevOps data