Bối cảnh
azuredevops_go đã cover ~95% tính năng Repository so với plugin Python azuredevops. Issue này gom các gap còn lại trước khi deprecate Python plugin.
Phạm vi: Repository — git repos, PRs, commits, accounts (không bao gồm Board/TICKET).
Hiện trạng (đã có ✅)
- Git repos native + external (GitHub, Bitbucket, Git Enterprise)
- PRs + PR commits + PR labels (Python không có)
gitextractor + refdiff trong blueprint
- Accounts collector →
accounts (Python không có)
- Commits qua REST API (
collectApiCommits, default off — dùng gitextractor)
- E2E: repo, pr, pr_commit tests
Cần làm
1. Onboarding & migration
2. Blueprint — gitextractor
3. PR collection (optional improvements)
4. Domain ID & Grafana
Acceptance Criteria
Không nằm trong scope
- Board / work items (issue riêng)
- Pipeline gaps (issue riêng)
Ước lượng
~1 tuần
Bối cảnh
azuredevops_gođã cover ~95% tính năng Repository so với plugin Pythonazuredevops. Issue này gom các gap còn lại trước khi deprecate Python plugin.Phạm vi: Repository — git repos, PRs, commits, accounts (không bao gồm Board/TICKET).
Hiện trạng (đã có ✅)
gitextractor+refdifftrong blueprintaccounts(Python không có)collectApiCommits, default off — dùng gitextractor)Cần làm
1. Onboarding & migration
azuredevops(Python) →azuredevops_go(config-ui/src/routes/onboard/step-1.tsx)project_mapping(domain ID đổi từazuredevops:→azuredevops_go:)2. Blueprint — gitextractor
api/blueprint_v200.goline ~176:extra_tasksluôn clone native repo khi CODE bật)3. PR collection (optional improvements)
.../pullRequests/{id}/threads) — API có sẵn ở Python, chưa dùng cả hai; implement nếu cầnpull_request_commentsdomain4. Domain ID & Grafana
azure-dev-ops.jsonfilterid LIKE 'azure%'matchazuredevops_go:AzuredevopsRepo:...Acceptance Criteria
commits+repo_commitsazuredevops_goKhông nằm trong scope
Ước lượng
~1 tuần