ilert

package module
Version: v1.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2021 License: Apache-2.0 Imports: 9 Imported by: 2

README

ilert-go

The official iLert Go api bindings.

Create an incident (manually)

package main

import (
	"log"
	"github.com/iLert/ilert-go"
)

func main() {

	// We strongly recommend to enable a retry logic if an error occurs
	client := ilert.NewClient(ilert.WithRetry(10, 5*time.Second, 20*time.Second))

	var apiKey = "alert source API Key"
	event := &ilert.Event{
		APIKey:      apiKey,
		EventType:   ilert.EventTypes.Alert,
		Summary:     "My test incident summary",
		IncidentKey: "123456",
	}

	input := &ilert.CreateEventInput{Event: event}
	result, err := client.CreateEvent(input)
	if err != nil {
		log.Println(result)
		log.Fatalln("ERROR:", err)
	}

	log.Println("Incident key:", result.EventResponse.IncidentKey)
}

Ping heartbeat

package main

import (
	"log"
	"github.com/iLert/ilert-go"
)

func main() {

	client := ilert.NewClient()

	var apiKey = "heartbeat API Key"
	result, err := client.PingHeartbeat(&ilert.PingHeartbeatInput{
		APIKey: ilert.String(apiKey),
		Method: ilert.String(ilert.HeartbeatMethods.HEAD),
	})

	if err != nil {
		log.Println(result)
		log.Fatalln("ERROR:", err)
	}

	log.Println("Heartbeat is ok!")
}

Using proxy

package main

import (
	"log"
	"github.com/iLert/ilert-go"
)

func main() {
	client := ilert.NewClient(ilert.WithProxy("http://proxyserver:8888"))
	...
}

Getting help

We are happy to respond to GitHub issues as well.


License
Licensed under Apache License, Version 2.0
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in ilert-go by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Documentation

Index

Constants

View Source
const Version = "v1.5.1"

Version package version

Variables

View Source
var AlertSourceIncidentCreations = struct {
	OneIncidentPerEmail        string
	OneIncidentPerEmailSubject string
	OnePendingIncidentAllowed  string
	OneOpenIncidentAllowed     string
	OpenResolveOnExtraction    string
}{
	OneIncidentPerEmail:        "ONE_INCIDENT_PER_EMAIL",
	OneIncidentPerEmailSubject: "ONE_INCIDENT_PER_EMAIL_SUBJECT",
	OnePendingIncidentAllowed:  "ONE_PENDING_INCIDENT_ALLOWED",
	OneOpenIncidentAllowed:     "ONE_OPEN_INCIDENT_ALLOWED",
	OpenResolveOnExtraction:    "OPEN_RESOLVE_ON_EXTRACTION",
}

AlertSourceIncidentCreations defines alert source incident creations

View Source
var AlertSourceIntegrationTypes = struct {
	AmazonCloudWatch           string
	API                        string
	AppDynamics                string
	Autotask                   string
	AWSBudget                  string
	AWSPersonalHealthDashboard string
	CallRoutingNumber          string
	checkmk                    string
	Datadog                    string
	Dynatrace                  string
	Email                      string
	Github                     string
	GoogleStackdriver          string
	Grafana                    string
	Heartbeat                  string
	Icinga                     string
	Instana                    string
	Jira                       string
	KentixAlarmManager         string
	Nagios                     string
	NewRelic                   string
	Pingdom                    string
	Prometheus                 string
	PRTGNetworkMonitor         string
	SMS                        string
	Solarwinds                 string
	StatusCake                 string
	TOPdesk                    string
	UptimeMonitor              string
	UPTIMEROBOT                string
	Zabbix                     string
	Consul                     string
	Zammad                     string
	SignalFx                   string
	Splunk                     string
	Kubernetes                 string
	Sematext                   string
	Sentry                     string
	Sumologic                  string
	Raygun                     string
	MXToolBox                  string
	ESWatcher                  string
	AmazonSNS                  string
	Kapacitor                  string
	CortexXSOAR                string
}{
	AmazonCloudWatch:           "CLOUDWATCH",
	API:                        "API",
	AppDynamics:                "APPDYNAMICS",
	Autotask:                   "AUTOTASK",
	AWSBudget:                  "AWSBUDGET",
	AWSPersonalHealthDashboard: "AWSPHD",
	CallRoutingNumber:          "CRN",

	Datadog:            "DATADOG",
	Dynatrace:          "DYNATRACE",
	Email:              "EMAIL",
	Github:             "GITHUB",
	GoogleStackdriver:  "STACKDRIVER",
	Grafana:            "GRAFANA",
	Heartbeat:          "HEARTBEAT",
	Icinga:             "ICINGA",
	Instana:            "INSTANA",
	Jira:               "JIRA",
	KentixAlarmManager: "KENTIXAM",
	Nagios:             "NAGIOS",
	NewRelic:           "NEWRELIC",
	Pingdom:            "PINGDOM",
	Prometheus:         "PROMETHEUS",
	PRTGNetworkMonitor: "PRTG",
	SMS:                "SMS",
	Solarwinds:         "SOLARWINDS",
	StatusCake:         "STATUSCAKE",
	TOPdesk:            "TOPDESK",
	UptimeMonitor:      "MONITOR",
	UPTIMEROBOT:        "UPTIMEROBOT",
	Zabbix:             "ZABBIX",
	Consul:             "CONSUL",
	Zammad:             "ZAMMAD",
	SignalFx:           "SIGNALFX",
	Splunk:             "SPLUNK",
	Kubernetes:         "KUBERNETES",
	Sematext:           "SEMATEXT",
	Sentry:             "SENTRY",
	Sumologic:          "SUMOLOGIC",
	Raygun:             "RAYGUN",
	MXToolBox:          "MXTOOLBOX",
	ESWatcher:          "ESWATCHER",
	AmazonSNS:          "AMAZONSNS",
	Kapacitor:          "KAPACITOR",
	CortexXSOAR:        "CORTEXXSOAR",
	// contains filtered or unexported fields
}

AlertSourceIntegrationTypes defines alert source integration types

View Source
var AlertSourceIntegrationTypesAll = []string{
	AlertSourceIntegrationTypes.AmazonCloudWatch,
	AlertSourceIntegrationTypes.API,
	AlertSourceIntegrationTypes.AppDynamics,
	AlertSourceIntegrationTypes.Autotask,
	AlertSourceIntegrationTypes.AWSBudget,
	AlertSourceIntegrationTypes.AWSPersonalHealthDashboard,
	AlertSourceIntegrationTypes.CallRoutingNumber,
	AlertSourceIntegrationTypes.checkmk,
	AlertSourceIntegrationTypes.Datadog,
	AlertSourceIntegrationTypes.Dynatrace,
	AlertSourceIntegrationTypes.Email,
	AlertSourceIntegrationTypes.Github,
	AlertSourceIntegrationTypes.GoogleStackdriver,
	AlertSourceIntegrationTypes.Grafana,
	AlertSourceIntegrationTypes.Heartbeat,
	AlertSourceIntegrationTypes.Icinga,
	AlertSourceIntegrationTypes.Instana,
	AlertSourceIntegrationTypes.Jira,
	AlertSourceIntegrationTypes.KentixAlarmManager,
	AlertSourceIntegrationTypes.Nagios,
	AlertSourceIntegrationTypes.NewRelic,
	AlertSourceIntegrationTypes.Pingdom,
	AlertSourceIntegrationTypes.Prometheus,
	AlertSourceIntegrationTypes.PRTGNetworkMonitor,
	AlertSourceIntegrationTypes.SMS,
	AlertSourceIntegrationTypes.Solarwinds,
	AlertSourceIntegrationTypes.StatusCake,
	AlertSourceIntegrationTypes.TOPdesk,
	AlertSourceIntegrationTypes.UptimeMonitor,
	AlertSourceIntegrationTypes.UPTIMEROBOT,
	AlertSourceIntegrationTypes.Zabbix,
	AlertSourceIntegrationTypes.Consul,
	AlertSourceIntegrationTypes.Zammad,
	AlertSourceIntegrationTypes.SignalFx,
	AlertSourceIntegrationTypes.Splunk,
	AlertSourceIntegrationTypes.Kubernetes,
	AlertSourceIntegrationTypes.Sematext,
	AlertSourceIntegrationTypes.Sentry,
	AlertSourceIntegrationTypes.Sumologic,
	AlertSourceIntegrationTypes.Raygun,
	AlertSourceIntegrationTypes.MXToolBox,
	AlertSourceIntegrationTypes.ESWatcher,
	AlertSourceIntegrationTypes.AmazonSNS,
	AlertSourceIntegrationTypes.Kapacitor,
	AlertSourceIntegrationTypes.CortexXSOAR,
}

AlertSourceIntegrationTypesAll defines all alert source integration types

View Source
var AlertSourceStatuses = struct {
	Pending       string
	AllAccepted   string
	AllResolved   string
	InMaintenance string
	Disabled      string
}{
	Pending:       "PENDING",
	AllAccepted:   "ALL_ACCEPTED",
	AllResolved:   "ALL_RESOLVED",
	InMaintenance: "IN_MAINTENANCE",
	Disabled:      "DISABLED",
}

AlertSourceStatuses defines alert source statuses

View Source
var ConnectionTriggerModes = struct {
	Automatic string
	Manual    string
}{
	Automatic: "AUTOMATIC",
	Manual:    "MANUAL",
}

ConnectionTriggerModes defines connection trigger modes

View Source
var ConnectionTriggerTypes = struct {
	IncidentCreated       string
	IncidentAssigned      string
	IncidentAutoEscalated string
	IncidentAcknowledged  string
	IncidentRaised        string
	IncidentCommentAdded  string
	IncidentResolved      string
}{
	IncidentCreated:       "incident-created",
	IncidentAssigned:      "incident-assigned",
	IncidentAutoEscalated: "incident-auto-escalated",
	IncidentAcknowledged:  "incident-acknowledged",
	IncidentRaised:        "incident-raised",
	IncidentCommentAdded:  "incident-comment-added",
	IncidentResolved:      "incident-resolved",
}

ConnectionTriggerTypes defines connection trigger types

View Source
var ConnectionTriggerTypesAll = []string{
	ConnectionTriggerTypes.IncidentCreated,
	ConnectionTriggerTypes.IncidentAssigned,
	ConnectionTriggerTypes.IncidentAutoEscalated,
	ConnectionTriggerTypes.IncidentAcknowledged,
	ConnectionTriggerTypes.IncidentRaised,
	ConnectionTriggerTypes.IncidentCommentAdded,
	ConnectionTriggerTypes.IncidentResolved,
}

ConnectionTriggerTypesAll defines all connection trigger types

