@@ -14,32 +14,43 @@ func (s *server) handleSlackCommand(registry *NamedRepositoryRegistry) func(http
1414 text := strings .Split (sl .Text , " " )
1515
1616 if len (text ) < 3 || len (text ) > 3 {
17- sendEphemeralMsg ("Incorrect usage, expected /gitops-commit [command] [name] [tag]" , w )
17+ respondSlack ("Incorrect usage, expected /gitops-commit [command] [name] [tag]" , slack . ResponseTypeEphemeral , w )
1818
1919 return
2020 }
2121
22- switch text [0 ] {
22+ command := text [0 ]
23+
24+ switch command {
2325 case "deploy" :
2426 deploy (s , w , registry , text [1 ], text [2 ])
2527
2628 return
29+ default :
30+ respondSlack (
31+ fmt .Sprintf ("Unknown command %s, expected /gitops-commit [command] [name] [tag]" , command ),
32+ slack .ResponseTypeEphemeral ,
33+ w ,
34+ )
2735 }
2836 }
2937}
3038
3139func deploy (s * server , w http.ResponseWriter , registry * NamedRepositoryRegistry , name string , version string ) {
32-
3340 r , err := registry .findNamedRepository (name )
3441
3542 if err != nil {
36- sendEphemeralMsg (fmt .Sprintf ("Unknown named repository, cannot handle \" %s\" , availabe options (%s)" , name , registry .getNamesFlattened ()), w )
43+ respondSlack (
44+ fmt .Sprintf ("Unknown named repository, cannot handle \" %s\" , availabe options (%s)" , name , registry .getNamesFlattened ()),
45+ slack .ResponseTypeEphemeral ,
46+ w ,
47+ )
3748
3849 return
3950 }
4051
4152 if len (version ) != 7 {
42- sendEphemeralMsg (fmt .Sprintf ("version does not look semver? %s" , version ), w )
53+ respondSlack (fmt .Sprintf ("version does not look semver? %s" , version ), slack . ResponseTypeEphemeral , w )
4354
4455 return
4556 }
@@ -62,33 +73,23 @@ func deploy(s *server, w http.ResponseWriter, registry *NamedRepositoryRegistry,
6273 go func () {
6374 err = gitops .DeployVersionHandler (command )
6475 if err != nil {
65- sendEphemeralMsg (fmt .Sprintf ("failed to deploy: %s" , err ), w )
76+ respondSlack (fmt .Sprintf ("failed to deploy: %s" , err ), slack . ResponseTypeEphemeral , w )
6677
6778 return
6879 }
6980 }()
7081
71- params := & slack.Msg {
72- Text : fmt .Sprintf (":alert: Deploying tag `%s` to `%s`:`%s`" , version , r .Repository , r .File ),
73- ResponseType : slack .ResponseTypeInChannel ,
74- }
75- b , err := json .Marshal (params )
76- if err != nil {
77- w .WriteHeader (http .StatusInternalServerError )
78- return
79- }
80- w .Header ().Set ("Content-Type" , "application/json" )
81- _ , err = w .Write (b )
82-
83- if err != nil {
84- return
85- }
82+ respondSlack (
83+ fmt .Sprintf (":alert: Deploying tag `%s` to `%s`:`%s`" , version , r .Repository , r .File ),
84+ slack .ResponseTypeInChannel ,
85+ w ,
86+ )
8687}
8788
88- func sendEphemeralMsg ( m string , w http.ResponseWriter ) {
89+ func respondSlack ( m string , t string , w http.ResponseWriter ) {
8990 b , err := json .Marshal (slack.Msg {
9091 Text : m ,
91- ResponseType : slack . ResponseTypeEphemeral ,
92+ ResponseType : t ,
9293 })
9394 if err != nil {
9495 fmt .Println (err )
0 commit comments