fix: pr +review now posts a journal comment alongside the formal review

The GitLink API has two separate systems for PR feedback:
- POST /pulls/:id/reviews creates a formal review (approve/reject/comment)
  that only appears in the "Reviews" panel
- POST /issues/:issueID/journals creates a comment visible in the main
  PR conversation tab

Previously, `pr +review` only called the reviews API, so the review
content was invisible to the contributor in the main PR conversation.
Now it also posts a journal summary so the review is visible where
contributors expect to see it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
wbtiger 2026-06-02 22:03:04 +08:00
parent e3bb4d2711
commit edf2fc30b8
1 changed files with 14 additions and 0 deletions

View File

@ -328,6 +328,20 @@ func Shortcuts() []*common.Shortcut {
if err != nil {
return err
}
// Also post a journal comment so the review is visible in the PR conversation.
prEnv, journalErr := ctx.CallAPI("GET", fmt.Sprintf("%s/pulls/%s", ctx.RepoPath(), id), nil)
if journalErr == nil {
if issueID, extractErr := extractIssueID(prEnv); extractErr == nil {
statusLabel := map[string]string{
"approved": "approved", "rejected": "rejected", "common": "commented",
}[status]
summary := fmt.Sprintf("## Review: %s\n\n%s", statusLabel, content)
ctx.CallAPI("POST", fmt.Sprintf("/v1/%s/%s/issues/%d/journals", ctx.Owner, ctx.Repo, issueID),
map[string]interface{}{"notes": summary})
}
}
return ctx.Output(env)
},
},