View Source
var ConnectorTypes = struct {
	AWSLambda             string
	AzureFAAS             string
	Datadog               string
	Discord               string
	Email                 string
	Github                string
	GoogleFAAS            string
	Jira                  string
	MicrosoftTeams        string
	ServiceNow            string
	Slack                 string
	Sysdig                string
	Topdesk               string
	Webhook               string
	Zapier                string
	Zendesk               string
	MicrosoftTeamsChat    string
	MicrosoftTeamsMeeting string
	Autotask              string
	Mattermost            string
	Zammad                string
	ZoomChat              string
	ZoomMeeting           string
	StatusPageIO          string
	Webex                 string
}{
	AWSLambda:             "aws_lambda",
	AzureFAAS:             "azure_faas",
	Datadog:               "datadog",
	Discord:               "discord",
	Email:                 "email",
	Github:                "github",
	GoogleFAAS:            "google_faas",
	Jira:                  "jira",
	MicrosoftTeams:        "microsoft_teams",
	ServiceNow:            "servicenow",
	Slack:                 "slack",
	Sysdig:                "sysdig",
	Topdesk:               "topdesk",
	Webhook:               "webhook",
	Zapier:                "zapier",
	Zendesk:               "zendesk",
	MicrosoftTeamsChat:    "microsoft_teams_chat",
	MicrosoftTeamsMeeting: "microsoft_teams_meeting",
	Autotask:              "autotask",
	Mattermost:            "mattermost",
	Zammad:                "zammad",
	ZoomChat:              "zoom_chat",
	ZoomMeeting:           "zoom_meeting",
	StatusPageIO:          "status_page_io",
	Webex:                 "webex",
}

ConnectorTypes defines connector types

View Source
var ConnectorTypesAll = []string{
	ConnectorTypes.AWSLambda,
	ConnectorTypes.AzureFAAS,
	ConnectorTypes.Datadog,
	ConnectorTypes.Discord,
	ConnectorTypes.Email,
	ConnectorTypes.Github,
	ConnectorTypes.GoogleFAAS,
	ConnectorTypes.Jira,
	ConnectorTypes.MicrosoftTeams,
	ConnectorTypes.ServiceNow,
	ConnectorTypes.Slack,
	ConnectorTypes.Sysdig,
	ConnectorTypes.Topdesk,
	ConnectorTypes.Webhook,
	ConnectorTypes.Zapier,
	ConnectorTypes.Zendesk,
	ConnectorTypes.MicrosoftTeamsChat,
	ConnectorTypes.MicrosoftTeamsMeeting,
	ConnectorTypes.Autotask,
	ConnectorTypes.Mattermost,
	ConnectorTypes.Zammad,
	ConnectorTypes.ZoomChat,
	ConnectorTypes.ZoomMeeting,
	ConnectorTypes.StatusPageIO,
	ConnectorTypes.Webex,
}

ConnectorTypesAll defines connector all types list

View Source
var EventTypes = struct {
	Alert   string
	Accept  string
	Resolve string
}{
	Alert:   "ALERT",
	Accept:  "ACCEPT",
	Resolve: "RESOLVE",
}

EventTypes defines event types

View Source
var HeartbeatMethods = struct {
	HEAD string
	GET  string
	POST string
}{
	HEAD: "HEAD",
	GET:  "GET",
	POST: "POST",
}

HeartbeatMethods defines uptime monitor regions

View Source
var IncidentLogEntryTypes = struct {
	AlertReceivedLogEntry            string
	AlertSourceResponseLogEntry      string
	EmailReceivedLogEntry            string
	IncidentAssignedBySystemLogEntry string
	IncidentAssignedByUserLogEntry   string
	IncidentCreatedByUserLogEntry    string
	NotificationLogEntry             string
	UserResponseLogEntry             string
}{
	AlertReceivedLogEntry:            "AlertReceivedLogEntry",
	AlertSourceResponseLogEntry:      "AlertSourceResponseLogEntry",
	EmailReceivedLogEntry:            "EmailReceivedLogEntry",
	IncidentAssignedBySystemLogEntry: "IncidentAssignedBySystemLogEntry",
	IncidentAssignedByUserLogEntry:   "IncidentAssignedByUserLogEntry",
	IncidentCreatedByUserLogEntry:    "IncidentCreatedByUserLogEntry",
	NotificationLogEntry:             "NotificationLogEntry",
	UserResponseLogEntry:             "UserResponseLogEntry",
}

IncidentLogEntryTypes defines incident log entry types

View Source
var IncidentPriorities = struct {
	High string
	Low  string
}{
	High: "HIGH",
	Low:  "LOW",
}

IncidentPriorities defines incident priorities

View Source
var IncidentResponderGroups = struct {
	Suggested        string
	User             string
	EscalationPolicy string
	OnCallSchedule   string
}{
	Suggested:        "SUGGESTED",
	User:             "USER",
	EscalationPolicy: "ESCALATION_POLICY",
	OnCallSchedule:   "ON_CALL_SCHEDULE",
}

IncidentResponderGroups defines incident responder groups

View Source
var IncidentResponderTypes = struct {
	User        string
	AlertSource string
}{
	User:        "USER",
	AlertSource: "SOURCE",
}

IncidentResponderTypes defines incident responder types

View Source
var IncidentStatuses = struct {
	New      string
	Pending  string
	Accepted string
	Resolved string
}{
	New:      "NEW",
	Pending:  "PENDING",
	Accepted: "ACCEPTED",
	Resolved: "RESOLVED",
}

IncidentStatuses defines incident statuses

View Source
var NumberTypes = struct {
	SMS   string
	Voice string
}{
	SMS:   "SMS",
	Voice: "VOICE",
}

NumberTypes defines number types

View Source
var TeamMemberRoles = struct {
	Admin       string
	User        string
	Responder   string
	Stakeholder string
}{
	Admin:       "ADMIN",
	User:        "USER",
	Responder:   "RESPONDER",
	Stakeholder: "STAKEHOLDER",
}

TeamMemberRoles defines team member roles

View Source
var TeamMemberRolesAll = []string{
	TeamMemberRoles.Admin,
	TeamMemberRoles.User,
	TeamMemberRoles.Responder,
	TeamMemberRoles.Stakeholder,
}

TeamMemberRolesAll defines team member roles list

View Source
var TeamVisibility = struct {
	Public  string
	Private string
}{
	Public:  "PUBLIC",
	Private: "PRIVATE",
}

TeamVisibility defines team visibility

View Source
var TeamVisibilityAll = []string{
	TeamVisibility.Public,
	TeamVisibility.Private,
}

TeamVisibilityAll defines team visibility list

View Source
var UptimeMonitorCheckTypes = struct {
	HTTP string
	Ping string
	TCP  string
	UDP  string
}{
	HTTP: "http",
	Ping: "ping",
	TCP:  "tcp",
	UDP:  "udp",
}

UptimeMonitorCheckTypes defines uptime monitor check types

View Source
var UptimeMonitorRegions = struct {
	EU string
	US string
}{
	EU: "EU",
	US: "US",
}

UptimeMonitorRegions defines uptime monitor regions

View Source
var UptimeMonitorStatuses = struct {
	Up      string
	Down    string
	Warning string
	Paused  string
	Unknown string
}{
	Up:      "up",
	Down:    "Down",
	Warning: "warn",
	Paused:  "paused",
	Unknown: "unknown",
}

UptimeMonitorStatuses defines uptime monitor statuses

View Source
var UserIncidentUpdateNotificationTypes = struct {
	Email         string
	PushAndroid   string
	PushIPhone    string
	SMS           string
	VoiceMobile   string
	VoiceLandline string
}{
	Email:         "EMAIL",
	PushAndroid:   "ANDROID",
	PushIPhone:    "IPHONE",
	SMS:           "SMS",
	VoiceMobile:   "VOICE_MOBILE",
	VoiceLandline: "VOICE_LANDLINE",
}

UserIncidentUpdateNotificationTypes defines user incident update notification types

View Source
var UserIncidentUpdateStates = struct {
	Accepted  string
	Escalated string
	Resolved  string
}{
	Accepted:  "ACCEPTED",
	Escalated: "ESCALATED",
	Resolved:  "RESOLVED",
}

UserIncidentUpdateStates defines user incident update states

View Source
var UserLanguage = struct {
	English string
	German  string
}{
	English: "en",
	German:  "de",
}

UserLanguage defines user language

View Source
var UserRole = struct {
	User        string
	Admin       string
	Stakeholder string
}{
	User:        "USER",
	Admin:       "ADMIN",
	Stakeholder: "STAKEHOLDER",
}

UserRole defines user roles

Functions

func Int

func Int(v int) *int

Int returns a pointer to the int value passed in.

func Int64

func Int64(v int64) *int64

Int64 returns a pointer to the int64 value passed in.

func String

func String(v string) *string

String returns a pointer to the string value passed in.

Types

type AcceptIncidentInput

type AcceptIncidentInput struct {
	IncidentID *int64
	// contains filtered or unexported fields
}

AcceptIncidentInput represents the input of a AcceptIncident operation.

type AcceptIncidentOutput

type AcceptIncidentOutput struct {
	Incident *Incident
	// contains filtered or unexported fields
}

AcceptIncidentOutput represents the output of a AcceptIncident operation.

type AlertSource

type AlertSource struct {
	ID                     int64                  `json:"id,omitempty"`
	Name                   string                 `json:"name"`
	IconURL                string                 `json:"iconUrl,omitempty"`
	LightIconURL           string                 `json:"lightIconUrl,omitempty"`
	DarkIconURL            string                 `json:"darkIconUrl,omitempty"`
	IntegrationType        string                 `json:"integrationType"`
	IntegrationKey         string                 `json:"integrationKey,omitempty"`
	IntegrationURL         string                 `json:"integrationUrl,omitempty"`
	IncidentCreation       string                 `json:"incidentCreation,omitempty"`
	EmailFiltered          bool                   `json:"emailFiltered,omitempty"`
	EmailResolveFiltered   bool                   `json:"emailResolveFiltered,omitempty"`
	Active                 bool                   `json:"active,omitempty"`
	Status                 string                 `json:"status,omitempty"`
	AutoResolutionTimeout  string                 `json:"autoResolutionTimeout,omitempty"` // e.g. PT4H
	EmailPredicates        []EmailPredicate       `json:"emailPredicates,omitempty"`
	EmailResolvePredicates []EmailPredicate       `json:"emailResolvePredicates,omitempty"`
	ResolveKeyExtractor    *EmailPredicate        `json:"resolveKeyExtractor,omitempty"`
	FilterOperator         string                 `json:"filterOperator,omitempty"`
	ResolveFilterOperator  string                 `json:"resolveFilterOperator,omitempty"`
	IncidentPriorityRule   string                 `json:"incidentPriorityRule,omitempty"`
	SupportHours           *SupportHours          `json:"supportHours,omitempty"`
	EscalationPolicy       *EscalationPolicy      `json:"escalationPolicy,omitempty"`
	Metadata               map[string]interface{} `json:"metadata,omitempty"`
	AutotaskMetadata       *AutotaskMetadata      `json:"autotaskMetadata,omitempty"`
	Heartbeat              *Heartbeat             `json:"heartbeat,omitempty"`
	Teams                  []TeamShort            `json:"teams,omitempty"`
}

AlertSource definition

type AssignIncidentInput

type AssignIncidentInput struct {
	IncidentID         *int64
	UserID             *int64
	Username           *string
	EscalationPolicyID *int64
	ScheduleID         *int64
	// contains filtered or unexported fields
}

AssignIncidentInput represents the input of a AssignIncident operation.

type AssignIncidentOutput

type AssignIncidentOutput struct {
	Incident *Incident
	// contains filtered or unexported fields
}

AssignIncidentOutput represents the output of a AssignIncident operation.

