func main() { cli := new(ogcli.OpsGenieClient) cli.SetAPIKey(constants.APIKey) alertCli, cliErr := cli.Alert() if cliErr != nil { panic(cliErr) } // list the alerts listreq := alerts.ListAlertsRequest{} listresp, listErr := alertCli.List(listreq) if listErr != nil { panic(listErr) } for _, alert := range listresp.Alerts { fmt.Printf("Id: %s\n", alert.ID) fmt.Printf("Alias: %s\n", alert.Alias) fmt.Printf("Message: %s\n", alert.Message) fmt.Printf("Status: %s\n", alert.Status) fmt.Printf("IsSeen?: %t\n", alert.IsSeen) fmt.Printf("Acknowledged?: %t\n", alert.Acknowledged) fmt.Printf("Created at: %d\n", alert.CreatedAt) fmt.Printf("Updated at: %d\n", alert.UpdatedAt) fmt.Printf("Tiny id: %s\n", alert.TinyID) fmt.Printf("Owner: %s\n", alert.Owner) } }
func main() { cli := new(ogcli.OpsGenieClient) cli.SetAPIKey(constants.APIKey) alertCli, cliErr := cli.Alert() if cliErr != nil { panic(cliErr) } // create the alert req := alerts.CreateAlertRequest{Message: samples.RandStringWithPrefix("Test", 8)} response, alertErr := alertCli.Create(req) if alertErr != nil { panic(alertErr) } fmt.Printf("message: %s\n", response.Message) fmt.Printf("alert id: %s\n", response.AlertID) fmt.Printf("status: %s\n", response.Status) fmt.Printf("code: %d\n", response.Code) // add team to the alert addTeamReq := alerts.AddTeamAlertRequest{ID: response.AlertID, Team: constants.TeamName} addTeamResponse, alertErr := alertCli.AddTeam(addTeamReq) if alertErr != nil { panic(alertErr) } fmt.Printf("status: %s\n", addTeamResponse.Status) fmt.Printf("code: %d\n", addTeamResponse.Code) }
func main() { cli := new(ogcli.OpsGenieClient) cli.SetAPIKey(constants.APIKey) alertCli, cliErr := cli.Alert() if cliErr != nil { panic(cliErr) } // create the alert req := alerts.CreateAlertRequest{Message: samples.RandStringWithPrefix("Test", 8), Note: "Created for testing purposes"} response, alertErr := alertCli.Create(req) if alertErr != nil { panic(alertErr) } fmt.Printf("message: %s\n", response.Message) fmt.Printf("alert id: %s\n", response.AlertID) fmt.Printf("status: %s\n", response.Status) fmt.Printf("code: %d\n", response.Code) // list alert recipients getRecipientsReq := alerts.ListAlertRecipientsRequest{ID: response.AlertID} getRecipientsResponse, alertErr := alertCli.ListRecipients(getRecipientsReq) if alertErr != nil { panic(alertErr) } fmt.Printf("Users: %v\n", getRecipientsResponse.Users) fmt.Printf("Groups: %v\n", getRecipientsResponse.Groups) }
func (opsgenie *OpsGenieNotifier) Notify(messages Messages) bool { overallStatus, pass, warn, fail := messages.Summary() client := new(ogcli.OpsGenieClient) client.SetApiKey(opsgenie.ApiKey) alertCli, cliErr := client.Alert() if cliErr != nil { log.Println("Opsgenie notification trouble with client") return false } for _, message := range messages { title := fmt.Sprintf("\n%s:%s:%s is %s.", message.Node, message.Service, message.Check, message.Status) content := fmt.Sprintf(header, opsgenie.ClusterName, overallStatus, fail, warn, pass) content += fmt.Sprintf("\n%s:%s:%s is %s.", message.Node, message.Service, message.Check, message.Status) content += fmt.Sprintf("\n%s", message.Output) // create the alert response, alertErr := opsgenie.Send(alertCli, title, content) if alertErr != nil { log.Println("Opsgenie notification trouble.", response.Status) return false } } log.Println("Opsgenie notification send.") return true }
func main() { cli := new(ogcli.OpsGenieClient) cli.SetAPIKey(constants.APIKey) alertCli, cliErr := cli.Alert() if cliErr != nil { panic(cliErr) } // create the alert req := alerts.CreateAlertRequest{Message: samples.RandStringWithPrefix("Test", 8)} response, alertErr := alertCli.Create(req) if alertErr != nil { panic(alertErr) } fmt.Printf("message: %s\n", response.Message) fmt.Printf("alert id: %s\n", response.AlertID) fmt.Printf("status: %s\n", response.Status) fmt.Printf("code: %d\n", response.Code) // delete the alert delreq := alerts.DeleteAlertRequest{ID: response.AlertID, Source: constants.Source} cloresponse, alertErr := alertCli.Delete(delreq) if alertErr != nil { panic(alertErr) } fmt.Printf("status: %s\n", cloresponse.Status) fmt.Printf("code: %d\n", cloresponse.Code) }
func main() { cli := new(ogcli.OpsGenieClient) cli.SetAPIKey(constants.APIKey) alertCli, cliErr := cli.Alert() if cliErr != nil { panic(cliErr) } // create the alert req := alerts.CreateAlertRequest{Message: samples.RandStringWithPrefix("Test", 8)} response, alertErr := alertCli.Create(req) if alertErr != nil { panic(alertErr) } fmt.Printf("message: %s\n", response.Message) fmt.Printf("alert id: %s\n", response.AlertID) fmt.Printf("status: %s\n", response.Status) fmt.Printf("code: %d\n", response.Code) addnotereq := alerts.AddNoteAlertRequest{} // add alert ten notes for i := 0; i < 10; i++ { addnotereq.ID = response.AlertID addnotereq.Note = samples.RandString(45) addnoteresp, alertErr := alertCli.AddNote(addnotereq) if alertErr != nil { panic(alertErr) } fmt.Printf("[Add note] %s %d\n", addnoteresp.Status, addnoteresp.Code) } listNotesReq := alerts.ListAlertNotesRequest{IF: response.AlertID} listNotesResponse, alertErr := alertCli.ListNotes(listNotesReq) if alertErr != nil { panic(alertErr) } alertNotes := listNotesResponse.Notes fmt.Printf("Last key: %s\n", listNotesResponse.LastKey) fmt.Printf("Notes:\n") fmt.Printf("------\n") for _, note := range alertNotes { fmt.Printf("Note: %s\n", note.Note) fmt.Printf("Owner: %s\n", note.Owner) fmt.Printf("Created at: %d\n", note.CreatedAt) fmt.Printf("-------------------------\n") } }
func main() { cli := new(ogcli.OpsGenieClient) cli.SetAPIKey(constants.APIKey) alertCli, cliErr := cli.Alert() if cliErr != nil { panic(cliErr) } // create the alert req := alerts.CreateAlertRequest{Message: samples.RandStringWithPrefix("Test", 8), Note: "Created for testing purposes", User: constants.User} response, alertErr := alertCli.Create(req) if alertErr != nil { panic(alertErr) } fmt.Printf("message: %s\n", response.Message) fmt.Printf("alert id: %s\n", response.AlertID) fmt.Printf("status: %s\n", response.Status) fmt.Printf("code: %d\n", response.Code) // close the alert getreq := alerts.GetAlertRequest{ID: response.AlertID} getresponse, alertErr := alertCli.Get(getreq) if alertErr != nil { panic(alertErr) } fmt.Printf("tags: %v\n", getresponse.Tags) fmt.Printf("count: %d\n", getresponse.Count) fmt.Printf("teams: %v\n", getresponse.Teams) fmt.Printf("recipients: %v\n", getresponse.Recipients) fmt.Printf("tiny id: %s\n", getresponse.TinyID) fmt.Printf("alias: %s\n", getresponse.Alias) fmt.Printf("entity: %s\n", getresponse.Entity) fmt.Printf("id: %s\n", getresponse.ID) fmt.Printf("updated at: %d\n", getresponse.UpdatedAt) fmt.Printf("message: %s\n", getresponse.Message) fmt.Printf("details: %v\n", getresponse.Details) fmt.Printf("source: %s\n", getresponse.Source) fmt.Printf("description: %s\n", getresponse.Description) fmt.Printf("created at: %d\n", getresponse.CreatedAt) fmt.Printf("is seen?: %t\n", getresponse.IsSeen) fmt.Printf("acknowledged?: %t\n", getresponse.Acknowledged) fmt.Printf("owner: %s\n", getresponse.Owner) fmt.Printf("actions: %s\n", getresponse.Actions) fmt.Printf("system data: %v\n", getresponse.SystemData) }
func main() { cli := new(ogcli.OpsGenieClient) cli.SetAPIKey(constants.APIKey) alertCli, cliErr := cli.Alert() if cliErr != nil { panic(cliErr) } // create the alert req := alerts.CreateAlertRequest{Message: samples.RandStringWithPrefix("Test", 8)} response, alertErr := alertCli.Create(req) if alertErr != nil { panic(alertErr) } fmt.Printf("message: %s\n", response.Message) fmt.Printf("alert id: %s\n", response.AlertID) fmt.Printf("status: %s\n", response.Status) fmt.Printf("code: %d\n", response.Code) file, err := os.OpenFile(constants.PathToFile, os.O_RDWR, 0666) if err != nil { panic(err) } defer file.Close() attachFileReq := alerts.AttachFileAlertRequest{ID: response.AlertID, Attachment: file} attachFileResp, attachFileErr := alertCli.AttachFile(attachFileReq) if attachFileErr != nil { panic(attachFileErr) } fmt.Printf("Status: %s\n", attachFileResp.Status) fmt.Printf("Code: %d\n", attachFileResp.Code) }
func main() { cli := new(ogcli.OpsGenieClient) cli.SetAPIKey(constants.APIKey) alertCli, cliErr := cli.Alert() if cliErr != nil { panic(cliErr) } // create the alert req := alerts.CreateAlertRequest{Message: samples.RandStringWithPrefix("Test", 8), Note: "Created for testing purposes", User: constants.User} response, alertErr := alertCli.Create(req) if alertErr != nil { panic(alertErr) } fmt.Printf("message: %s\n", response.Message) fmt.Printf("alert id: %s\n", response.AlertID) fmt.Printf("status: %s\n", response.Status) fmt.Printf("code: %d\n", response.Code) getLogsReq := alerts.ListAlertLogsRequest{ID: response.AlertID} getLogsResponse, alertErr := alertCli.ListLogs(getLogsReq) if alertErr != nil { panic(alertErr) } logs := getLogsResponse.Logs for _, log := range logs { fmt.Printf("Owner: %s\n", log.Owner) fmt.Printf("Log: %s\n", log.Log) fmt.Printf("Log type: %s\n", log.LogType) fmt.Printf("Created at: %d\n", log.CreatedAt) } }