Repository navigation
docs: notify people, groups and Slack channels about scheduled task runs (CUB-5670) - #12266
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
|
Claude finished @mngr's task in 1m 21s —— View job Small fixes needed: 1 medium, 2 low. One example contradicts the page, and the API reference won't show the new Review details
FindingsMedium: Low: Low: the generated API reference is still on the old model (not inline). Checked and fine
Review threadsThe listing returned 0 of my own threads, so there was nothing to resolve or re-affirm. Both inline findings were posted as new threads. |
|
Claude finished @mngr's task in 1m 11s —— View job Review: no blockers. Found 1 medium and 3 low issues (all in Details
Findings (posted inline)
Checked, no issues
Not verifiedI couldn't check the labels, caps (1,000 / 200 / 50) or recipient rules against the code: it lives in Review threadsThe thread listing returned 0 of my own threads, so I resolved none and re-affirmed none. |
|
Claude finished @mngr's task in 1m 25s —— View job Review of PR #12266: 2 medium, 1 low. The docs match the code the PR description cites. The issues are that the page contradicts itself in one place and that the linked API reference is out of date. Details
FindingsMedium
Low (not posted inline)
Checked and fine
Review threadsThe listing returned 0 of my own threads: no prior threads, so none were resolved or re-affirmed. |
|
Claude finished @mngr's task in 1m 4s —— View job Review: 0 high, 1 medium, 2 low. Details
Medium
Low (not posted inline)
Checked, no issue
Review threadsThe listing returned 0 of my own threads, so I resolved none and re-affirmed none. |
|
Claude finished @mngr's task in 44s —— View job No issues found: 0 high, 0 medium, 0 low. Review details
What I checked
Review threadsNo prior threads: the listing returned 0 of my own unresolved threads. I resolved 0 and re-affirmed 0. |
|
Claude finished @mngr's task in 44s —— View job No issues found in this round: 0 high, 0 medium, 0 low. Review details
ScopeThis push adds one commit, I re-read both changed files in full, not just the diff:
I couldn't check the agent's channel behaviour against Review threadsThe listing returned 0 unresolved threads of mine, so there was nothing to resolve or re-affirm. |
… the run thread contradicts (CUB-5670)
…tification (CUB-5670)
…eps disabled (CUB-5670)
|
Claude finished @mngr's task in 49s —— View job No new findings: 0 high, 0 medium, 0 low. Ready to merge once its dependencies have merged. Review details
ScopeThis round reviewed the docs-only diff in Checks
Review threadsThe listing returned 0 of my own unresolved threads, so this round resolved none and re-affirmed none. |
Depends on cubedevinc/cubejs-enterprise#16532 (and its base cubedevinc/cubejs-enterprise#16531): do not merge before them. Also merge it together with, or after, the cube-js/cube API reference sync for the first
@cube-dev/platform-clientrelease that carriesnotification(cubedevinc/cubejs-enterprise#16532 adds the field and rewrites theconditiondescriptions inpackages/platform-client/src/schema.ts): until that sync,docs-mintlify/api-reference/api.yamlhas nonotificationfield and still says the creator gets an inbox row only withnotificationEnabled: true, which this page's Platform API section contradicts.Summary
A scheduled task now notifies chosen people, user groups and Slack channels, by Inbox, Email and Slack together, instead of only its creator in the inbox. Rebased on master after #12283 (CUB-5559: list columns, Next run, Last check), #12307 (the Manage all scheduled tasks permission), #12309 (the task's Agent) and #12368 (data-model access in scheduled runs, a section this PR does not touch); their merged wording is the base. This PR updates:
docs-mintlify/docs/explore-analyze/scheduled-tasks.mdxnotification(a request without that field is saved, as before).notificationfield.notificationfield and its caps;notificationEnableddeprecated.docs-mintlify/docs/inbox.mdx: the Scheduled task run row's "Who gets it", the figures shown only in the creator's notification, email/Slack from a task, and the anchor rename.Verified against the code (feature branch HEAD
e22eb3290b)packages/console-ui/src/i18n/locales/en-US/scheduledTasks.json:notifyLabel"Notify",notifyRecipientsLabel"People and groups",notifyChannelsLabel"Send by",notifyRecipientNotShared"Not shared: won't be notified",notifySlackChannelsDescription"Slack posts once to each channel. Inbox and Email go to the people above.",summary.notifiesNobody"Nobody is notified",detail.notifies"Notifies".useNotificationSummary(task-notification.ts;ScheduledTaskListCells.tsx,ScheduledTaskInstructions.tsx); Inbox drops out of it when the workspace's inbox is off (deliveredNotification). The hand-off walk on staging-mngr-7 read "Inbox, Email · 4 people, 1 group" and "Inbox · 3 people, 1 group".taskOutcome(check, notifiesAnyone)).ScheduledTaskService.assertConditionNotifiesholds a save only when it sendsnotification(sendsNotification) or the agent's update asks for it; the agent's create tool always sendsnotification(CreateScheduledTaskToolFactory.ts:112).AiEngineerController.notifyScheduledTaskRecipientsexpands groups at send time, de-duplicates, keeps only the creator on a failed run, and skips any non-creator for whomAiEngineerService.canViewScheduledTask(a ScheduledTask read grant or admin, plus deployment read) is false; Inbox is sent only with the tenant'suseNotificationInboxon.NOTIFICATION_CAPS = { userIds: 1000, groupIds: 200, slackChannels: 50 }(packages/ai-engineer/src/dto/scheduled-task.ts:290).ScheduledTaskService.grantRecipientSharesruns on every create and update (the dialog, the agent'screateTask/updateTasktools and the REST controller all call the service), sharing only recipients the save ADDS and only if not already shared, so a share revoked in the Share dialog is not restored by a later save. The "Not shared" mark for a user isrecipientUserIdsWithoutAccess, console-server'sfindUsersWithoutScheduledTaskAccess=canViewScheduledTask(task read grant or admin, AND deployment read), so a shared user who cannot read the deployment is marked too (PLAN AC-7d); a group is marked when it has no group grant and no organisation grant.NOTIFY_ARGUMENTS_DESCRIPTION(packages/ai-engineer/src/services/langgraph/tools/scheduled-task-recipients.ts:29, "for the whole task") and the update tool'schannelsChangednote (channelChangeNote, same file, "Channels are shared by everyone this task notifies … Tell the user."). The r3 hand-off walk on staging-mngr-7 asked the agent to also notify a second person in the inbox on an Email-only task: the stored channels became Inbox + Email for both, and the agent's reply said so.7e097cebb6Slack picker error handling,1257d35839a failed task email answers 503) change nothing the pages describe.dialog.submitCreate"Create" on a new task anddialog.submitUpdate"Update" when editing (ScheduledTaskDialog.tsx:203); the r4 hand-off walk on staging-mngr-7 read "Create disabled" with the red line and Create's tooltipconditionNeedsNotification. The page used to call it Save; it now names both.8904d17d1ekeeps the dialog's 12 px field gap around the condition switch and the Notify section, which Igor flagged after the hand-off; the Slack OAuth listener refactor773666a9d9/baed62646a;50546100b7drops a removed kit prop;e149367c86a failed task email answers 503) change no behaviour the pages describe. The hand-off, re-posted for the spacing fix, says nothing else changed.notificationnotifies nobody.Feature PR: https://github.com/cubedevinc/cubejs-enterprise/pull/16532
Linear: https://linear.app/cube-d3/issue/CUB-5670/notify-other-people-about-scheduled-task-runs