Merge pull request #267 from mvanhorn/fix/167-backlog-assignee-wake
fix(server): wake agent when issue status changes from backlog
This commit is contained in:
@@ -575,6 +575,10 @@ export function issueRoutes(db: Db, storage: StorageService) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const assigneeChanged = assigneeWillChange;
|
const assigneeChanged = assigneeWillChange;
|
||||||
|
const statusChangedFromBacklog =
|
||||||
|
existing.status === "backlog" &&
|
||||||
|
issue.status !== "backlog" &&
|
||||||
|
req.body.status !== undefined;
|
||||||
|
|
||||||
// Merge all wakeups from this update into one enqueue per agent to avoid duplicate runs.
|
// Merge all wakeups from this update into one enqueue per agent to avoid duplicate runs.
|
||||||
void (async () => {
|
void (async () => {
|
||||||
@@ -592,6 +596,18 @@ export function issueRoutes(db: Db, storage: StorageService) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!assigneeChanged && statusChangedFromBacklog && issue.assigneeAgentId) {
|
||||||
|
wakeups.set(issue.assigneeAgentId, {
|
||||||
|
source: "automation",
|
||||||
|
triggerDetail: "system",
|
||||||
|
reason: "issue_status_changed",
|
||||||
|
payload: { issueId: issue.id, mutation: "update" },
|
||||||
|
requestedByActorType: actor.actorType,
|
||||||
|
requestedByActorId: actor.actorId,
|
||||||
|
contextSnapshot: { issueId: issue.id, source: "issue.status_change" },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (commentBody && comment) {
|
if (commentBody && comment) {
|
||||||
let mentionedIds: string[] = [];
|
let mentionedIds: string[] = [];
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user