✨ feat(vscode): 审查通过写入工单状态并在卡片上区分
This commit is contained in:
1 parent
ac1b7ed641
commit
177e75910e
21 files changed
+203
-10
No files matched your search
@@ -1158,8 +1158,9 @@ class WebhookCoordinator {
|
||||
// Per-issue override takes precedence over the global setting.
|
||||
let effectiveAutoReview = getSettings(this.ctx).autoReview
|
||||
let autoReviewSource: 'issue' | 'global' = 'global'
|
||||
let stateJson: Record<string, unknown> | undefined
|
||||
try {
|
||||
const stateJson = await readStateJsonComment({
|
||||
stateJson = await readStateJsonComment({
|
||||
host: ctx.host,
|
||||
token: ctx.token,
|
||||
owner: ctx.owner,
|
||||
@@ -1180,6 +1181,34 @@ class WebhookCoordinator {
|
||||
details: message,
|
||||
})
|
||||
}
|
||||
// 新提交让上一次「已通过」作废。已经是 false 或没写过就不再发一条状态评论。
|
||||
// 读失败时不知道旧值,也清一次,避免卡片继续挂着已通过。
|
||||
if (stateJson === undefined || stateJson.reviewPassed === true) {
|
||||
try {
|
||||
await mergeStateJsonComment({
|
||||
host: ctx.host,
|
||||
token: ctx.token,
|
||||
owner: ctx.owner,
|
||||
repo: ctx.repo,
|
||||
issueNumber: event.issueNumber,
|
||||
extra: { reviewPassed: false },
|
||||
})
|
||||
this.activePanel?.postMessage({
|
||||
type: 'issue/patch',
|
||||
issueNumber: event.issueNumber,
|
||||
patch: { reviewPassed: false },
|
||||
})
|
||||
}
|
||||
catch (err) {
|
||||
const message = err instanceof Error ? err.message : String(err)
|
||||
logger.add({
|
||||
level: 'warn',
|
||||
source: 'webhook',
|
||||
message: `新提交未能清掉审查通过 #${event.issueNumber}`,
|
||||
details: message,
|
||||
})
|
||||
}
|
||||
}
|
||||
if (!effectiveAutoReview) {
|
||||
logger.add({
|
||||
level: 'info',
|
||||
|
||||
Reference in new issue
Block a user