2017-05-26 21 views
2

Jenkinsでの展開をslash commandsでスラックから自動化しました。スラックスラッシュコマンドへのアクセスを制限する

私はチャンネル内の一部のメンバーが/deploy_devを使用してのdevの環境を展開することができますが、それらはステージング環境と運用環境に展開することはできないはずpermission for slash commandsを与えるか、または、特定のユーザ(すなわち)にスラッシュコマンドへのアクセスを制限する必要があります。

答えて

4

カスタムスラッシュコマンドへのアクセスを制限するには、スクリプトでスラッシュコマンドを実行したユーザーを確認し、コマンドを実行するか、拒否して(適切なメッセージで返信します)。

Slackは、ユーザーIDとユーザー名に要求を常に提供しているため、情報はスクリプトで使用できます。ユーザーが自分であれば、特定のプライベートチャンネルのメンバーである必要がありますように、(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を取得できます。

スラッシュコマンドは常にすべてのユーザーがアクセスでき、スラッシュにはグローバルな設定オプションがないため、特定のスラッシュコマンドへのアクセスを許可できます。したがって、上で詳述したようにスクリプトでこれを行う必要があります。

+0

私はスラッシュコマンドを(スラックでの統合メソッドの追加)経由で作成しましたが、スクリプトでは作成していません。どこにこのスクリプトをどのように呼び出すのですか? –

+0

これを行うには多くの方法があります。通常、あなたのスクリプトはインターネット上のWebサーバー上にあり、スラッシュコマンドが実行されるたびにSlackからのPOSTリクエストによって呼び出されます。詳細については、[documentation](https://api.slack.com/slash-commands)を参照してください。 –

+0

私はslack enterprise/self hostedを使用していません。それは無料版です。達成するために企業が必要なのでしょうか? –

関連する問題