Repository navigation
Conversation
Add a bidirectional bridge between git-bug and Azure DevOps Boards work items, authenticated with a Personal Access Token. The REST client is built on net/http with no new dependencies. - import: incremental WIQL query on System.ChangedDate, mapping work items, comments, state, tags and description edits to bug operations, with a final-status reconcile for items created directly in a closed state - export: create and update work items via JSON Patch, replaying comments, status, title and label changes - metadata-based idempotency and export-echo suppression - PAT auth stored through the existing credential keyring - unit tests for the mapping logic and REST client, plus live integration tests gated behind ADO_TEST / ADO_TEST_EXPORT Refs git-bug#1542
timpara
marked this pull request as ready for review
September 2, 2026 13:12
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bidirectional bridge between git-bug and Azure DevOps Boards work items, requested in #1542. Authentication is via Personal Access Token (PAT). The REST client is hand-rolled on
net/httpwith no new dependencies.Per @sudoforge's note on #1542: I will maintain this in-tree until the external plugin interface lands, and I take responsibility for issues related to it.
Opening as a draft for early feedback on the three scoping questions I raised on #1542 (target name, client approach, single vs. split PR).
Changes
New
bridge/ado/package, registered inbridge/bridges.go:ado.go:BridgeImpl, metadata/config constants, PAT client builderclient.go: REST client for WIQL, get/create/update/delete work items, updates (revisions), and commentsconfig.go:Configure()PAT flow (interactive and non-interactive)import.go: incremental WIQL onSystem.ChangedDate, mapping work items, comments, state, tags and description edits to bug operations, with a final-status reconcile for items created directly in a closed stateexport.go: create and update work items via JSON Patch, replaying comments, status, title and label changesmapping.go: pure helpers (WIQL builder, state/tag mapping, identity parsing)One bridge per Azure DevOps project, matching the Jira bridge model. Config keys beyond base-url/organization/project/login are optional:
create-work-item-type(defaultTask),closed-states,open-state-target,closed-state-target.Test plan
go test ./bridge/ado/: 23 unit tests (mapping logic +net/httpclient viahttptest)go vetandgofmtclean;go.mod/go.sumunchangedADO_TEST(read-only) andADO_TEST_EXPORT(writes), matching the github/gitlab bridge convention, so they skip in CI.Known follow-ups
doc/azuredevops_bridge.mdpage once the scoping questions are settled.