getsentry / getsentry/sentry

Use user mappings for deploy "my commits" notifications

Open
#119,819 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature
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
  • ReleaseActivityNotification collects commit author emails, then resolves users with user_service.get_many_by_email(..., is_verified=True) before applying the committed_only deploy 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:

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.

--

View Junior Session in Sentry

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.