Deliver new-issues summary to subscribed recipients
- Dominant language
- Python
- Stars
- 9
- Forks
- 31
- Avg merge
- 3d 19h
- Merged PRs (30d)
- 16
Description
## Goal
On the hourly `new_issues` job, send a **filtered new-issues summary** to recipients who opted in via YAML. Make **automatic regression report** triggers configurable without changing regression **recipients**.
**Depends on:** #2114
## Today vs after
| | Today | After |
|---|--------|--------|
| New-issues summary | One mail to `kernelci-results@groups.io`; all new build/boot issues | Same default, plus filtered copies to subscribed recipients |
Regression reports stay: list To, tree `default_recipients` Cc, `regressions@lists.linux.dev` + regzbot on mainline/next/stable.
## Community delivery (unchanged default)
If no `new_issues` blocks exist, one summary to `kernelci-results@groups.io` with every new build and boot issue. Reuse `issues.txt.j2` and `notifications_issue` dedup.
## Subscription delivery
For each `default_recipients` entry with a `new_issues` block, send a summary containing only issues in that file’s tree/hardware scope whose type is in `issue_types`. Skip send when there are no matches for that person in the run.
- **Cadence (v1):** hourly, same as community run (document; no per-subscriber schedule without new state)
- **Overlap:** recipients on the results list who also subscribe may get two mails (accepted for v1)
## Regression auto-send (policy only)
Replace hardcoded Maestro + build-only auto `generate_issue_report` with command flags (like `--summary-origins`). Defaults must match production today. Boot / other origins only when flags/config explicitly enable them.
## Acceptance criteria
- [ ] Configured `new_issues` block → filtered summary to that address
- [ ] No `new_issues` blocks → behavior identical to today
- [ ] Auto regression policy defaults unchanged without new config
- [ ] `--send` off shows recipients and issue ids per recipient
Contributor guide
Research direction
Start with the hourly `new_issues` job and the YAML `default_recipients` configuration, considering dependency #2114. Trace `issues.txt.j2`, `notifications_issue`, and `generate_issue_report`, then inspect the `--summary-origins` and `--send` behavior. Done means filtered subscriber summaries, unchanged defaults, and recipient and issue-id output when sending is disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100