Add Azure DevOps Services support to respond-to-pr-comments#253
Closed
Add Azure DevOps Services support to respond-to-pr-comments#253
Conversation
Extends the respond-to-pr-comments template, skill, and format to
handle Azure DevOps Services PRs alongside GitHub. Platform is
auto-detected from the PR URL (with git-remote fallback); the
workflow shape is shared and only API recipes branch per platform.
- Auto-detect platform from PR URL or git remote (handles SSH and
legacy visualstudio.com hosts); prompt on ambiguity, do not guess.
- ADO auth uses 'az login' + 'az rest --resource <ADO GUID>' on
every call; no Personal Access Token path.
- Preserve each platform's native status vocabulary in output (no
cross-platform normalization). ADO uses 'fixed' (not 'resolved')
per the CommentThreadStatus REST enum.
- ADO reply payload uses content + parentCommentId + commentType
('text'); always set parentCommentId, including for PR-wide threads.
- Filter ADO system threads (commentType 'system' or system
CodeReviewThreadType properties); flag, do not auto-skip, threads
with no text comments.
- Conservative outdated detection: prefer ADO iteration/items API,
fall back to local working tree only when HEAD matches the
iteration's source-branch tip; otherwise mark unverified.
- GitHub recipe paginates both reviewThreads and inner comments via
follow-up cursored queries.
- ADO Server / on-prem / TFS / custom hostnames are out of scope —
stop with a clear message.
- Update format file with per-platform status tables and add
byDesign to the closed-state action summary.
- Update manifest description to mention ADO Services.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Extends the respond-to-pr-comments workflow/template ecosystem to support Azure DevOps Services PRs alongside GitHub by adding platform detection, ADO-specific API recipes (auth via az rest), and platform-native status vocabulary throughout.
Changes:
- Added a new “detect platform + resolve coordinates” phase and branched gather/apply steps for GitHub vs Azure DevOps Services.
- Updated the shared output format to use platform-native thread status vocabulary (GitHub
pending/outdated/resolved; ADOactive/pending/fixed/...+ “potentially outdated”). - Updated the skill doc and manifest description to reflect the new ADO Services support.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| templates/respond-to-pr-comments.md | Adds platform detection and ADO Services branches for gather/apply/status update workflows. |
| .github/skills/respond-to-pr-comments/SKILL.md | Mirrors the template with compact GitHub vs ADO recipes and constraints. |
| formats/pr-comment-responses.md | Generalizes the reporting format and status tables for GitHub vs ADO. |
| manifest.yaml | Updates the template description to mention ADO Services and platform autodetection. |
- ADO reply POST switched to temp-file pattern (--body @reply.json) to handle apostrophes/newlines/backslashes in real reply text; mirrors the GitHub recipe. - pr_reference param doc clarified: URL auto-detect with git-remote fallback and ambiguity prompt (covers #42 / !123 inputs). - All shell command fences in SKILL labeled bash for clarity. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Collaborator
Author
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.
Extends the
respond-to-pr-commentstemplate, skill, and format to handle Azure DevOps Services pull requests alongside GitHub. The workflow shape is shared and only the API recipes branch per platform; users do not need to pass a new parameter or pick a platform.What's new
github.comvsdev.azure.com/*.visualstudio.com), with fallback togit remote -v(handles SSH remotes includinggit@ssh.dev.azure.com:v3/...and{org}@vs-ssh.visualstudio.com:v3/...). Prompts on ambiguity — does not guess.az login+az rest --resource <ADO GUID>on every call. No Personal Access Token path.fixed(notresolved) per the officialCommentThreadStatusREST enum.content+parentCommentId+commentType: "text".parentCommentIdis always set, including for PR-wide threads (reply to the latest text comment).commentType: "system"or systemCodeReviewThreadTypeproperties); threads with no text comments are flagged for the user, not auto-skipped.HEADmatches the iteration's source-branch tip; otherwise mark "unknown / not verified" and ask. PR-wide threads (nullthreadContext) skip outdated detection.reviewThreadsand innercommentsvia follow-up cursored queries.Files changed
templates/respond-to-pr-comments.md— added Phase 1 platform detection and per-platform branches in Phase 2 (gather) and Phase 5 (apply); ADO edge cases in Phase 6; expanded Quality Checklist..github/skills/respond-to-pr-comments/SKILL.md— mirrors the template with compact per-platform recipes side-by-side.formats/pr-comment-responses.md— generalized status tables and the Action Summary to use platform-native vocabulary.manifest.yaml— updated entry description to mention ADO Services.Validation
python tests/validate-manifest.pypasses (manifest ↔ template protocol sync unchanged).CommentThreadStatus, threads/comments endpoints, payload field names).