Azure DevOps + GitHub
One Pipeline, Two Platforms: Azure DevOps + GitHub Integration
Keep work items, pull requests, and CI/CD pipelines in sync between Azure DevOps and GitHub — so your team ships without the manual busywork.

Why integrate Azure DevOps and GitHub?
Azure DevOps and GitHub are both excellent at what they do, which is exactly the problem. Teams that rely on both end up manually bridging gaps between work item tracking, source control, and release pipelines. It's a common split: Azure DevOps for project management, boards, and pipelines; GitHub for code. Without automation, those two worlds drift apart. tray.ai connects them in real time, so developers stop duplicating status updates, project managers stop chasing down accurate burn-down charts, and the whole team works from the same picture of what's actually happening.
Automate & integrate Azure DevOps & GitHub
Use case
Sync GitHub Pull Requests to Azure DevOps Work Items
When a developer opens, updates, or merges a pull request in GitHub, tray.ai automatically reflects that status change on the linked Azure DevOps work item. Teams no longer need to manually move work items across Azure Boards columns — the board updates itself based on real code activity.
Use case
Automatically Create GitHub Issues from Azure DevOps Bugs
When a bug is logged in Azure DevOps — from a test run, customer report, or internal triage — tray.ai creates a corresponding GitHub Issue and links it back to the source work item. Engineers working primarily in GitHub won't miss defects raised upstream in Azure DevOps.
Use case
Trigger Azure Pipelines from GitHub Repository Events
When code is pushed to a specific branch or a pull request is merged into main in GitHub, tray.ai can trigger Azure Pipelines builds or release deployments automatically. Teams with hybrid CI/CD setups get Azure's enterprise pipeline features without abandoning GitHub as their source of truth.
Use case
Mirror Azure DevOps Sprint Updates to GitHub Project Boards
As sprints progress in Azure DevOps — stories being added, reassigned, or completed — tray.ai mirrors those updates to a corresponding GitHub Project board. Teams that plan in Azure DevOps but collaborate in GitHub stay in sync without duplicating effort across both tools.
Use case
Sync Repository Creation and Branch Policies Across Platforms
When a new repository is created in GitHub, tray.ai automatically registers it in the corresponding Azure DevOps project and applies standardized branch policies, so governance and compliance requirements are consistently enforced across all repositories.
Use case
Escalate Failed Azure Pipeline Runs as GitHub Issues
When an Azure DevOps pipeline build fails, tray.ai opens a GitHub Issue tagged with relevant metadata — build ID, failing stage, error logs — and assigns it to the last committer. No one needs to monitor the Azure portal for CI failures to surface where developers are already working.
Use case
Aggregate GitHub Commit Activity into Azure DevOps Dashboards
tray.ai pulls GitHub commit and PR merge data on a scheduled basis and pushes it into Azure DevOps analytics or custom dashboard widgets, giving engineering leaders a unified view of team velocity, code throughput, and deployment frequency without logging into multiple systems.
Get started with Azure DevOps & GitHub integration today
Azure DevOps & GitHub Challenges
What challenges are there when working with Azure DevOps & GitHub and how will using Tray.ai help?
Challenge
Preventing Infinite Loops in Bidirectional Sync
When both Azure DevOps and GitHub are configured to sync updates to each other, a change in one system triggers an update in the other, which can fire another webhook back — creating an infinite loop that pollutes both platforms with duplicate data.
How Tray.ai Can Help:
tray.ai's workflow logic lets teams build loop-prevention guards, such as checking whether an update was system-generated before triggering downstream actions. Conditional branching and custom field flags can mark records as 'synced' so automated updates don't re-trigger the integration workflow.
Challenge
Mapping Mismatched Work Item and Issue Schemas
Azure DevOps work items have a highly customizable schema — story points, iteration paths, area paths, acceptance criteria — that doesn't map neatly to GitHub Issues, which use a simpler title-label-body structure. Keeping these mappings by hand is tedious and breaks easily.
How Tray.ai Can Help:
tray.ai's data transformation tools let teams define precise field mappings with custom logic, including conditional formatting, default value injection, and multi-field concatenation. When schemas change, mappings can be updated centrally in tray.ai without touching individual workflows.
Challenge
Authenticating Securely Across Both Enterprise Platforms
Azure DevOps often operates behind enterprise SSO, IP allowlists, and PAT rotation policies, while GitHub may use OAuth apps, GitHub Apps, or fine-grained PATs. Keeping credentials valid and secure across both platforms is an ongoing operational headache.
How Tray.ai Can Help:
tray.ai centralizes credential management with encrypted secret storage and supports multiple authentication methods for both Azure DevOps (PAT, OAuth) and GitHub (OAuth, GitHub App tokens). When tokens expire or rotate, they can be updated in one place without modifying individual workflows.
Challenge
Handling High-Volume Webhook Events Without Data Loss
Large engineering organizations can generate hundreds of GitHub events per hour — commits, PR comments, status checks — and Azure DevOps pipelines can fire dozens of webhooks per build. Without proper queue management, bursts of events can overwhelm integration workflows and cause missed updates.
How Tray.ai Can Help:
tray.ai's event-driven architecture handles high-throughput webhook ingestion with automatic retry logic, event queuing, and error alerting. Workflows can batch-process events, filter out noise, and prioritize high-priority signals so critical updates aren't dropped.
Challenge
Tracing End-to-End Audit Trails Across Both Systems
Compliance-driven teams need a complete audit trail showing how a requirement in Azure DevOps moved through GitHub code review, passed Azure pipelines, and was deployed. Piecing that together manually from two separate activity logs is slow and usually incomplete.
How Tray.ai Can Help:
tray.ai can append structured comments and timestamps to work items and issues at every stage of the integration workflow, building a chronological audit trail that links the Azure DevOps work item ID, GitHub PR URL, pipeline run ID, and deployment timestamp in a single traceable chain.
Start using our pre-built Azure DevOps & GitHub templates today
Start from scratch or use one of our pre-built Azure DevOps & GitHub templates to quickly solve your most common use cases.
Azure DevOps & GitHub Templates
Find pre-built Azure DevOps & GitHub solutions for common use cases
Template
GitHub PR Merged → Update Azure DevOps Work Item Status
This template listens for pull request merge events in GitHub and automatically transitions the linked Azure DevOps work item to 'Resolved' or 'Done', updates the assignee, adds a comment with the PR URL, and logs the merge timestamp.
Steps:
- Trigger: GitHub webhook fires when a pull request is merged into the target branch
- Lookup: tray.ai parses the PR description or branch name to extract the Azure DevOps work item ID
- Action: Azure DevOps work item state is updated to 'Done' with a comment linking back to the merged PR
Connectors Used: GitHub, Azure DevOps
Template
Azure DevOps Bug Created → Open GitHub Issue
When a new bug work item is created in Azure DevOps, this template automatically creates a matching GitHub Issue in the appropriate repository, populated with the bug title, description, severity label, and a back-link to the Azure DevOps item.
Steps:
- Trigger: Azure DevOps webhook fires when a new work item of type 'Bug' is created
- Transform: tray.ai maps Azure DevOps fields (title, description, priority) to GitHub Issue fields and labels
- Action: GitHub Issue is created and the resulting Issue URL is written back to the Azure DevOps work item as a hyperlink
Connectors Used: Azure DevOps, GitHub
Template
GitHub Release Published → Create Azure DevOps Release Note
When a new release is published in GitHub, this template captures the release notes and tag version, then creates a corresponding entry in Azure DevOps — as a wiki page, work item, or release artifact note — so stakeholders tracking deployments in Azure DevOps stay informed.
Steps:
- Trigger: GitHub webhook fires when a new release or tag is published
- Transform: tray.ai formats the release body, version tag, and publish date into Azure DevOps-compatible content
- Action: Azure DevOps wiki page or release artifact record is created with the formatted release notes
Connectors Used: GitHub, Azure DevOps
Template
Nightly GitHub Commit Sync to Azure DevOps Analytics
On a nightly schedule, this template queries the GitHub API for commits made during the day across specified repositories, then pushes aggregated data — author, file count, commit message, timestamp — into an Azure DevOps custom dashboard or external data store for reporting.
Steps:
- Trigger: tray.ai scheduler fires at a configured nightly time
- Fetch: GitHub API is queried for all commits across target repositories within the past 24 hours
- Action: Aggregated commit data is posted to Azure DevOps analytics endpoint or appended to a tracking work item
Connectors Used: GitHub, Azure DevOps
Template
Azure Pipeline Failure → GitHub Issue + Slack Alert
When an Azure DevOps pipeline build fails, this template opens a GitHub Issue with structured failure details and sends a Slack notification to the on-call engineering channel, so the right people are notified immediately and a trackable record exists from the start.
Steps:
- Trigger: Azure DevOps webhook fires on a failed pipeline run
- Action: GitHub Issue is created with build ID, failing stage, error summary, and last committer assigned
- Notify: Slack message is sent to the engineering channel with a link to the GitHub Issue and Azure pipeline run
Connectors Used: Azure DevOps, GitHub
Template
New GitHub Repository → Provision Azure DevOps Project Resources
When a new repository is created in GitHub, this template creates a linked Azure DevOps project or team area, sets up initial board columns, and applies standard branch policies — so every new repo starts with consistent governance from day one.
Steps:
- Trigger: GitHub webhook fires when a new repository is created in the organization
- Action: tray.ai creates a corresponding Azure DevOps area path and team under the designated project
- Configure: Standard work item types, branch policies, and pipeline templates are applied to the new project area
Connectors Used: GitHub, Azure DevOps