|
|
|
@ -6,12 +6,11 @@ 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.mm = incident.Mattermost( url = app.config[ 'MATTERMOST_URL' ],
|
|
|
|
|
port = app.config[ 'MATTERMOST_PORT' ],
|
|
|
|
|
login_id = app.config[ 'MATTERMOST_USER_EMAIL' ],
|
|
|
|
|
password = app.config[ 'MATTERMOST_USER_PASSWORD' ],
|
|
|
|
|
).mm
|
|
|
|
|
|
|
|
|
|
@app.route( '/mattermost/incident', methods = [ 'POST' ] )
|
|
|
|
|
def mattermost_incident():
|
|
|
|
@ -28,8 +27,23 @@ def mattermost_incident():
|
|
|
|
|
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 )
|
|
|
|
|
purpose = request.form[ 'text' ]
|
|
|
|
|
|
|
|
|
|
channel = app.mm.channels.create_channel( options = { "team_id": request.form[ 'team_id' ],
|
|
|
|
|
"name": channel_name,
|
|
|
|
|
"purpose": "Incident " + fi_number + ( purpose and " " + purpose or "" ),
|
|
|
|
|
"header": "", ## Incident #" + fi_number,
|
|
|
|
|
"type": "P",
|
|
|
|
|
} )
|
|
|
|
|
app.mm.posts.create_post( options = { 'channel_id': channel[ 'id' ],
|
|
|
|
|
'message': "Incident Channel for #%s created by @%s" % ( fi_number, request.form[ 'user_name' ] ),
|
|
|
|
|
} )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.mm.posts.create_post( options = { 'channel_id': request.form[ 'channel_id' ],
|
|
|
|
|
'message': 'Starting incident %s with discussion tagged as #%s' % ( fi_number, fi_number, ),
|
|
|
|
|
} )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return "" # "Starting incident %s in channel #%s." % ( fi_number, channel_name )
|
|
|
|
|
else:
|
|
|
|
|