Add Slack slash command integration directly to release-tools
When we first integrated release-tools into ChatOps, we piggybacked on the
/chatops command because the foundation was already set up. The result was some indirection: The slash command triggers a ChatOps job, which triggers a release-tools job.
I think it's time for a
/release command in order to run tasks directly in release-tools. This has a few benefits:
- It removes the indirection, making the workflow easier to follow.
- It simplifies adding new release-related chatops. We no longer have to have a "release-tools half" and a "ChatOps half".
- It allows for additional functionality, because release-tools would now have the entire context from Slack, including the channel and response URL. This would allow for following-up to response messages and creating threads with more information, for example.
- It speeds up responses, because we're no longer waiting for two CI jobs to complete.
- It makes jobs triggered from Slack easier to find. Instead of seeing dozens of jobs ambiguously labeled
chatops, we'd see the actual command that was run.
- It should allow for better access controls regarding who's allowed to run release-related tasks.