Repository navigation
Add postil respond parity for GitLab, Bitbucket, and Azure DevOps - #18
Merged
Merged
Conversation
Move GitHub's respond helpers (fetch_issue/post_issue_comment) onto the Forge trait as fetch_thread and post_comment so non-GitHub forges can implement the interactive-bot path. A ThreadKind discriminates issue vs pull for forges that key them on different endpoints; GitHub ignores it (the issues API covers both) and its behavior is unchanged.
Implement fetch_thread/post_comment for the remaining forges and rewrite postil respond to dispatch through the trait for every host, dropping the GitHub-only guard. GitLab covers both issues and MRs (issues/notes and merge_requests/notes). Bitbucket (pullrequests/comments) and Azure DevOps (pullRequests/threads) are scoped to pull requests: their issue-tracker and work-item comment endpoints use a different base/version we cannot verify against a live host, so those paths return a clear error and carry a TODO. Scope stays review-and-answer only with the Postil model footer.
Add wiremock tests covering a GitLab MR mention (reply posted to merge_requests/notes), a GitLab issue mention (grounded on the issue body, reply to issues/notes), a Bitbucket PR mention (pullrequests/comments), and an Azure PR mention (pullRequests/threads), each asserting the model footer. Update ROADMAP to reflect respond parity shipping.
Merged
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.
postil respond was GitHub-only. Lifts fetch_thread/post_comment onto the Forge trait (with a ThreadKind to disambiguate issue vs pull endpoints) and implements the interactive reply for GitLab (issues + MR notes), Bitbucket (PR comments), and Azure DevOps (PR threads), each using the comment endpoint already proven by that forge's review path. GitHub respond is unchanged. Bitbucket issue-tracker and Azure work-item comments are deferred with clear per-forge scope errors and TODOs (their APIs differ from the proven git base). Adds four wiremock e2e respond tests; full suite (68), clippy -D warnings, and fmt all green.