發佈 jsc-gitea 0.1.0:新增 pr-status 與 pr-comments #16

Merged
admin merged 3 commits from develop into master 2026-08-25 04:12:14 +00:00
Member

變更摘要

新增兩個 PR 查詢子指令,供 jsc-sdlc:implement 在開下一個工作包之前確認上一個 PR 的狀態與留言。

子指令 輸出
gitea.sh pr-status <owner>/<repo> <index> 單行 {state} {merged} {mergeable}
gitea.sh pr-comments <owner>/<repo> <index> 每行 {時間}<TAB>{作者}<TAB>{類型}<TAB>{內容},依時間排序

pr-comments 讀三個來源,缺一不可:

  1. issue 留言(/issues/{n}/comments)
  2. 審查本體的評語(/pulls/{n}/reviews)
  3. 審查內逐行的程式碼留言(/pulls/{n}/reviews/{id}/comments)

只讀第一個會漏掉真正的審查意見,而那正是需要修正的部分。

一個實測發現

Gitea 的 PR comments 計數會把沒有文字的審查算進去。實測 plugins/sdlc#8 顯示 comments=2,但 issue 留言是空陣列——那兩筆是沒有 body 的 APPROVED 審查。

因此 pr-comments 改為:沒有評語的審查也照印,標成「(無評語)」。APPROVED 代表可以合併、REQUEST_CHANGES 代表被要求修改,兩者都是呼叫端要據以決策的事實,過濾掉會看不見 PR 真正的狀態。

順帶補上的文件

wiki-url 上一次只加了程式碼,用法註解與 README 都漏了,這次一併補齊。tea token 的解析順序說明也更新為「url 與 GITEA_HOST 同主機的登入優先」。

驗證

兩個子指令都在真實 PR 上實測;sh -n 與 STE100 lint 通過。

## 變更摘要 新增兩個 PR 查詢子指令,供 `jsc-sdlc:implement` 在開下一個工作包之前確認上一個 PR 的狀態與留言。 | 子指令 | 輸出 | | --- | --- | | `gitea.sh pr-status <owner>/<repo> <index>` | 單行 `{state} {merged} {mergeable}` | | `gitea.sh pr-comments <owner>/<repo> <index>` | 每行 `{時間}<TAB>{作者}<TAB>{類型}<TAB>{內容}`,依時間排序 | `pr-comments` 讀三個來源,缺一不可: 1. issue 留言(`/issues/{n}/comments`) 2. 審查本體的評語(`/pulls/{n}/reviews`) 3. 審查內逐行的程式碼留言(`/pulls/{n}/reviews/{id}/comments`) 只讀第一個會漏掉真正的審查意見,而那正是需要修正的部分。 ## 一個實測發現 Gitea 的 PR `comments` 計數會把**沒有文字的審查**算進去。實測 `plugins/sdlc#8` 顯示 `comments=2`,但 issue 留言是空陣列——那兩筆是沒有 body 的 `APPROVED` 審查。 因此 `pr-comments` 改為:**沒有評語的審查也照印**,標成「(無評語)」。`APPROVED` 代表可以合併、`REQUEST_CHANGES` 代表被要求修改,兩者都是呼叫端要據以決策的事實,過濾掉會看不見 PR 真正的狀態。 ## 順帶補上的文件 `wiki-url` 上一次只加了程式碼,用法註解與 README 都漏了,這次一併補齊。tea token 的解析順序說明也更新為「url 與 GITEA_HOST 同主機的登入優先」。 ## 驗證 兩個子指令都在真實 PR 上實測;`sh -n` 與 STE100 lint 通過。
jiantw83 added 3 commits 2026-08-25 04:08:53 +00:00
admin approved these changes 2026-08-25 04:12:10 +00:00
admin merged commit 861f1a0ed2 into master 2026-08-25 04:12:14 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Reference: plugins/gitea#16