mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-26 19:21:44 +00:00
Clarified Ansible installation instructions and added slacknotification.py script.
This commit is contained in:
41
devops/slacknotification.py
Normal file
41
devops/slacknotification.py
Normal file
@ -0,0 +1,41 @@
|
||||
import os
|
||||
from slackclient import SlackClient
|
||||
import argparse
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description="Slack notification script")
|
||||
parser.add_argument('--channel','-c', required=True, help="Slack channel.")
|
||||
parser.add_argument('--message','-m', required=True, help="The message to send.")
|
||||
parser.add_argument('--username', required=False, help="Username used on Slack")
|
||||
parser.add_argument('--api_token', required=False, help="Slack API token. Can be set in SLACK_API_TOKEN environment variable too.")
|
||||
parser.add_argument('--icon_emoji','-i', required=False, help="Icon for the message.")
|
||||
args = parser.parse_args()
|
||||
|
||||
username = args.username
|
||||
api_token=args.api_token
|
||||
if api_token is None:
|
||||
api_token=os.getenv("SLACK_API_TOKEN")
|
||||
message = args.message
|
||||
channel = args.channel
|
||||
icon_emoji = args.icon_emoji
|
||||
|
||||
slack_client = SlackClient(api_token)
|
||||
apitest = slack_client.api_call("api.test")
|
||||
if not apitest['ok']:
|
||||
raise ValueError("api.test error: {0}".format(apitest['error']))
|
||||
|
||||
authtest = slack_client.api_call("auth.test")
|
||||
if not authtest['ok']:
|
||||
raise ValueError("auth.test error: {0}".format(authtest['error']))
|
||||
|
||||
if username is None:
|
||||
username = authtest['user']
|
||||
|
||||
if icon_emoji is None:
|
||||
result = slack_client.api_call("chat.postMessage", channel=channel, text=message, username=username, icon_emoji=icon_emoji)
|
||||
else:
|
||||
result = slack_client.api_call("chat.postMessage", channel=channel, text=message, username=username)
|
||||
|
||||
if not result['ok']:
|
||||
raise ValueError("Message error: {0}".format(result['error']))
|
||||
|
Reference in New Issue
Block a user