feat: include issue URL in workerComplete notifications for better tracking
This commit is contained in:
@@ -42,6 +42,7 @@ export type NotifyEvent =
|
||||
project: string;
|
||||
groupId: string;
|
||||
issueId: number;
|
||||
issueUrl: string;
|
||||
role: "dev" | "qa";
|
||||
result: "done" | "pass" | "fail" | "refine" | "blocked";
|
||||
summary?: string;
|
||||
@@ -95,6 +96,7 @@ function buildMessage(event: NotifyEvent): string {
|
||||
if (event.nextState) {
|
||||
msg += ` → ${event.nextState}`;
|
||||
}
|
||||
msg += `\n🔗 ${event.issueUrl}`;
|
||||
return msg;
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ export function createWorkFinishTool(api: OpenClawPluginApi) {
|
||||
|
||||
const { provider } = resolveProvider(project);
|
||||
const repoPath = resolveRepoPath(project.repo);
|
||||
const issue = await provider.getIssue(issueId);
|
||||
|
||||
// Execute completion (pipeline service)
|
||||
const completion = await executeCompletion({
|
||||
@@ -71,7 +72,7 @@ export function createWorkFinishTool(api: OpenClawPluginApi) {
|
||||
const pluginConfig = getPluginConfig(api);
|
||||
const notifyConfig = getNotificationConfig(pluginConfig);
|
||||
await notify(
|
||||
{ type: "workerComplete", project: project.name, groupId, issueId, role, result: result as "done" | "pass" | "fail" | "refine" | "blocked", summary, nextState: NEXT_STATE[`${role}:${result}`] },
|
||||
{ type: "workerComplete", project: project.name, groupId, issueId, issueUrl: issue.web_url, role, result: result as "done" | "pass" | "fail" | "refine" | "blocked", summary, nextState: NEXT_STATE[`${role}:${result}`] },
|
||||
{ workspaceDir, config: notifyConfig, groupId, channel: project.channel ?? "telegram" },
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user