type AutotaskMetadata

type AutotaskMetadata struct {
	Username  string `json:"userName"`
	Secret    string `json:"secret"`
	WebServer string `json:"webServer"`
}

AutotaskMetadata definition

type CallRoutingNumber

type CallRoutingNumber struct {
	ID                  int          `json:"id"`
	Number              Phone        `json:"number"`
	VoiceLanguageLocale string       `json:"voiceLanguageLocale"`
	AlertSource         *AlertSource `json:"alertSource"`
}

CallRoutingNumber definition

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client wraps http client

func NewClient

func NewClient(options ...ClientOptions) *Client

NewClient creates an API client using an API token

func (*Client) AcceptIncident

func (c *Client) AcceptIncident(input *AcceptIncidentInput) (*AcceptIncidentOutput, error)

AcceptIncident gets the alert source with specified id. https://api.ilert.com/api-docs/#tag/Incidents/paths/~1incidents~1{id}~1accept/put

func (*Client) AssignIncident

func (c *Client) AssignIncident(input *AssignIncidentInput) (*AssignIncidentOutput, error)

AssignIncident gets the alert source with specified id. https://api.ilert.com/api-docs/#tag/Incidents/paths/~1incidents~1{id}~1assign/put

func (*Client) CreateAlertSource

func (c *Client) CreateAlertSource(input *CreateAlertSourceInput) (*CreateAlertSourceOutput, error)

CreateAlertSource creates a new alert source. https://api.ilert.com/api-docs/#tag/Alert-Sources/paths/~1alert-sources/post

func (*Client) CreateConnection

func (c *Client) CreateConnection(input *CreateConnectionInput) (*CreateConnectionOutput, error)

CreateConnection creates a new connection. https://api.ilert.com/api-docs/#tag/Connections/paths/~1connections/post

func (*Client) CreateConnector

func (c *Client) CreateConnector(input *CreateConnectorInput) (*CreateConnectorOutput, error)

CreateConnector creates a new connector. https://api.ilert.com/api-docs/#tag/Connectors/paths/~1connectors/post

func (*Client) CreateEscalationPolicy

func (c *Client) CreateEscalationPolicy(input *CreateEscalationPolicyInput) (*CreateEscalationPolicyOutput, error)

CreateEscalationPolicy creates a new escalation policy. https://api.ilert.com/api-docs/#tag/Escalation-Policies/paths/~1escalation-policies/post

func (*Client) CreateEvent

func (c *Client) CreateEvent(input *CreateEventInput) (*CreateEventOutput, error)

CreateEvent creates an incident event. https://api.ilert.com/api-docs/#tag/Events/paths/~1events/post

func (*Client) CreateTeam

func (c *Client) CreateTeam(input *CreateTeamInput) (*CreateTeamOutput, error)

CreateTeam creates a new team. https://api.ilert.com/api-docs/#tag/Teams/paths/~1teams/posts

func (*Client) CreateUptimeMonitor

func (c *Client) CreateUptimeMonitor(input *CreateUptimeMonitorInput) (*CreateUptimeMonitorOutput, error)

CreateUptimeMonitor creates a new uptime monitor. https://api.ilert.com/api-docs/#tag/Uptime-Monitors/paths/~1uptime-monitors/post

func (*Client) CreateUser

func (c *Client) CreateUser(input *CreateUserInput) (*CreateUserOutput, error)

CreateUser creates a new user. Requires ADMIN privileges. https://api.ilert.com/api-docs/#tag/Users/paths/~1users/post

func (*Client) DeleteAlertSource

func (c *Client) DeleteAlertSource(input *DeleteAlertSourceInput) (*DeleteAlertSourceOutput, error)

DeleteAlertSource deletes the specified alert source. https://api.ilert.com/api-docs/#tag/Alert-Sources/paths/~1alert-sources~1{id}/delete

func (*Client) DeleteConnection

func (c *Client) DeleteConnection(input *DeleteConnectionInput) (*DeleteConnectionOutput, error)

DeleteConnection deletes the specified alert source. https://api.ilert.com/api-docs/#tag/Connections/paths/~1connections~1{id}/delete

func (*Client) DeleteConnector

func (c *Client) DeleteConnector(input *DeleteConnectorInput) (*DeleteConnectorOutput, error)

DeleteConnector deletes the specified alert source. https://api.ilert.com/api-docs/#tag/Connectors/paths/~1connectors~1{id}/delete

func (*Client) DeleteEscalationPolicy

func (c *Client) DeleteEscalationPolicy(input *DeleteEscalationPolicyInput) (*DeleteEscalationPolicyOutput, error)

DeleteEscalationPolicy deletes the specified escalation policy. https://api.ilert.com/api-docs/#tag/Escalation-Policies/paths/~1escalation-policies~1{id}/delete

func (*Client) DeleteTeam

func (c *Client) DeleteTeam(input *DeleteTeamInput) (*DeleteTeamOutput, error)

DeleteTeam deletes the specified alert source. https://api.ilert.com/api-docs/#tag/Teams/paths/~1teams~1{id}/delete

func (*Client) DeleteUptimeMonitor

func (c *Client) DeleteUptimeMonitor(input *DeleteUptimeMonitorInput) (*DeleteUptimeMonitorOutput, error)

DeleteUptimeMonitor deletes the specified alert source. https://api.ilert.com/api-docs/#tag/Uptime-Monitors/paths/~1uptime-monitors~1{id}/delete

func (*Client) DeleteUser

func (c *Client) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error)

DeleteUser deletes the specified user. https://api.ilert.com/api-docs/#tag/Users/paths/~1users~1{user-id}/delete

func (*Client) GetAlertSource

func (c *Client) GetAlertSource(input *GetAlertSourceInput) (*GetAlertSourceOutput, error)

GetAlertSource gets the alert source with specified id. https://api.ilert.com/api-docs/#tag/Alert-Sources/paths/~1alert-sources~1{id}/get

func (*Client) GetAlertSources

func (c *Client) GetAlertSources(input *GetAlertSourcesInput) (*GetAlertSourcesOutput, error)

GetAlertSources lists alert sources. https://api.ilert.com/api-docs/#tag/Alert-Sources/paths/~1alert-sources/get

func (*Client) GetConnection

func (c *Client) GetConnection(input *GetConnectionInput) (*GetConnectionOutput, error)

GetConnection gets the connection with specified id. https://api.ilert.com/api-docs/#tag/Connections/paths/~1connections~1{id}/get

func (*Client) GetConnections

func (c *Client) GetConnections(input *GetConnectionsInput) (*GetConnectionsOutput, error)

GetConnections lists connections. https://api.ilert.com/api-docs/#tag/Connections/paths/~1connections/get

func (*Client) GetConnector

func (c *Client) GetConnector(input *GetConnectorInput) (*GetConnectorOutput, error)

GetConnector gets the connector with specified id. https://api.ilert.com/api-docs/#tag/Connectors/paths/~1connectors~1{id}/get

func (*Client) GetConnectors

func (c *Client) GetConnectors(input *GetConnectorsInput) (*GetConnectorsOutput, error)

GetConnectors lists connectors. https://api.ilert.com/api-docs/#tag/Connectors/paths/~1connectors/get

func (*Client) GetCurrentUser

func (c *Client) GetCurrentUser() (*GetUserOutput, error)

GetCurrentUser gets the currently authenticated user. https://api.ilert.com/api-docs/#tag/Users/paths/~1users~1current/get

func (*Client) GetEscalationPolicies

func (c *Client) GetEscalationPolicies(input *GetEscalationPoliciesInput) (*GetEscalationPoliciesOutput, error)

GetEscalationPolicies lists escalation policies. https://api.ilert.com/api-docs/#tag/Escalation-Policies/paths/~1escalation-policies/get

func (*Client) GetEscalationPolicy

func (c *Client) GetEscalationPolicy(input *GetEscalationPolicyInput) (*GetEscalationPolicyOutput, error)

GetEscalationPolicy gets the escalation policy with specified id. https://api.ilert.com/api-docs/#tag/Escalation-Policies/paths/~1escalation-policies~1{id}/get

func (*Client) GetIncident

func (c *Client) GetIncident(input *GetIncidentInput) (*GetIncidentOutput, error)

GetIncident gets the incident with specified id. https://api.ilert.com/api-docs/#tag/Incidents/paths/~1incidents~1{id}/get

func (*Client) GetIncidentActions

func (c *Client) GetIncidentActions(input *GetIncidentActionsInput) (*GetIncidentActionsOutput, error)

GetIncidentActions gets the incident with specified id. https://api.ilert.com/api-docs/#tag/Incident-Actions/paths/~1incidents~1{id}~1actions/get

func (*Client) GetIncidentLogEntries

func (c *Client) GetIncidentLogEntries(input *GetIncidentLogEntriesInput) (*GetIncidentLogEntriesOutput, error)

GetIncidentLogEntries gets log entries for the specified incident. https://api.ilert.com/api-docs/#tag/Incidents/paths/~1incidents~1{id}~1log-entries/get

func (*Client) GetIncidentResponder

func (c *Client) GetIncidentResponder(input *GetIncidentResponderInput) (*GetIncidentResponderOutput, error)

GetIncidentResponder gets the alert source with specified id. https://api.ilert.com/api-docs/#tag/Incidents/paths/~1incidents~1{id}~1responder/get

func (*Client) GetIncidents

func (c *Client) GetIncidents(input *GetIncidentsInput) (*GetIncidentsOutput, error)

GetIncidents lists alert sources. https://api.ilert.com/api-docs/#tag/Incidents/paths/~1incidents/get

func (*Client) GetIncidentsCount

func (c *Client) GetIncidentsCount(input *GetIncidentsCountInput) (*GetIncidentsCountOutput, error)

GetIncidentsCount gets list uptime monitors. https://api.ilert.com/api-docs/#tag/Incidents/paths/~1incidents~1count/get

func (*Client) GetNumbers

func (c *Client) GetNumbers(input *GetNumbersInput) (*GetNumbersOutput, error)

GetNumbers gets list available iLert phone numbers. https://api.ilert.com/api-docs/#tag/Numbers/paths/~1numbers/get

func (*Client) GetSchedule

func (c *Client) GetSchedule(input *GetScheduleInput) (*GetScheduleOutput, error)

GetSchedule gets the on-call schedule with the specified id. https://api.ilert.com/api-docs/#tag/Schedules/paths/~1schedules~1{id}/get

func (*Client) GetScheduleOverrides

func (c *Client) GetScheduleOverrides(input *GetScheduleOverridesInput) (*GetScheduleOverridesOutput, error)

GetScheduleOverrides gets overrides for the specified schedule. https://api.ilert.com/api-docs/#tag/Schedules/paths/~1schedules~1{id}~1overrides/get

func (*Client) GetScheduleShifts

func (c *Client) GetScheduleShifts(input *GetScheduleShiftsInput) (*GetScheduleShiftsOutput, error)

GetScheduleShifts gets shifts for the specified schedule and date range. https://api.ilert.com/api-docs/#tag/Schedules/paths/~1schedules~1{id}~1shifts/get

func (*Client) GetScheduleUserOnCall

func (c *Client) GetScheduleUserOnCall(input *GetScheduleUserOnCallInput) (*GetScheduleUserOnCallOutput, error)

GetScheduleUserOnCall gets overrides for the specified schedule. https://api.ilert.com/api-docs/#tag/Schedules/paths/~1schedules~1{id}~1user-on-call/get

func (*Client) GetSchedules

func (c *Client) GetSchedules(input *GetSchedulesInput) (*GetSchedulesOutput, error)

GetSchedules gets list on-call schedules. https://api.ilert.com/api-docs/#tag/Schedules/paths/~1schedules/get

func (*Client) GetTeam

func (c *Client) GetTeam(input *GetTeamInput) (*GetTeamOutput, error)

GetTeam gets the team with specified id. https://api.ilert.com/api-docs/#tag/Teams/paths/~1teams~1{id}/get

func (*Client) GetTeams

func (c *Client) GetTeams(input *GetTeamsInput) (*GetTeamsOutput, error)

GetTeams gets list teams. https://api.ilert.com/api-docs/#tag/Teams/paths/~1teams/get

func (*Client) GetUptimeMonitor

func (c *Client) GetUptimeMonitor(input *GetUptimeMonitorInput) (*GetUptimeMonitorOutput, error)

GetUptimeMonitor gets the uptime monitor with specified id. https://api.ilert.com/api-docs/#tag/Uptime-Monitors/paths/~1uptime-monitors~1{id}/get

func (*Client) GetUptimeMonitors

func (c *Client) GetUptimeMonitors(input *GetUptimeMonitorsInput) (*GetUptimeMonitorsOutput, error)

GetUptimeMonitors gets list uptime monitors. https://api.ilert.com/api-docs/#tag/Uptime-Monitors/paths/~1uptime-monitors/get

func (*Client) GetUptimeMonitorsCount

func (c *Client) GetUptimeMonitorsCount(input *GetUptimeMonitorsCountInput) (*GetUptimeMonitorsCountOutput, error)

GetUptimeMonitorsCount gets list uptime monitors. https://api.ilert.com/api-docs/#tag/Uptime-Monitors/paths/~1uptime-monitors~1count/get

func (*Client) GetUser

func (c *Client) GetUser(input *GetUserInput) (*GetUserOutput, error)

GetUser gets information about a user including contact methods and notification preferences. https://api.ilert.com/api-docs/#tag/Users/paths/~1users~1{user-id}/get

func (*Client) GetUsers

func (c *Client) GetUsers(input *GetUsersInput) (*GetUsersOutput, error)

GetUsers lists existing users. https://api.ilert.com/api-docs/#tag/Users/paths/~1users/get

func (*Client) InvokeIncidentAction

func (c *Client) InvokeIncidentAction(input *InvokeIncidentActionInput) (*InvokeIncidentActionOutput, error)

InvokeIncidentAction creates a new alert source. https://api.ilert.com/api-docs/#tag/Incident-Actions/paths/~1incidents~1{id}~1actions/post

func (*Client) PingHeartbeat

func (c *Client) PingHeartbeat(input *PingHeartbeatInput) (*PingHeartbeatOutput, error)

PingHeartbeat gets list available iLert phone numbers. https://api.ilert.com/api-docs/#tag/Heartbeats/paths/~1heartbeats~1{key}/get

func (*Client) ResolveIncident

func (c *Client) ResolveIncident(input *ResolveIncidentInput) (*ResolveIncidentOutput, error)

ResolveIncident gets the alert source with specified id. https://api.ilert.com/api-docs/#tag/Incidents/paths/~1incidents~1{id}~1resolve/put

func (*Client) UpdateAlertSource

func (c *Client) UpdateAlertSource(input *UpdateAlertSourceInput) (*UpdateAlertSourceOutput, error)

UpdateAlertSource updates an existing alert source. https://api.ilert.com/api-docs/#tag/Alert-Sources/paths/~1alert-sources~1{id}/put

func (*Client) UpdateConnection

func (c *Client) UpdateConnection(input *UpdateConnectionInput) (*UpdateConnectionOutput, error)

UpdateConnection updates an existing connection. https://api.ilert.com/api-docs/#tag/Connections/paths/~1connections~1{id}/put

func (*Client) UpdateConnector

func (c *Client) UpdateConnector(input *UpdateConnectorInput) (*UpdateConnectorOutput, error)

UpdateConnector updates an existing connector. https://api.ilert.com/api-docs/#tag/Connectors/paths/~1connectors~1{id}/put

func (*Client) UpdateCurrentUser

func (c *Client) UpdateCurrentUser(input *UpdateUserInput) (*UpdateUserOutput, error)

UpdateCurrentUser updates the currently authenticated user. https://api.ilert.com/api-docs/#tag/Users/paths/~1users~1current/put

func (*Client) UpdateEscalationPolicy

func (c *Client) UpdateEscalationPolicy(input *UpdateEscalationPolicyInput) (*UpdateEscalationPolicyOutput, error)

UpdateEscalationPolicy updates an existing escalation policy. https://api.ilert.com/api-docs/#tag/Escalation-Policies/paths/~1escalation-policies~1{id}/put

func (*Client) UpdateTeam

func (c *Client) UpdateTeam(input *UpdateTeamInput) (*UpdateTeamOutput, error)

UpdateTeam updates an existing team. https://api.ilert.com/api-docs/#tag/Teams/paths/~1teams~1{id}/put

func (*Client) UpdateUptimeMonitor

func (c *Client) UpdateUptimeMonitor(input *UpdateUptimeMonitorInput) (*UpdateUptimeMonitorOutput, error)

UpdateUptimeMonitor updates an existing uptime monitor. https://api.ilert.com/api-docs/#tag/Uptime-Monitors/paths/~1uptime-monitors~1{id}/put

func (*Client) UpdateUser

func (c *Client) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error)

UpdateUser updates an existing user. https://api.ilert.com/api-docs/#tag/Users/paths/~1users~1{user-id}/put

type ClientOptions

type ClientOptions func(*Client)

ClientOptions allows for options to be passed into the Client for customization

func WithAPIEndpoint

func WithAPIEndpoint(endpoint string) ClientOptions

WithAPIEndpoint allows for a custom API endpoint to be passed into the client

func WithAPIToken

func WithAPIToken(apiToken string) ClientOptions

WithAPIToken adds an api token to the client

func WithBasicAuth

func WithBasicAuth(organizationID string, username string, password string) ClientOptions

WithBasicAuth adds an basic auth credentials to the client

func WithProxy added in v1.5.0

func WithProxy(url string) ClientOptions

WithProxy setting a Proxy URL and Port

func WithRetry added in v1.3.0

func WithRetry(retryCount int, retryWaitTime time.Duration, retryMaxWaitTime time.Duration) ClientOptions

WithRetry enables retry logic with exponential backoff for the following errors:

- any network errors

- 5xx errors: this indicates an error in iLert

- 429 Too Many Requests: you have reached your rate limit

func WithUserAgent

func WithUserAgent(agent string) ClientOptions

WithUserAgent replace user agent to the client

type Connection

type Connection struct {
	ID             string      `json:"id,omitempty"`
	Name           string      `json:"name"`
	AlertSourceIDs []int64     `json:"alertSourceIds"`
	ConnectorID    string      `json:"connectorId"`
	ConnectorType  string      `json:"connectorType"`
	TriggerMode    string      `json:"triggerMode"`
	TriggerTypes   []string    `json:"triggerTypes,omitempty"`
	CreatedAt      string      `json:"createdAt,omitempty"` // date time string in ISO 8601
	UpdatedAt      string      `json:"updatedAt,omitempty"` // date time string in ISO 8601
	Params         interface{} `json:"params"`
}

Connection definition https://api.ilert.com/api-docs/#!/Connections

type ConnectionOutput

type ConnectionOutput struct {
	ID             string                  `json:"id"`
	Name           string                  `json:"name"`
	AlertSourceIDs []int64                 `json:"alertSourceIds"`
	ConnectorID    string                  `json:"connectorId"`
	ConnectorType  string                  `json:"connectorType"`
	TriggerMode    string                  `json:"triggerMode"`
	TriggerTypes   []string                `json:"triggerTypes,omitempty"`
	CreatedAt      string                  `json:"createdAt"` // date time string in ISO 8601
	UpdatedAt      string                  `json:"updatedAt"` // date time string in ISO 8601
	Params         *ConnectionOutputParams `json:"params"`
}

ConnectionOutput definition https://api.ilert.com/api-docs/#!/Connections

type ConnectionOutputParams

type ConnectionOutputParams struct {
	BodyTemplate    string   `json:"bodyTemplate,omitempty"`    // Custom, Jira, Email. Used to post data to external server
	CallerID        string   `json:"callerId,omitempty"`        // ServiceNow: user email
	ChannelID       string   `json:"channelId,omitempty"`       // Slack
	ChannelName     string   `json:"channelName,omitempty"`     // Slack
	CompanyID       int64    `json:"companyId,omitempty"`       // Autotask: Company ID
	EventFilter     string   `json:"eventFilter,omitempty"`     // Sysdig
	Impact          string   `json:"impact,omitempty"`          // ServiceNow: 1 - High, 2 - Medium, 3 - Low (Default)
	IssueType       string   `json:"issueType,omitempty"`       // Jira: "Bug" | "Epic" | "Subtask" | "Story" | "Task"
	IssueTypeNumber int64    `json:"issueTypeNumber,omitempty"` // Autotask: Issue type
	Labels          []string `json:"labels,omitempty"`          // Github
	Name            string   `json:"name,omitempty"`            // Jira or MicrosoftTeams or Zendesk
	Owner           string   `json:"owner,omitempty"`           // Github
	Priority        string   `json:"priority,omitempty"`        // Datadog: "normal" | "low". Zendesk: "urgent" | "high" | "normal" | "low".
	Project         string   `json:"project,omitempty"`         // Jira
	QueueID         int64    `json:"queueId,omitempty"`         // Autotask: Queue ID
	Recipients      []string `json:"recipients,omitempty"`      // Email
	Repository      string   `json:"repository,omitempty"`      // Github
	Site            string   `json:"site,omitempty"`            // Datadog: default `US`. Values: `US` or `EU`
	Status          string   `json:"status,omitempty"`          // Topdesk: firstLine, secondLine, partial
	Subject         string   `json:"subject,omitempty"`         // Email
	Tags            []string `json:"tags,omitempty"`            // Datadog or Sysdig
	TeamDomain      string   `json:"teamDomain,omitempty"`      // Slack
	TeamID          string   `json:"teamId,omitempty"`          // Slack
	TicketCategory  string   `json:"ticketCategory,omitempty"`  // Autotask
	TicketType      string   `json:"ticketType,omitempty"`      // Autotask
	Urgency         string   `json:"urgency,omitempty"`         // ServiceNow: 1 - High, 2 - Medium, 3 - Low (Default)
	WebhookURL      string   `json:"webhookUrl,omitempty"`      // Custom
	Email           string   `json:"email,omitempty"`           // Zammad
	PageID          string   `json:"pageId,omitempty"`          // StatusPage.io
}

ConnectionOutputParams definition

type ConnectionParamsAWSLambda

type ConnectionParamsAWSLambda struct {
	WebhookURL   string `json:"webhookUrl,omitempty"`
	BodyTemplate string `json:"bodyTemplate,omitempty"`
}

ConnectionParamsAWSLambda definition

type ConnectionParamsAutotask

type ConnectionParamsAutotask struct {
	CompanyID      string `json:"companyId,omitempty"`      // Autotask: Company ID
	IssueType      string `json:"issueType,omitempty"`      // Autotask: Issue type
	QueueID        int64  `json:"queueId,omitempty"`        // Autotask: Queue ID
	TicketCategory string `json:"ticketCategory,omitempty"` // Autotask ticket category
	TicketType     string `json:"ticketType,omitempty"`     // Autotask ticket type
}

ConnectionParamsAutotask definition

type ConnectionParamsAzureFunction

type ConnectionParamsAzureFunction struct {
	WebhookURL   string `json:"webhookUrl,omitempty"`
	BodyTemplate string `json:"bodyTemplate,omitempty"`
}

ConnectionParamsAzureFunction definition

type ConnectionParamsDatadog

type ConnectionParamsDatadog struct {
	Tags     []string `json:"tags,omitempty"`
	Priority string   `json:"priority,omitempty"` // "normal" | "low"
	Site     string   `json:"site,omitempty"`     // `US` | `EU`
}

ConnectionParamsDatadog definition

type ConnectionParamsDiscord

type ConnectionParamsDiscord struct{}

ConnectionParamsDiscord definition

type ConnectionParamsEmail

type ConnectionParamsEmail struct {
	Recipients   []string `json:"recipients,omitempty"`
	Subject      string   `json:"subject,omitempty"`
	BodyTemplate string   `json:"bodyTemplate,omitempty"`
}

ConnectionParamsEmail definition

type ConnectionParamsGithub

type ConnectionParamsGithub struct {
	Owner      string   `json:"owner,omitempty"`
	Repository string   `json:"repository,omitempty"`
	Labels     []string `json:"labels,omitempty"`
}

ConnectionParamsGithub definition

type ConnectionParamsGoogleFunction

type ConnectionParamsGoogleFunction struct {
	WebhookURL   string `json:"webhookUrl,omitempty"`
	BodyTemplate string `json:"bodyTemplate,omitempty"`
}

ConnectionParamsGoogleFunction definition

type ConnectionParamsJira

type ConnectionParamsJira struct {
	Project      string `json:"project,omitempty"`
	IssueType    string `json:"issueType,omitempty"` // "Bug" | "Epic" | "Subtask" | "Story" | "Task"
	BodyTemplate string `json:"bodyTemplate,omitempty"`
}

ConnectionParamsJira definition

type ConnectionParamsMicrosoftTeams

type ConnectionParamsMicrosoftTeams struct{}

ConnectionParamsMicrosoftTeams definition

type ConnectionParamsServiceNow

type ConnectionParamsServiceNow struct {
	CallerID string `json:"callerId,omitempty"` // user email
	Impact   string `json:"impact,omitempty"`   // 1 - High, 2 - Medium, 3 - Low (Default)
	Urgency  string `json:"urgency,omitempty"`  // 1 - High, 2 - Medium, 3 - Low (Default)
}

ConnectionParamsServiceNow definition

type ConnectionParamsSlack

type ConnectionParamsSlack struct {
	ChannelID   string `json:"channelId,omitempty"`
	ChannelName string `json:"channelName,omitempty"`
	TeamDomain  string `json:"teamDomain,omitempty"`
	TeamID      string `json:"teamId,omitempty"`
}

ConnectionParamsSlack definition

type ConnectionParamsStatusPageIO added in v1.4.0

type ConnectionParamsStatusPageIO struct {
	PageID string `json:"pageId,omitempty"`
}

ConnectionParamsStatusPageIO definition

type ConnectionParamsSysdig

type ConnectionParamsSysdig struct {
	Tags        []string `json:"tags,omitempty"`
	EventFilter string   `json:"eventFilter,omitempty"`
}

ConnectionParamsSysdig definition

type ConnectionParamsTopdesk

type ConnectionParamsTopdesk struct {
	Status string `json:"status,omitempty"` // `firstLine`| `secondLine` | `partial`
}

ConnectionParamsTopdesk definition

type ConnectionParamsWebhook

type ConnectionParamsWebhook struct {
	WebhookURL   string `json:"webhookUrl,omitempty"`
	BodyTemplate string `json:"bodyTemplate,omitempty"`
}

ConnectionParamsWebhook definition

type ConnectionParamsZammad added in v1.4.0

type ConnectionParamsZammad struct {
	Email string `json:"email,omitempty"`
}

ConnectionParamsZammad definition

type ConnectionParamsZapier

type ConnectionParamsZapier struct {
	WebhookURL string `json:"webhookUrl,omitempty"`
}

ConnectionParamsZapier definition

type ConnectionParamsZendesk

type ConnectionParamsZendesk struct {
	Priority string `json:"priority,omitempty"` // "urgent" | "high" | "normal" | "low"
}

ConnectionParamsZendesk definition

type Connector

type Connector struct {
	ID        string      `json:"id,omitempty"`
	Name      string      `json:"name"`
	Type      string      `json:"type"`
	CreatedAt string      `json:"createdAt,omitempty"` // date time string in ISO 8601
	UpdatedAt string      `json:"updatedAt,omitempty"` // date time string in ISO 8601
	Params    interface{} `json:"params"`
}

Connector definition

type ConnectorOutput

type ConnectorOutput struct {
	ID        string                `json:"id"`
	Name      string                `json:"name"`
	Type      string                `json:"type"`
	CreatedAt string                `json:"createdAt"` // date time string in ISO 8601
	UpdatedAt string                `json:"updatedAt"` // date time string in ISO 8601
	Params    ConnectorOutputParams `json:"params"`
}

ConnectorOutput definition

type ConnectorOutputParams

type ConnectorOutputParams struct {
	APIKey        string `json:"apiKey,omitempty"`        // Datadog or Zendesk or Github or Serverless or Autotask api key
	Authorization string `json:"authorization,omitempty"` // Serverless
	URL           string `json:"url,omitempty"`           // Jira or Microsoft Teams or Zendesk or Discord or Autotask server url
	Email         string `json:"email,omitempty"`         // Jira or ServiceNow or Zendesk username or email
	Username      string `json:"username,omitempty"`      // TOPdesk or ServiceNow or Autotask username
	Password      string `json:"password,omitempty"`      // Jira or ServiceNow or Autotask user password or api token
}

ConnectorOutputParams definition

type ConnectorParamsAWSLambda

type ConnectorParamsAWSLambda struct {
	Authorization string `json:"authorization,omitempty"`
}

ConnectorParamsAWSLambda definition

type ConnectorParamsAutotask added in v1.4.0

type ConnectorParamsAutotask struct {
	URL      string `json:"url"`
	Email    string `json:"email"`
	Password string `json:"password"`
}

ConnectorParamsAutotask definition

type ConnectorParamsAzureFunction

type ConnectorParamsAzureFunction struct {
	Authorization string `json:"authorization,omitempty"`
}

ConnectorParamsAzureFunction definition

type ConnectorParamsDatadog

type ConnectorParamsDatadog struct {
	APIKey string `json:"apiKey"`
}

ConnectorParamsDatadog definition

type ConnectorParamsDiscord

type ConnectorParamsDiscord struct {
	URL string `json:"url"`
}

ConnectorParamsDiscord definition

type ConnectorParamsGithub

type ConnectorParamsGithub struct {
	APIKey string `json:"apiKey"`
}

ConnectorParamsGithub definition

type ConnectorParamsGoogleFunction

type ConnectorParamsGoogleFunction struct {
	Authorization string `json:"authorization,omitempty"`
}

ConnectorParamsGoogleFunction definition

type ConnectorParamsJira

type ConnectorParamsJira struct {
	URL      string `json:"url"`
	Email    string `json:"email"`
	Password string `json:"password"`
}

ConnectorParamsJira definition

type ConnectorParamsMattermost added in v1.4.0

type ConnectorParamsMattermost struct {
	URL string `json:"url"`
}

ConnectorParamsMattermost definition

type ConnectorParamsMicrosoftTeams

type ConnectorParamsMicrosoftTeams struct {
	URL string `json:"url"`
}

ConnectorParamsMicrosoftTeams definition

type ConnectorParamsServiceNow

type ConnectorParamsServiceNow struct {
	URL      string `json:"url"`
	Username string `json:"username"`
	Password string `json:"password"`
}

ConnectorParamsServiceNow definition

type ConnectorParamsSlack

type ConnectorParamsSlack struct{}

ConnectorParamsSlack definition

type ConnectorParamsStatusPageIO added in v1.4.0

type ConnectorParamsStatusPageIO struct {
	APIKey string `json:"apiKey"`
}

ConnectorParamsStatusPageIO definition

type ConnectorParamsSysdig

type ConnectorParamsSysdig struct {
	APIKey string `json:"apiKey"`
}

ConnectorParamsSysdig definition

type ConnectorParamsTopdesk

type ConnectorParamsTopdesk struct {
	URL      string `json:"url"`
	Username string `json:"username"`
	Password string `json:"password"`
}

ConnectorParamsTopdesk definition

type ConnectorParamsZammad added in v1.4.0

type ConnectorParamsZammad struct {
	URL    string `json:"url"`
	APIKey string `json:"apiKey"`
}

ConnectorParamsZammad definition

type ConnectorParamsZendesk

type ConnectorParamsZendesk struct {
	URL    string `json:"url"`
	Email  string `json:"email"`
	APIKey string `json:"apiKey"`
}

ConnectorParamsZendesk definition

type CreateAlertSourceInput

type CreateAlertSourceInput struct {
	AlertSource *AlertSource
	// contains filtered or unexported fields
}

CreateAlertSourceInput represents the input of a CreateAlertSource operation.

type CreateAlertSourceOutput

type CreateAlertSourceOutput struct {
	AlertSource *AlertSource
	// contains filtered or unexported fields
}

CreateAlertSourceOutput represents the output of a CreateAlertSource operation.

type CreateConnectionInput

type CreateConnectionInput struct {
	Connection *Connection
	// contains filtered or unexported fields
}

CreateConnectionInput represents the input of a CreateConnection operation.

type CreateConnectionOutput

type CreateConnectionOutput struct {
	Connection *ConnectionOutput
	// contains filtered or unexported fields
}

CreateConnectionOutput represents the output of a CreateConnection operation.

type CreateConnectorInput

type CreateConnectorInput struct {
	Connector *Connector
	// contains filtered or unexported fields
}

CreateConnectorInput represents the input of a CreateConnector operation.

type CreateConnectorOutput

type CreateConnectorOutput struct {
	Connector *ConnectorOutput
	// contains filtered or unexported fields
}

CreateConnectorOutput represents the output of a CreateConnector operation.

type CreateEscalationPolicyInput

type CreateEscalationPolicyInput struct {
	EscalationPolicy *EscalationPolicy
	// contains filtered or unexported fields
}

CreateEscalationPolicyInput represents the input of a CreateEscalationPolicy operation.

type CreateEscalationPolicyOutput

type CreateEscalationPolicyOutput struct {
	EscalationPolicy *EscalationPolicy
	// contains filtered or unexported fields
}

CreateEscalationPolicyOutput represents the output of a CreateEscalationPolicy operation.

