creating and referencing channels properly now
This commit is contained in:
		
							
								
								
									
										29
									
								
								fih.py
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								fih.py
									
									
									
									
									
								
							@ -25,30 +25,39 @@ def mattermost_incident():
 | 
				
			|||||||
    # token: XXXXXXXXXXXXXXXXXXXXXXXXXX
 | 
					    # token: XXXXXXXXXXXXXXXXXXXXXXXXXX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if request.form[ 'token' ] in app.config[ 'MATTERMOST_COMMAND_TOKENS' ]:
 | 
					    if request.form[ 'token' ] in app.config[ 'MATTERMOST_COMMAND_TOKENS' ]:
 | 
				
			||||||
        fi_number = incident.generate_incident_number()
 | 
					        incident_number = incident.generate_incident_number()
 | 
				
			||||||
        channel_name = fi_number.lower()
 | 
					        fi_number = "FI#" + incident_number
 | 
				
			||||||
 | 
					        channel_name = "incident" + incident_number
 | 
				
			||||||
        purpose = request.form[ 'text' ]
 | 
					        purpose = request.form[ 'text' ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        channel = app.mm.channels.create_channel( options = { "team_id": request.form[ 'team_id' ],
 | 
					        channel = app.mm.channels.create_channel( options = { "team_id": request.form[ 'team_id' ],
 | 
				
			||||||
                                                              "name": channel_name,
 | 
					                                                              "name": channel_name,
 | 
				
			||||||
                                                              "purpose": "Incident " + fi_number + ( purpose and " " + purpose or "" ),
 | 
					                                                              "display_name": fi_number,
 | 
				
			||||||
                                                              "header": "", ## Incident #" + fi_number,
 | 
					                                                              "purpose": "Internal discussion about incident " + fi_number,
 | 
				
			||||||
                                                              "type": "P",
 | 
					                                                              "header": purpose,
 | 
				
			||||||
 | 
					                                                              "type": "O",
 | 
				
			||||||
 | 
					                                                              } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # add user to the channel we just created
 | 
				
			||||||
 | 
					        app.mm.client.make_request( 'post', '/channels/' + channel[ 'id' ] + '/members', options = { 'user_id': request.form[ 'user_id' ],
 | 
				
			||||||
                                                                                                     } )
 | 
					                                                                                                     } )
 | 
				
			||||||
        app.mm.posts.create_post( options = { 'channel_id': channel[ 'id' ],
 | 
					        app.mm.posts.create_post( options = { 'channel_id': channel[ 'id' ],
 | 
				
			||||||
                                              'message': "Incident Channel for #%s created by @%s" % ( fi_number, request.form[ 'user_name' ] ),
 | 
					                                              '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' ],
 | 
					        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, ),
 | 
					                                              'message': 'Starting incident %s with discussion in channel ~%s' % ( fi_number, channel_name, ),
 | 
				
			||||||
                                              } )
 | 
					                                              } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return ""
 | 
				
			||||||
        return "" # "Starting incident %s in channel #%s." % ( fi_number, channel_name )
 | 
					 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        return "Invalid command token."
 | 
					        return "Invalid command token."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@app.route( '/mattermost/fih', methods = [ 'POST' ] )
 | 
				
			||||||
 | 
					def mattermost_fig():
 | 
				
			||||||
 | 
					    print( repr( request.form ) )
 | 
				
			||||||
 | 
					    return "Whaaat?"
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
@app.route( '/' )
 | 
					@app.route( '/' )
 | 
				
			||||||
def hello_world():
 | 
					def hello_world():
 | 
				
			||||||
    return 'Hello, World!'
 | 
					    return 'Hello, World!'
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,7 @@ import mattermostdriver
 | 
				
			|||||||
random.seed( os.urandom( 8 ) )
 | 
					random.seed( os.urandom( 8 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def generate_incident_number():
 | 
					def generate_incident_number():
 | 
				
			||||||
    return "FI" + datetime.datetime.now().strftime( "%Y%m%d" ) + ( "%4d" % int( random.random() * 10000 ) )
 | 
					    return datetime.datetime.now().strftime( "%Y%m%d" ) + ( "%4d" % int( random.random() * 10000 ) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class Mattermost( object ):
 | 
					class Mattermost( object ):
 | 
				
			||||||
    def __init__( self, *args, **kwargs ):
 | 
					    def __init__( self, *args, **kwargs ):
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user