Skip to content

Commit 92d09e8

Browse files
fix(raid): skip unmapped watchers when sending Jira notifications (#257)
Check if the watcher has a JiraUser record in the database before attempting to resolve their Slack user. Watchers without a mapping (service accounts, external users) are skipped with a debug log instead of generating warnings on every webhook.
1 parent 6f83e6b commit 92d09e8

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

src/firefighter/raid/forms.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
JiraAPIError,
1414
JiraUserNotFoundError,
1515
)
16+
from firefighter.jira_app.models import JiraUser
1617
from firefighter.raid.client import client as jira_client
1718
from firefighter.raid.messages import (
1819
SlackMessageRaidComment,
@@ -28,7 +29,6 @@
2829

2930
from firefighter.incidents.models.impact import ImpactLevel
3031
from firefighter.incidents.models.user import User
31-
from firefighter.jira_app.models import JiraUser
3232
from firefighter.raid.types import JiraObject
3333
from firefighter.slack.messages.base import SlackMessageSurface
3434

@@ -219,6 +219,12 @@ def send_message_to_watchers(
219219
f"Skipping sending message to jira_user_id={watcher_account_id}: is an app"
220220
)
221221
continue
222+
if not JiraUser.objects.filter(id=watcher_account_id).exists():
223+
logger.debug(
224+
"Skipping watcher %s: no JiraUser mapping in database",
225+
watcher_account_id,
226+
)
227+
continue
222228
watcher_jira_user = jira_client.get_jira_user_from_jira_id(
223229
watcher_account_id
224230
)
@@ -228,8 +234,9 @@ def send_message_to_watchers(
228234
else None
229235
)
230236
if watcher_slack_user is None:
231-
logger.warning(
232-
f"Couldn't find Slack user from Jira account ID for watcher {watcher}"
237+
logger.debug(
238+
"Watcher %s has a JiraUser but no linked Slack user",
239+
watcher_account_id,
233240
)
234241
continue
235242
watcher_slack_user.send_private_message(

0 commit comments

Comments
 (0)