type CreateEventInput

type CreateEventInput struct {

	// incident event
	Event *Event
	// (optional) request url
	URL *string
	// contains filtered or unexported fields
}

CreateEventInput represents the input of a CreateEvent operation.

type CreateEventOutput

type CreateEventOutput struct {
	EventResponse *EventResponse
	// contains filtered or unexported fields
}

CreateEventOutput represents the output of a CreateEvent operation.

type CreateTeamInput

type CreateTeamInput struct {
	Team *Team
	// contains filtered or unexported fields
}

CreateTeamInput represents the input of a CreateTeam operation.

type CreateTeamOutput

type CreateTeamOutput struct {
	Team *Team
	// contains filtered or unexported fields
}

CreateTeamOutput represents the output of a CreateTeam operation.

type CreateUptimeMonitorInput

type CreateUptimeMonitorInput struct {
	UptimeMonitor *UptimeMonitor
	// contains filtered or unexported fields
}

CreateUptimeMonitorInput represents the input of a CreateUptimeMonitor operation.

type CreateUptimeMonitorOutput

type CreateUptimeMonitorOutput struct {
	UptimeMonitor *UptimeMonitor
	// contains filtered or unexported fields
}

CreateUptimeMonitorOutput represents the output of a CreateUptimeMonitor operation.

type CreateUserInput

type CreateUserInput struct {
	User *User
	// contains filtered or unexported fields
}

CreateUserInput represents the input of a CreateUser operation.

type CreateUserOutput

type CreateUserOutput struct {
	User *User
	// contains filtered or unexported fields
}

CreateUserOutput represents the output of a CreateUser operation.

type DeleteAlertSourceInput

type DeleteAlertSourceInput struct {
	AlertSourceID *int64
	// contains filtered or unexported fields
}

DeleteAlertSourceInput represents the input of a DeleteAlertSource operation.

type DeleteAlertSourceOutput

type DeleteAlertSourceOutput struct {
	// contains filtered or unexported fields
}

DeleteAlertSourceOutput represents the output of a DeleteAlertSource operation.

type DeleteConnectionInput

type DeleteConnectionInput struct {
	ConnectionID *string
	// contains filtered or unexported fields
}

DeleteConnectionInput represents the input of a DeleteConnection operation.

type DeleteConnectionOutput

type DeleteConnectionOutput struct {
	// contains filtered or unexported fields
}

DeleteConnectionOutput represents the output of a DeleteConnection operation.

type DeleteConnectorInput

type DeleteConnectorInput struct {
	ConnectorID *string
	// contains filtered or unexported fields
}

DeleteConnectorInput represents the input of a DeleteConnector operation.

type DeleteConnectorOutput

type DeleteConnectorOutput struct {
	// contains filtered or unexported fields
}

DeleteConnectorOutput represents the output of a DeleteConnector operation.

type DeleteEscalationPolicyInput

type DeleteEscalationPolicyInput struct {
	EscalationPolicyID *int64
	// contains filtered or unexported fields
}

DeleteEscalationPolicyInput represents the input of a DeleteEscalationPolicy operation.

type DeleteEscalationPolicyOutput

type DeleteEscalationPolicyOutput struct {
	// contains filtered or unexported fields
}

DeleteEscalationPolicyOutput represents the output of a DeleteEscalationPolicy operation.

type DeleteTeamInput

type DeleteTeamInput struct {
	TeamID *int64
	// contains filtered or unexported fields
}

DeleteTeamInput represents the input of a DeleteTeam operation.

type DeleteTeamOutput

type DeleteTeamOutput struct {
	// contains filtered or unexported fields
}

DeleteTeamOutput represents the output of a DeleteTeam operation.

type DeleteUptimeMonitorInput

type DeleteUptimeMonitorInput struct {
	UptimeMonitorID *int64
	// contains filtered or unexported fields
}

DeleteUptimeMonitorInput represents the input of a DeleteUptimeMonitor operation.

type DeleteUptimeMonitorOutput

type DeleteUptimeMonitorOutput struct {
	// contains filtered or unexported fields
}

DeleteUptimeMonitorOutput represents the output of a DeleteUptimeMonitor operation.

type DeleteUserInput

type DeleteUserInput struct {
	UserID   *int64
	Username *string
	// contains filtered or unexported fields
}

DeleteUserInput represents the input of a DeleteUser operation.

type DeleteUserOutput

type DeleteUserOutput struct {
	// contains filtered or unexported fields
}

DeleteUserOutput represents the output of a DeleteUser operation.

type EmailPredicate

type EmailPredicate struct {
	Field    string `json:"field"`
	Criteria string `json:"criteria"`
	Value    string `json:"value"`
}

EmailPredicate definition

type EscalationPolicy

type EscalationPolicy struct {
	ID              int64            `json:"id,omitempty"`
	Name            string           `json:"name"`
	EscalationRules []EscalationRule `json:"escalationRules"`
	Repeating       bool             `json:"repeating,omitempty"`
	Frequency       int              `json:"frequency,omitempty"`
	Teams           []TeamShort      `json:"teams,omitempty"`
}

EscalationPolicy definition https://api.ilert.com/api-docs/#!/Escalation_Policies

type EscalationRule

type EscalationRule struct {
	User              *User     `json:"user,omitempty"`
	Schedule          *Schedule `json:"schedule,omitempty"`
	EscalationTimeout int       `json:"escalationTimeout"`
}

EscalationRule definition

type Event

type Event struct {
	// Required. The API key of the alert source.
	APIKey string `json:"apiKey"`

	// Required. Must be either ALERT, ACCEPT, or RESOLVE
	EventType string `json:"eventType"`

	// Required. The event summary. Will be used as the incident summary if a new incident is created.
	Summary string `json:"summary"`

	// Optional. The event details. Will be used as the incident details if a new incident is created.
	Details string `json:"details,omitempty"`

	// Optional. For ALERT events, the incident key can be used to deduplicate or group events. If an open incident with the key already exists, the event will be appended to the incident's event log. Otherwise a new incident will be created. For ACCEPT and RESOLVE events, the incident key is used to reference the open incident which is to be accepted or resolved by this event.
	IncidentKey string `json:"incidentKey,omitempty"`

	// Optional. For ALERT events, the incident key can be used to deduplicate or group events. If an open incident with the key already exists, the event will be appended to the incident's event log. Otherwise a new incident will be created. For ACCEPT and RESOLVE events, the incident key is used to reference the open incident which is to be accepted or resolved by this event.
	Priority string `json:"priority,omitempty"`

	// Optional. A list of images containing src, href and alt.
	Images []IncidentImage `json:"images,omitempty"`

	// Optional. A list of links, containing href and text.
	Links []IncidentLink `json:"links,omitempty"`

	// Optional. Additional custom details for the event.
	CustomDetails map[string]interface{} `json:"customDetails,omitempty"`
}

Event represents the incident event https://api.ilert.com/api-docs/#tag/Events

type EventResponse

type EventResponse struct {
	IncidentKey  string `json:"incidentKey"`
	IncidentURL  string `json:"incidentUrl"`
	ResponseCode string `json:"responseCode"`
}

EventResponse describes event API response body

type GenericAPIError added in v1.4.0

type GenericAPIError struct {
	Status  int    `json:"status"`
	Message string `json:"message"`
	Code    string `json:"code"`
	// contains filtered or unexported fields
}

GenericAPIError describes generic API response error e.g. bad request

func (*GenericAPIError) Error added in v1.4.0

func (aerr *GenericAPIError) Error() string

type GenericCountResponse

type GenericCountResponse struct {
	Count int `json:"count"`
}

GenericCountResponse describes generic resources count response

type GetAlertSourceInput

type GetAlertSourceInput struct {
	AlertSourceID *int64
	// contains filtered or unexported fields
}

GetAlertSourceInput represents the input of a GetAlertSource operation.

type GetAlertSourceOutput

type GetAlertSourceOutput struct {
	AlertSource *AlertSource
	// contains filtered or unexported fields
}

GetAlertSourceOutput represents the output of a GetAlertSource operation.

type GetAlertSourcesInput

type GetAlertSourcesInput struct {
	// contains filtered or unexported fields
}

GetAlertSourcesInput represents the input of a GetAlertSources operation.

type GetAlertSourcesOutput

type GetAlertSourcesOutput struct {
	AlertSources []*AlertSource
	// contains filtered or unexported fields
}

GetAlertSourcesOutput represents the output of a GetAlertSources operation.

type GetConnectionInput

type GetConnectionInput struct {
	ConnectionID *string
	// contains filtered or unexported fields
}

GetConnectionInput represents the input of a GetConnection operation.

type GetConnectionOutput

type GetConnectionOutput struct {
	Connection *ConnectionOutput
	// contains filtered or unexported fields
}

GetConnectionOutput represents the output of a GetConnection operation.

type GetConnectionsInput

type GetConnectionsInput struct {
	// contains filtered or unexported fields
}

GetConnectionsInput represents the input of a GetConnections operation.

type GetConnectionsOutput

type GetConnectionsOutput struct {
	Connections []*ConnectionOutput
	// contains filtered or unexported fields
}

GetConnectionsOutput represents the output of a GetConnections operation.

type GetConnectorInput

type GetConnectorInput struct {
	ConnectorID *string
	// contains filtered or unexported fields
}

GetConnectorInput represents the input of a GetConnector operation.

type GetConnectorOutput

type GetConnectorOutput struct {
	Connector *ConnectorOutput
	// contains filtered or unexported fields
}

GetConnectorOutput represents the output of a GetConnector operation.

type GetConnectorsInput

type GetConnectorsInput struct {
	// contains filtered or unexported fields
}

GetConnectorsInput represents the input of a GetConnectors operation.

type GetConnectorsOutput

type GetConnectorsOutput struct {
	Connectors []*ConnectorOutput
	// contains filtered or unexported fields
}

GetConnectorsOutput represents the output of a GetConnectors operation.

type GetEscalationPoliciesInput

type GetEscalationPoliciesInput struct {
	// contains filtered or unexported fields
}

GetEscalationPoliciesInput represents the input of a GetEscalationPolicies operation.

type GetEscalationPoliciesOutput

type GetEscalationPoliciesOutput struct {
	EscalationPolicies []*EscalationPolicy
	// contains filtered or unexported fields
}

GetEscalationPoliciesOutput represents the output of a GetEscalationPolicies operation.

type GetEscalationPolicyInput

type GetEscalationPolicyInput struct {
	EscalationPolicyID *int64
	// contains filtered or unexported fields
}

GetEscalationPolicyInput represents the input of a GetEscalationPolicy operation.

type GetEscalationPolicyOutput

type GetEscalationPolicyOutput struct {
	EscalationPolicy *EscalationPolicy
	// contains filtered or unexported fields
}

GetEscalationPolicyOutput represents the output of a GetEscalationPolicy operation.

type GetIncidentActionsInput

type GetIncidentActionsInput struct {
	IncidentID *int64
	// contains filtered or unexported fields
}

GetIncidentActionsInput represents the input of a GetIncidentsAction operation.

type GetIncidentActionsOutput

type GetIncidentActionsOutput struct {
	Actions []*IncidentAction
	// contains filtered or unexported fields
}

