beginnings of a module talking to mattermost
This commit is contained in:
40
fih.py
Normal file
40
fih.py
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
from flask import Flask, request
|
||||
import os
|
||||
import incident
|
||||
|
||||
app = Flask( __name__ )
|
||||
app.config.from_envvar( 'FIH_SETTINGS' )
|
||||
|
||||
mm = incident.Mattermost( app.config[ 'MATTERMOST_TEAM_ID' ],
|
||||
url = app.config[ 'MATTERMOST_URL' ],
|
||||
port = app.config[ 'MATTERMOST_PORT' ],
|
||||
login_id = app.config[ 'MATTERMOST_USER_EMAIL' ],
|
||||
password = app.config[ 'MATTERMOST_USER_PASSWORD' ],
|
||||
)
|
||||
|
||||
@app.route( '/mattermost/incident', methods = [ 'POST' ] )
|
||||
def mattermost_incident():
|
||||
# channel_name: testing
|
||||
# command: /incident
|
||||
# channel_id: o3ob1utim3nummoswjyt4174mo
|
||||
# user_name: marek
|
||||
# test_domain: faelix
|
||||
# text: test
|
||||
# team_id: 3woo8mbjrbb1in53xwdzi4ynqh
|
||||
# user_id: ko3uxmend7ne8ger4uw9mxkt1o
|
||||
# token: XXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
|
||||
if request.form[ 'token' ] in app.config[ 'MATTERMOST_COMMAND_TOKENS' ]:
|
||||
fi_number = incident.generate_incident_number()
|
||||
channel_name = fi_number.lower()
|
||||
mm.create_channel( channel_name, request.form[ 'text' ] )
|
||||
mm.notify( request.form[ 'channel_id' ], fi_number, channel_name )
|
||||
|
||||
return "" # "Starting incident %s in channel #%s." % ( fi_number, channel_name )
|
||||
else:
|
||||
return "Invalid command token."
|
||||
|
||||
@app.route( '/' )
|
||||
def hello_world():
|
||||
return 'Hello, World!'
|
Reference in New Issue
Block a user