Use user mappings for deploy "my commits" notifications
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 44.8k
- Forks
- 4.9k
- Avg merge
- 21h 23m
- Merged PRs (30d)
- 607
Description
Deploy notifications set to Releases with My Commits only match commit authors via verified Sentry emails, so GitHub noreply authors never get notified.
Current behavior
ReleaseActivityNotificationcollects commit author emails, then resolves users withuser_service.get_many_by_email(..., is_verified=True)before applying thecommitted_onlydeploy setting:src/sentry/notifications/notifications/activity/release.py- Participant selection then only includes users already in that verified-email set:
src/sentry/notifications/utils/participants.py - Secondary emails do not help for GitHub private commit addresses like
123456789+username@users.noreply.github.com, because those addresses cannot receive verification mail
Gap
Suspect-commit / author resolution already supports User Mappings for anonymous SCM emails:
- https://github.com/getsentry/sentry/issues/42419
- https://github.com/getsentry/sentry/pull/99273 (
get_users_for_authors()can resolve authors via ExternalActor mappings, then email)
Deploy "my commits" still ignores those mappings, so users who commit with GitHub noreply emails (a common private-email setup) remain invisible to committed_only deploy notifications even when a @githubusername -> Sentry user mapping exists.
Requested change
When determining who committed to a release for deploy notifications, resolve commit authors the same way as suspect-commit author resolution: prefer User Mappings / GitHub identity, then fall back to verified email.
Reported by Lorenzo Cian.
Requested by Lorenzo Cian via Junior.
--
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/sentry/notifications/notifications/activity/release.py and src/sentry/notifications/utils/participants.py, then compare the existing get_users_for_authors() path referenced from suspect-commit resolution. The change is complete when deploy “my commits” resolves GitHub noreply authors through User Mappings or GitHub identity before falling back to verified email, while preserving the committed_only selection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100