Step 4 - Create config.yml
config.yml has one top-level block per system: hivel: (always required), then one block per source you're syncing, jira:, github:, gitlab:, bitbucket:, azure:, and claudeotel: if you're tracking Claude Code usage. Source blocks are lists, so you can combine multiple instances of the same tool. The examples below show each block on its own, then a combined example at the end. See Configuration Reference for the full key-by-key reference.
Minimal - Jira only
hivel:
api_token: ${HIVEL_API_TOKEN}
jira:
- instance_slug: jira
url: https://your-org.atlassian.net
email: ${JIRA_EMAIL}
token: ${JIRA_TOKEN}
earliest_issue_date: "2025-01-01"Minimal - GitHub only
hivel:
api_token: ${HIVEL_API_TOKEN}
github:
- instance_slug: github-main
token: ${GITHUB_TOKEN}
earliest_data_date: "2025-01-01"
include_orgs:
- your-github-orgMinimal - GitLab only
Minimal - Bitbucket only
How to create a bitbucket token?
Minimal - Azure DevOps only
How to create an azure devops token?
Azure DevOps Server (on-prem/TFS) instead of Azure DevOps Services (cloud):
Minimal - Claudeotel
How to create a claude enterprise API key?
Combined - Jira + GitHub
Multiple providers in one config are supported - the agent syncs all configured providers in parallel.
Note: When configuring multiple instances of the same tool (for example, two separate Jira deployments, or GitHub Cloud alongside GitHub Enterprise Server), give each one a distinct instance_slug so the agent and Hivel platform can tell them apart. A simple numbered suffix works well - e.g. jira-1 and jira-2 - though any unique, descriptive name is fine too (e.g. github-cloud and github-onprem).
Last updated