限制 slack-slash 命令访问

Restrict slack-slash command access

我已经通过 slash commands.

从 slack 中自动化了 Jenkins 中的部署

我需要给予 permission for slash commands 或将斜杠命令访问权限限制为特定用户(即频道中的某些成员可以使用 /deploy_dev 部署开发环境,但他们不应该能够部署到暂存和生产环境。

为了限制对自定义斜杠命令的访问,只需检查哪个用户在您的脚本中调用了斜杠命令,然后执行该命令或拒绝它(并回复一条适当的消息)。

Slack 始终在请求中提供用户 ID 和用户名,以便您的脚本中提供这些信息。请参阅下面的示例,了解来自 Slack 的命令请求:(来自 official documentation

token=gIkuvaNzQIHg97ATvDxqgjtO
team_id=T0001
team_domain=example
enterprise_id=E0001
enterprise_name=Globular%20Construct%20Inc
channel_id=C2147483705
channel_name=test
user_id=U2147483697
user_name=Steve
command=/weather
text=94070
response_url=https://hooks.slack.com/commands/1234/5678

要管理谁有权访问,我建议使用私人频道,这样如果用户想执行特定的斜杠命令,他必须是特定私人频道的成员。您可以在脚本中调用groups.info获取私人频道所有成员的用户ID。

请注意,所有用户始终可以访问斜杠命令,并且 Slack 中没有全局配置选项,它允许您授予对特定斜杠命令的访问权限。因此,您必须按照上面的详细说明在脚本中执行此操作。