GetIncidentActionsOutput represents the output of a GetIncidentsAction operation.

type GetIncidentInput

type GetIncidentInput struct {
	IncidentID *int64
	// contains filtered or unexported fields
}

GetIncidentInput represents the input of a GetIncident operation.

type GetIncidentLogEntriesInput

type GetIncidentLogEntriesInput struct {
	IncidentID *int64
	Language   *string
	// contains filtered or unexported fields
}

GetIncidentLogEntriesInput represents the input of a GetIncidentLogEntries operation.

type GetIncidentLogEntriesOutput

type GetIncidentLogEntriesOutput struct {
	LogEntries []*IncidentLogEntry
	// contains filtered or unexported fields
}

GetIncidentLogEntriesOutput represents the output of a GetIncidentLogEntries operation.

type GetIncidentOutput

type GetIncidentOutput struct {
	Incident *Incident
	// contains filtered or unexported fields
}

GetIncidentOutput represents the output of a GetIncident operation.

type GetIncidentResponderInput

type GetIncidentResponderInput struct {
	IncidentID *int64
	Language   *string
	// contains filtered or unexported fields
}

GetIncidentResponderInput represents the input of a GetIncidentResponder operation.

type GetIncidentResponderOutput

type GetIncidentResponderOutput struct {
	Responders []*IncidentResponder
	// contains filtered or unexported fields
}

GetIncidentResponderOutput represents the output of a GetIncidentResponder operation.

type GetIncidentsCountInput

type GetIncidentsCountInput struct {

	// state of the incident
	States []*string

	// alert source IDs of the incident's alert source
	AlertSources []*int64

	// user IDs of the user that the incident is assigned to
	AssignedToUserIDs []*int64

	// usernames of the user that the incident is assigned to
	AssignedToUserNames []*string

	// Date time string in ISO format
	From *string

	// Date time string in ISO format
	Until *string
	// contains filtered or unexported fields
}

GetIncidentsCountInput represents the input of a GetIncidentsCount operation.

type GetIncidentsCountOutput

type GetIncidentsCountOutput struct {
	Count int
	// contains filtered or unexported fields
}

GetIncidentsCountOutput represents the output of a GetIncidentsCount operation.

type GetIncidentsInput

type GetIncidentsInput struct {

	// an integer specifying the starting point (beginning with 0) when paging through a list of entities
	StartIndex *int

	// the maximum number of results when paging through a list of entities.
	// Default: 50
	MaxResults *int

	// state of the incident
	States []*string

	// alert source IDs of the incident's alert source
	AlertSources []*int64

	// user IDs of the user that the incident is assigned to
	AssignedToUserIDs []*int64

	// usernames of the user that the incident is assigned to
	AssignedToUserNames []*string

	// Date time string in ISO format
	From *string

	// Date time string in ISO format
	Until *string
	// contains filtered or unexported fields
}

GetIncidentsInput represents the input of a GetIncidents operation.

type GetIncidentsOutput

type GetIncidentsOutput struct {
	Incidents []*Incident
	// contains filtered or unexported fields
}

GetIncidentsOutput represents the output of a GetIncidents operation.

type GetNumbersInput

type GetNumbersInput struct {
	// contains filtered or unexported fields
}

GetNumbersInput represents the input of a GetNumbers operation.

type GetNumbersOutput

type GetNumbersOutput struct {
	Numbers []*Number
	// contains filtered or unexported fields
}

GetNumbersOutput represents the output of a GetNumbers operation.

type GetScheduleInput

type GetScheduleInput struct {
	ScheduleID *int64
	// contains filtered or unexported fields
}

GetScheduleInput represents the input of a GetSchedule operation.

type GetScheduleOutput

type GetScheduleOutput struct {
	Schedule *Schedule
	// contains filtered or unexported fields
}

GetScheduleOutput represents the output of a GetSchedule operation.

type GetScheduleOverridesInput

type GetScheduleOverridesInput struct {
	ScheduleID *int64
	// contains filtered or unexported fields
}

GetScheduleOverridesInput represents the input of a GetScheduleOverrides operation.

type GetScheduleOverridesOutput

type GetScheduleOverridesOutput struct {
	Overrides []*Shift
	// contains filtered or unexported fields
}

GetScheduleOverridesOutput represents the output of a GetScheduleOverrides operation.

type GetScheduleShiftsInput

type GetScheduleShiftsInput struct {
	ScheduleID       *int64
	From             *string // Date time string in ISO format
	Until            *string // Date time string in ISO format
	ExcludeOverrides *bool
	// contains filtered or unexported fields
}

GetScheduleShiftsInput represents the input of a GetScheduleShifts operation.

type GetScheduleShiftsOutput

type GetScheduleShiftsOutput struct {
	Shifts []*Shift
	// contains filtered or unexported fields
}

GetScheduleShiftsOutput represents the output of a GetScheduleShifts operation.

type GetScheduleUserOnCallInput

type GetScheduleUserOnCallInput struct {
	ScheduleID *int64
	// contains filtered or unexported fields
}

GetScheduleUserOnCallInput represents the input of a GetScheduleUserOnCall operation.

type GetScheduleUserOnCallOutput

type GetScheduleUserOnCallOutput struct {
	Shift *Shift
	// contains filtered or unexported fields
}

GetScheduleUserOnCallOutput represents the output of a GetScheduleUserOnCall operation.

type GetSchedulesInput

type GetSchedulesInput struct {
	// contains filtered or unexported fields
}

GetSchedulesInput represents the input of a GetSchedules operation.

type GetSchedulesOutput

type GetSchedulesOutput struct {
	Schedules []*Schedule
	// contains filtered or unexported fields
}

GetSchedulesOutput represents the output of a GetSchedules operation.

type GetTeamInput

type GetTeamInput struct {
	TeamID *int64
	// contains filtered or unexported fields
}

GetTeamInput represents the input of a GetTeam operation.

type GetTeamOutput

type GetTeamOutput struct {
	Team *Team
	// contains filtered or unexported fields
}

GetTeamOutput represents the output of a GetTeam operation.

type GetTeamsInput

type GetTeamsInput struct {
	// contains filtered or unexported fields
}

GetTeamsInput represents the input of a GetTeams operation.

type GetTeamsOutput

type GetTeamsOutput struct {
	Teams []*Team
	// contains filtered or unexported fields
}

GetTeamsOutput represents the output of a GetTeams operation.

type GetUptimeMonitorInput

type GetUptimeMonitorInput struct {
	UptimeMonitorID *int64
	// contains filtered or unexported fields
}

GetUptimeMonitorInput represents the input of a GetUptimeMonitor operation.

type GetUptimeMonitorOutput

type GetUptimeMonitorOutput struct {
	UptimeMonitor *UptimeMonitor
	// contains filtered or unexported fields
}

GetUptimeMonitorOutput represents the output of a GetUptimeMonitor operation.

type GetUptimeMonitorsCountInput

type GetUptimeMonitorsCountInput struct {
	// contains filtered or unexported fields
}

GetUptimeMonitorsCountInput represents the input of a GetUptimeMonitorsCount operation.

type GetUptimeMonitorsCountOutput

type GetUptimeMonitorsCountOutput struct {
	Count int
	// contains filtered or unexported fields
}

GetUptimeMonitorsCountOutput represents the output of a GetUptimeMonitorsCount operation.

type GetUptimeMonitorsInput

type GetUptimeMonitorsInput struct {
	// contains filtered or unexported fields
}

GetUptimeMonitorsInput represents the input of a GetUptimeMonitors operation.

type GetUptimeMonitorsOutput

type GetUptimeMonitorsOutput struct {
	UptimeMonitors []*UptimeMonitor
	// contains filtered or unexported fields
}

GetUptimeMonitorsOutput represents the output of a GetUptimeMonitors operation.

type GetUserInput

type GetUserInput struct {
	UserID   *int64
	Username *string
	// contains filtered or unexported fields
}

GetUserInput represents the input of a GetUser operation.

type GetUserOutput

type GetUserOutput struct {
	User *User
	// contains filtered or unexported fields
}

GetUserOutput represents the output of a GetUser operation.

type GetUsersInput

type GetUsersInput struct {
	// contains filtered or unexported fields
}

GetUsersInput represents the input of a GetUsers operation.

type GetUsersOutput

type GetUsersOutput struct {
	Users []*User
	// contains filtered or unexported fields
}

GetUsersOutput represents the output of a GetUsers operation.

type Heartbeat

type Heartbeat struct {
	Summary     string `json:"summary"`
	IntervalSec int    `json:"intervalSec"`
	Status      string `json:"status"`
}

Heartbeat definition

type Incident

type Incident struct {
	ID                 int64                  `json:"id"`
	Summary            string                 `json:"summary"`
	Details            string                 `json:"details"`
	ReportTime         string                 `json:"reportTime"` // Date time string in ISO format
	ResolvedOn         string                 `json:"resolvedOn"` // Date time string in ISO format
	Status             string                 `json:"status"`
	AlertSource        *AlertSource           `json:"alertSource,omitempty"`
	Priority           string                 `json:"priority"`
	IncidentKey        string                 `json:"incidentKey"`
	AssignedTo         *User                  `json:"assignedTo,omitempty"`
	NextEscalation     string                 `json:"nextEscalation"` // Date time string in ISO format
	CallRoutingNumber  *CallRoutingNumber     `json:"callRoutingNumber,omitempty"`
	AcknowledgedBy     *User                  `json:"acknowledgedBy,omitempty"`
	AcknowledgedByType string                 `json:"acknowledgedByType,omitempty"`
	ResolvedBy         *User                  `json:"resolvedBy,omitempty"`
	ResolvedByType     string                 `json:"resolvedByType,omitempty"`
	Images             []IncidentImage        `json:"images,omitempty"`
	Links              []IncidentLink         `json:"links,omitempty"`
	CustomDetails      map[string]interface{} `json:"customDetails,omitempty"`
}

Incident definition

type IncidentAction

type IncidentAction struct {
	Name        string                 `json:"name"`
	WebhookID   string                 `json:"webhookId"`
	ExtensionID string                 `json:"extensionId"`
	IconURL     string                 `json:"iconUrl"`
	History     []IncidentActionResult `json:"history"`
}

IncidentAction definition

type IncidentActionResult

type IncidentActionResult struct {
	ID          string `json:"id"`
	IncidentID  int64  `json:"incidentId"`
	WebhookID   string `json:"webhookId"`
	ExtensionID string `json:"extensionId"`
	Actor       User   `json:"actor"`
	Success     bool   `json:"success"`
}

IncidentActionResult definition

type IncidentComment

type IncidentComment struct {
	ID             string `json:"id"`
	Content        string `json:"content"`
	Creator        *User  `json:"creator"`
	TriggerType    string `json:"triggerType"`
	ResolveComment bool   `json:"resolveComment"`
	Created        string `json:"created"`
	Updated        string `json:"updated"`
}

IncidentComment definition

type IncidentImage

type IncidentImage struct {
	Src  string `json:"src"`
	Href string `json:"href"`
	Alt  string `json:"alt"`
}

IncidentImage represents event image

type IncidentLink struct {
	Text string `json:"text"`
	Href string `json:"href"`
}

IncidentLink represents event link

type IncidentLogEntry

type IncidentLogEntry struct {
	ID           int64  `json:"id"`
	Timestamp    string `json:"timestamp"` // Date time string in ISO format
	LogEntryType string `json:"logEntryType"`
	Text         string `json:"text"`
	IncidentID   int64  `json:"incidentId"`
}

IncidentLogEntry definition

type IncidentResponder

type IncidentResponder struct {
	ID       int64  `json:"id"`
	Name     string `json:"name"`
	Group    string `json:"group"`
	Disabled bool   `json:"disabled"`
}

IncidentResponder definition

type InvokeIncidentActionInput

type InvokeIncidentActionInput struct {
	IncidentID *int64
	Action     *IncidentAction
	// contains filtered or unexported fields
}

InvokeIncidentActionInput represents the input of a InvokeIncidentAction operation.

type InvokeIncidentActionOutput

type InvokeIncidentActionOutput struct {
	Action *IncidentAction
	// contains filtered or unexported fields
}

InvokeIncidentActionOutput represents the output of a InvokeIncidentAction operation.

type NotificationPreference

type NotificationPreference struct {
	Delay  int    `json:"delay"`
	Method string `json:"method"` // e.g. EMAIL
}

NotificationPreference definition

type Number

type Number struct {
	CountryCode        string   `json:"countryCode"`
	PhoneNumber        string   `json:"phoneNumber"`
	SupportsInboundSMS bool     `json:"supportsInboundSms"`
	Types              []string `json:"types"`
}

Number definition https://api.ilert.com/api-docs/#tag/Numbers

type OnCallNotificationPreference

type OnCallNotificationPreference struct {
	BeforeMin int    `json:"beforeMin"`
	Method    string `json:"method"` // e.g. EMAIL
}

OnCallNotificationPreference definition

type Ownership

type Ownership struct {
	TeamID int64 `json:"teamId"`
}

Ownership definition

type Phone

type Phone struct {
	RegionCode string `json:"regionCode"`
	Number     string `json:"number"`
}

Phone definition

type PingHeartbeatInput

type PingHeartbeatInput struct {
	Method *string
	APIKey *string
	// contains filtered or unexported fields
}

PingHeartbeatInput represents the input of a PingHeartbeat operation.

type PingHeartbeatOutput

type PingHeartbeatOutput struct {
	// contains filtered or unexported fields
}

PingHeartbeatOutput represents the output of a PingHeartbeat operation.

type ResolveIncidentInput

type ResolveIncidentInput struct {
	IncidentID *int64
	// contains filtered or unexported fields
}

ResolveIncidentInput represents the input of a ResolveIncident operation.

type ResolveIncidentOutput

type ResolveIncidentOutput struct {
	Incident *Incident
	// contains filtered or unexported fields
}

ResolveIncidentOutput represents the output of a ResolveIncident operation.

type Schedule

type Schedule struct {
	ID           int64       `json:"id,omitempty"`
	Name         string      `json:"name"`
	Timezone     string      `json:"timezone,omitempty"`
	StartsOn     string      `json:"startsOn,omitempty"` // Date time string in ISO format
	CurrentShift Shift       `json:"currentShift,omitempty"`
	NextShift    Shift       `json:"nextShift,omitempty"`
	Teams        []TeamShort `json:"teams,omitempty"`
}

Schedule definition https://api.ilert.com/api-docs/#tag/Schedules

type Shift

type Shift struct {
	User  User   `json:"user"`
	Start string `json:"start"` // Date time string in ISO format
	End   string `json:"end"`   // Date time string in ISO format
}

Shift definition

type SupportDay

type SupportDay struct {
	Start string `json:"start"`
	End   string `json:"end"`
}

SupportDay definition

type SupportDays

type SupportDays struct {
	MONDAY    *SupportDay `json:"MONDAY"`
	TUESDAY   *SupportDay `json:"TUESDAY"`
	WEDNESDAY *SupportDay `json:"WEDNESDAY"`
	THURSDAY  *SupportDay `json:"THURSDAY"`
	FRIDAY    *SupportDay `json:"FRIDAY"`
	SATURDAY  *SupportDay `json:"SATURDAY"`
	SUNDAY    *SupportDay `json:"SUNDAY"`
}

SupportDays definition

type SupportHours

type SupportHours struct {
	Timezone           string      `json:"timezone"`
	AutoRaiseIncidents bool        `json:"autoRaiseIncidents,omitempty"` // Raise priority of all pending incidents for this alert source to 'high' when support hours begin
	SupportDays        SupportDays `json:"supportDays"`
}

SupportHours definition

type Team

type Team struct {
	ID         int64        `json:"id"`
	Name       string       `json:"name"`
	Visibility string       `json:"visibility"`
	Members    []TeamMember `json:"members"`
}

Team definition https://api.ilert.com/api-docs/#tag/Teams

type TeamMember

type TeamMember struct {
	User User   `json:"user"`
	Role string `json:"role"` // "ADMIN" or "USER" or "RESPONDER" or "STAKEHOLDER"
}

TeamMember definition

type TeamShort

type TeamShort struct {
	ID   int64  `json:"id"`
	Name string `json:"name,omitempty"`
}

TeamShort definition

type UpdateAlertSourceInput

type UpdateAlertSourceInput struct {
	AlertSourceID *int64
	AlertSource   *AlertSource
	// contains filtered or unexported fields
}

UpdateAlertSourceInput represents the input of a UpdateAlertSource operation.

type UpdateAlertSourceOutput

type UpdateAlertSourceOutput struct {
	AlertSource *AlertSource
	// contains filtered or unexported fields
}

UpdateAlertSourceOutput represents the output of a UpdateAlertSource operation.

type UpdateConnectionInput

type UpdateConnectionInput struct {
	ConnectionID *string
	Connection   *Connection
	// contains filtered or unexported fields
}

UpdateConnectionInput represents the input of a UpdateConnection operation.

type UpdateConnectionOutput

type UpdateConnectionOutput struct {
	Connection *ConnectionOutput
	// contains filtered or unexported fields
}

UpdateConnectionOutput represents the output of a UpdateConnection operation.

type UpdateConnectorInput

type UpdateConnectorInput struct {
	ConnectorID *string
	Connector   *Connector
	// contains filtered or unexported fields
}

UpdateConnectorInput represents the input of a UpdateConnector operation.

type UpdateConnectorOutput

type UpdateConnectorOutput struct {
	Connector *ConnectorOutput
	// contains filtered or unexported fields
}

UpdateConnectorOutput represents the output of a UpdateConnector operation.

type UpdateEscalationPolicyInput

type UpdateEscalationPolicyInput struct {
	EscalationPolicyID *int64
	EscalationPolicy   *EscalationPolicy
	// contains filtered or unexported fields
}

UpdateEscalationPolicyInput represents the input of a UpdateEscalationPolicy operation.

type UpdateEscalationPolicyOutput

type UpdateEscalationPolicyOutput struct {
	EscalationPolicy *EscalationPolicy
	// contains filtered or unexported fields
}

UpdateEscalationPolicyOutput represents the output of a UpdateEscalationPolicy operation.

type UpdateTeamInput

type UpdateTeamInput struct {
	TeamID *int64
	Team   *Team
	// contains filtered or unexported fields
}

UpdateTeamInput represents the input of a UpdateTeam operation.

type UpdateTeamOutput

type UpdateTeamOutput struct {
	Team *Team
	// contains filtered or unexported fields
}

UpdateTeamOutput represents the output of a UpdateTeam operation.

type UpdateUptimeMonitorInput

type UpdateUptimeMonitorInput struct {
	UptimeMonitorID *int64
	UptimeMonitor   *UptimeMonitor
	// contains filtered or unexported fields
}

UpdateUptimeMonitorInput represents the input of a UpdateUptimeMonitor operation.

type UpdateUptimeMonitorOutput

type UpdateUptimeMonitorOutput struct {
	UptimeMonitor *UptimeMonitor
	// contains filtered or unexported fields
}

UpdateUptimeMonitorOutput represents the output of a UpdateUptimeMonitor operation.

type UpdateUserInput

type UpdateUserInput struct {
	UserID   *int64
	Username *string
	User     *User
	// contains filtered or unexported fields
}

UpdateUserInput represents the input of a UpdateUser operation.

type UpdateUserOutput

type UpdateUserOutput struct {
	User *User
	// contains filtered or unexported fields
}

UpdateUserOutput represents the output of a UpdateUser operation.

type UptimeMonitor

type UptimeMonitor struct {
	ID                              int64                    `json:"id,omitempty"`
	Name                            string                   `json:"name"`
	Region                          string                   `json:"region"`
	CheckType                       string                   `json:"checkType"`
	CheckParams                     UptimeMonitorCheckParams `json:"checkParams,omitempty"`
	IntervalSec                     int                      `json:"intervalSec,omitempty"`                     // default: 300
	TimeoutMs                       int                      `json:"timeoutMs,omitempty"`                       // default: 30000
	CreateIncidentAfterFailedChecks int                      `json:"createIncidentAfterFailedChecks,omitempty"` // default: 1
	EscalationPolicy                *EscalationPolicy        `json:"escalationPolicy,omitempty"`
	Paused                          bool                     `json:"paused,omitempty"`   // default: false
	EmbedURL                        string                   `json:"embedURL,omitempty"` // read only
	ShareURL                        string                   `json:"shareURL,omitempty"` // read only
	Status                          string                   `json:"status,omitempty"`
	LastStatusChange                string                   `json:"lastStatusChange,omitempty"` // Date time string in ISO format
}

UptimeMonitor definition https://api.ilert.com/api-docs/#tag/Uptime-Monitors

type UptimeMonitorCheckParams

type UptimeMonitorCheckParams struct {
	Host string `json:"host,omitempty"`
	Port int    `json:"port,omitempty"`
	URL  string `json:"url,omitempty"`
}

UptimeMonitorCheckParams definition

type User

type User struct {
	ID                                        int64                          `json:"id,omitempty"`
	Username                                  string                         `json:"username,omitempty"`
	FirstName                                 string                         `json:"firstName,omitempty"`
	LastName                                  string                         `json:"lastName,omitempty"`
	Email                                     string                         `json:"email,omitempty"`
	Mobile                                    *Phone                         `json:"mobile,omitempty"`
	Landline                                  *Phone                         `json:"landline,omitempty"`
	Position                                  string                         `json:"position,omitempty"`
	Department                                string                         `json:"department,omitempty"`
	Timezone                                  string                         `json:"timezone,omitempty"`
	Language                                  string                         `json:"language,omitempty"`
	Role                                      string                         `json:"role,omitempty"`
	NotificationPreferences                   []NotificationPreference       `json:"notificationPreferences,omitempty"`
	LowNotificationPreferences                []NotificationPreference       `json:"lowPriorityNotificationPreferences,omitempty"`
	OnCallNotificationPreferences             []OnCallNotificationPreference `json:"onCallNotificationPreferences,omitempty"`
	SubscribedIncidentUpdateStates            []string                       `json:"subscribedIncidentUpdateStates,omitempty"`
	SubscribedIncidentUpdateNotificationTypes []string                       `json:"subscribedIncidentUpdateNotificationTypes,omitempty"`
}

User definition https://api.ilert.com/api-docs/#!/Users

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL