Skip to content

feat(automations): add config list page with API wiring and mock data - #128707

Open
aliu39 wants to merge 29 commits into
masterfrom
aliu/auto-ui0.2
Open

aliu39 wants to merge 29 commits into
masterfrom
aliu/auto-ui0.2

Conversation

@aliu39

@aliu39 aliu39 commented Oct 23, 2026 •

Copy link
Copy Markdown
Member
Screenshot 2026-10-26 at 12 44 05 AM

Splits the Seer Automations page into two tabs and starts the automation configuration list.

  • Tabs: the page now has Automations and Runs tabs. The existing run history moves to the Runs tab at /seer/automations/runs/. The Automations tab, at /seer/automations/, is the default.
  • Automation cards: the Automations tab shows a responsive grid of cards, one per saved automation config from the workflow configs API. Each card shows the automation's name, description, when it next runs (or what triggers it), estimated usage, and the projects it covers. The number of cards per row adjusts to the page width.
  • Mock data: two placeholder cards (Agentic Triage and Breached Metrics) are listed first, to show the intended design while the API is still filling in. Usage estimates and trigger labels are only shown on the placeholders for now.
  • Not yet clickable: cards are visual only until each automation has its own page.
  • Follow-up: error, empty, and loading states for the config list will come in a follow-up PR, once there's real config data to work with. For now, a failed or in-progress request just shows the placeholder cards.

Behind the existing seer-automations flag.

Split /seer/automations/ into a shared page shell with Automations and Runs tabs. The existing run list moves to the Runs tab at /seer/automations/runs/, and the Automations tab at /seer/automations/ is blank for now.
Test the Automations page title, tab links, and selected tab, and that /seer/automations/runs/ matches the runs route.
Show a responsive grid of linked cards on the Automations tab, with placeholder titles and descriptions for now. Also add the workflow configs response type and query that the cards will use.
…page

Set Tabs to size sm and render the active tab label bold, keeping the tab's selected color.
Build Automations tab cards from the workflow configs response, after two placeholder cards. Cards show a title, description, next-run or trigger tag, usage estimates, and the projects they cover. Add TODOs to extend run types and STRATEGY_META with the remaining strategies.
@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Oct 23, 2026
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

📊 Type Coverage Diff

Metric Before After Delta
Coverage 95.78% 95.78% ±0%
Typed 141,473 141,511 🟢 +38
Untyped 6,227 6,228 🔴 +1
🔍 4 new type safety issues introduced

Type assertions (as) (4 new)

File Line Detail
static/app/views/seerWorkflows/automations/index.tsx 112 as WorkflowStrategy — config.strategy as WorkflowStrategy
static/app/views/seerWorkflows/runs/index.tsx 131 as WorkflowStrategy[] — decodeList(location.query.strategy) as WorkflowStrategy[]
static/app/views/seerWorkflows/runs/index.tsx 132 as WorkflowDisplayStatus[] — decodeList(location.query.status) as WorkflowDisplayStatus[]
static/app/views/seerWorkflows/runs/index.tsx 245 `as
| undefined` — `decodeScalar(location.query.expandLatest) as | WorkflowStrategy | undefined` |

This is informational only and does not block the PR.

Increase card padding and spacing in the card's bottom group, and reword the Agentic Triage placeholder description.
…run tooltip

Drop the disabled link around each card, which blocked hover and kept the next-run time tooltip from opening, and add a Next run header to that tooltip.
Test placeholder-only rendering without seer-automations, cards built from workflow configs (titles, descriptions, project coverage, next run tag), and getNextUpdate across schedule and day rollover cases.
@aliu39
aliu39 marked this pull request as ready for review October 23, 2026 22:26
@aliu39
aliu39 requested a review from a team as a code owner October 23, 2026 22:30
@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Oct 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🚨 Warning: This pull request contains Frontend and Backend changes!

It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently.

Have questions? Please ask in the #discuss-dev-infra channel.

aliu39 and others added 2 commits October 23, 2026 15:31
Flush pending timers inside act() before restoring real timers, which resolves the require-fake-timer-cleanup violations and removes their suppression entry.

@cursor cursor Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread static/app/views/seerWorkflows/automations/index.tsx
Pass each config's enabled state to its card, and show a warning Paused tag in place of the schedule or trigger tag when it is disabled.

@cursor cursor Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread static/app/views/seerWorkflows/automations/index.tsx Outdated
Show the first 3 project slugs with a +N more tooltip for the rest, and
let long slugs wrap instead of overflowing the card.

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 2f126c9. Configure here.

'+%s more',
'+%s more',
projectSlugs.length - MAX_VISIBLE_PROJECTS
)}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overflow counts disagree

Low Severity

ProjectList treats maxVisibleProjects as a slot budget and reserves one slot for its overflow badge, so four or more projects render two avatars plus +2 while the slug line still lists three names plus +1 more. The shared MAX_VISIBLE_PROJECTS cap therefore shows two different remainder counts on the same card.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2f126c9. Configure here.

Move the tokens/cost line into the card's main section so the projects
row stands alone at the bottom.
Comment thread .github/CODEOWNERS

# Agent Interfaces
/static/app/views/investigations/ @getsentry/agent-interfaces-sentry-frontend
/static/app/views/seerWorkflows/ @getsentry/agent-interfaces-sentry-frontend

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will make you/me/tony unable to stamp future PRs for this lol

/**
* Shown in place of the "Next run" tag, e.g. for automations triggered by events
*/
subtitleOverride?: {icon: React.ReactNode; text: string};

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I would keep display fields like this out of the data model so that the component itself can make the display decision based on the data. e.g. this could be handled by having an automation type (scheduled vs triggered)

}

const SOURCE_LABELS: Record<WorkflowRunSource, string> = {
cron: 'Automated',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: translations

This branch was successfully deployed

1 active deployment
Preview — f7623749 Deployed Oct 26, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants