// ExecuteActionAction executes a custom action on an alert at OpsGenie. func ExecuteActionAction(c *gcli.Context) { cli, err := NewAlertClient(c) if err != nil { os.Exit(1) } req := alerts.ExecuteActionAlertRequest{} if val, success := getVal("id", c); success { req.ID = val } if val, success := getVal("alias", c); success { req.Alias = val } action, success := getVal("action", c) if success { req.Action = action } req.User = grabUsername(c) if val, success := getVal("source", c); success { req.Source = val } if val, success := getVal("note", c); success { req.Note = val } printVerboseMessage("Execute action request prepared from flags, sending request to OpsGenie..") resp, err := cli.ExecuteAction(req) if err != nil { fmt.Printf("%s\n", err.Error()) os.Exit(1) } printVerboseMessage("Action" + action + "executed successfully.") fmt.Printf("result=%s\n", resp.Result) }