Skip to content

Comments

feat: Add slack_app Django app with Slack Bolt and /inc help command#110

Open
spalmurray wants to merge 9 commits intomainfrom
spalmurray/RELENG-463
Open

feat: Add slack_app Django app with Slack Bolt and /inc help command#110
spalmurray wants to merge 9 commits intomainfrom
spalmurray/RELENG-463

Conversation

@spalmurray
Copy link
Contributor

@spalmurray spalmurray commented Feb 19, 2026

Adds the foundations for migrating the incident bot (/inc slash commands) from opsbot to firetower. This sets up a new firetower.slack_app Django app with Slack Bolt wired up, a DRF authentication class that verifies Slack signing secrets, a /inc help smoke test command, and Datadog metrics instrumentation for command tracking.

  • Adds slack-bolt dependency and signing_secret to Slack config
  • Custom SlackSigningSecretAuthentication DRF auth class with HMAC-SHA256 verification and replay protection
  • Registers both /inc and /testinc commands (test Slack app sends /testinc, prod sends /inc)
  • Emits slack_app.commands.{submitted,completed,failed} Datadog metrics
  • 11 tests covering handlers, auth, and endpoint integration

Linear: https://linear.app/getsentry/issue/RELENG-463/infrastructure-and-slack-bolt-setup

@linear
Copy link

linear bot commented Feb 19, 2026

@spalmurray spalmurray force-pushed the spalmurray/RELENG-463 branch from 85ae1e3 to 88f05c6 Compare February 20, 2026 16:22

User = get_user_model()

SERVICE_USERNAME = "firetower-slack-app"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

this is for the firetower internal service account. The 'user' the slack app authenticates as for the purpose of accessing Incident data.

@spalmurray spalmurray marked this pull request as ready for review February 20, 2026 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant