pagerduty-cachet

git clone git://archive.git.mtrnord.blog/MTRNord/pagerduty-cachet.git
Log | Files | Refs | README

types.go (7605B)


      1 package main
      2 
      3 import "time"
      4 
      5 type WebhookMinimalEvent struct {
      6 	Event struct {
      7 		EventType    string `json:"event_type,omitempty"`
      8 		ResourceType string `json:"resource_type,omitempty"`
      9 	} `json:"event,omitempty"`
     10 }
     11 
     12 type WebhookIncidentTriggered struct {
     13 	Event struct {
     14 		ID           string    `json:"id,omitempty"`
     15 		EventType    string    `json:"event_type,omitempty"`
     16 		ResourceType string    `json:"resource_type,omitempty"`
     17 		OccurredAt   time.Time `json:"occurred_at,omitempty"`
     18 		Agent        struct {
     19 			HTMLURL string `json:"html_url,omitempty"`
     20 			ID      string `json:"id,omitempty"`
     21 			Self    string `json:"self,omitempty"`
     22 			Summary string `json:"summary,omitempty"`
     23 			Type    string `json:"type,omitempty"`
     24 		} `json:"agent,omitempty"`
     25 		Client any `json:"client,omitempty"`
     26 		Data   struct {
     27 			ID          string    `json:"id,omitempty"`
     28 			Type        string    `json:"type,omitempty"`
     29 			Self        string    `json:"self,omitempty"`
     30 			HTMLURL     string    `json:"html_url,omitempty"`
     31 			Number      int       `json:"number,omitempty"`
     32 			Status      string    `json:"status,omitempty"`
     33 			IncidentKey string    `json:"incident_key,omitempty"`
     34 			CreatedAt   time.Time `json:"created_at,omitempty"`
     35 			Title       string    `json:"title,omitempty"`
     36 			Description string    `json:"description,omitempty"`
     37 			Service     struct {
     38 				HTMLURL string `json:"html_url,omitempty"`
     39 				ID      string `json:"id,omitempty"`
     40 				Self    string `json:"self,omitempty"`
     41 				Summary string `json:"summary,omitempty"`
     42 				Type    string `json:"type,omitempty"`
     43 			} `json:"service,omitempty"`
     44 			Assignees []struct {
     45 				HTMLURL string `json:"html_url,omitempty"`
     46 				ID      string `json:"id,omitempty"`
     47 				Self    string `json:"self,omitempty"`
     48 				Summary string `json:"summary,omitempty"`
     49 				Type    string `json:"type,omitempty"`
     50 			} `json:"assignees,omitempty"`
     51 			EscalationPolicy struct {
     52 				HTMLURL string `json:"html_url,omitempty"`
     53 				ID      string `json:"id,omitempty"`
     54 				Self    string `json:"self,omitempty"`
     55 				Summary string `json:"summary,omitempty"`
     56 				Type    string `json:"type,omitempty"`
     57 			} `json:"escalation_policy,omitempty"`
     58 			Teams    []any `json:"teams,omitempty"`
     59 			Priority struct {
     60 				HTMLURL string `json:"html_url,omitempty"`
     61 				ID      string `json:"id,omitempty"`
     62 				Self    string `json:"self,omitempty"`
     63 				Summary string `json:"summary,omitempty"`
     64 				Type    string `json:"type,omitempty"`
     65 			} `json:"priority,omitempty"`
     66 			Urgency          string `json:"urgency,omitempty"`
     67 			ConferenceBridge any    `json:"conference_bridge,omitempty"`
     68 			ResolveReason    any    `json:"resolve_reason,omitempty"`
     69 			IncidentType     any    `json:"incident_type,omitempty"`
     70 		} `json:"data,omitempty"`
     71 	} `json:"event,omitempty"`
     72 }
     73 
     74 type WebhookIncidentResolved struct {
     75 	Event struct {
     76 		ID           string    `json:"id,omitempty"`
     77 		EventType    string    `json:"event_type,omitempty"`
     78 		ResourceType string    `json:"resource_type,omitempty"`
     79 		OccurredAt   time.Time `json:"occurred_at,omitempty"`
     80 		Agent        struct {
     81 			HTMLURL string `json:"html_url,omitempty"`
     82 			ID      string `json:"id,omitempty"`
     83 			Self    string `json:"self,omitempty"`
     84 			Summary string `json:"summary,omitempty"`
     85 			Type    string `json:"type,omitempty"`
     86 		} `json:"agent,omitempty"`
     87 		Client any `json:"client,omitempty"`
     88 		Data   struct {
     89 			ID          string    `json:"id,omitempty"`
     90 			Type        string    `json:"type,omitempty"`
     91 			Self        string    `json:"self,omitempty"`
     92 			HTMLURL     string    `json:"html_url,omitempty"`
     93 			Number      int       `json:"number,omitempty"`
     94 			Status      string    `json:"status,omitempty"`
     95 			IncidentKey string    `json:"incident_key,omitempty"`
     96 			CreatedAt   time.Time `json:"created_at,omitempty"`
     97 			Title       string    `json:"title,omitempty"`
     98 			Service     struct {
     99 				HTMLURL string `json:"html_url,omitempty"`
    100 				ID      string `json:"id,omitempty"`
    101 				Self    string `json:"self,omitempty"`
    102 				Summary string `json:"summary,omitempty"`
    103 				Type    string `json:"type,omitempty"`
    104 			} `json:"service,omitempty"`
    105 			Assignees        []any `json:"assignees,omitempty"`
    106 			EscalationPolicy struct {
    107 				HTMLURL string `json:"html_url,omitempty"`
    108 				ID      string `json:"id,omitempty"`
    109 				Self    string `json:"self,omitempty"`
    110 				Summary string `json:"summary,omitempty"`
    111 				Type    string `json:"type,omitempty"`
    112 			} `json:"escalation_policy,omitempty"`
    113 			Teams    []any `json:"teams,omitempty"`
    114 			Priority struct {
    115 				HTMLURL string `json:"html_url,omitempty"`
    116 				ID      string `json:"id,omitempty"`
    117 				Self    string `json:"self,omitempty"`
    118 				Summary string `json:"summary,omitempty"`
    119 				Type    string `json:"type,omitempty"`
    120 			} `json:"priority,omitempty"`
    121 			Urgency          string `json:"urgency,omitempty"`
    122 			ConferenceBridge any    `json:"conference_bridge,omitempty"`
    123 			ResolveReason    any    `json:"resolve_reason,omitempty"`
    124 			IncidentType     any    `json:"incident_type,omitempty"`
    125 		} `json:"data,omitempty"`
    126 	} `json:"event,omitempty"`
    127 }
    128 
    129 type WebhookIncidentAcknowledged struct {
    130 	Event struct {
    131 		ID           string    `json:"id,omitempty"`
    132 		EventType    string    `json:"event_type,omitempty"`
    133 		ResourceType string    `json:"resource_type,omitempty"`
    134 		OccurredAt   time.Time `json:"occurred_at,omitempty"`
    135 		Agent        struct {
    136 			HTMLURL string `json:"html_url,omitempty"`
    137 			ID      string `json:"id,omitempty"`
    138 			Self    string `json:"self,omitempty"`
    139 			Summary string `json:"summary,omitempty"`
    140 			Type    string `json:"type,omitempty"`
    141 		} `json:"agent,omitempty"`
    142 		Client any `json:"client,omitempty"`
    143 		Data   struct {
    144 			ID          string    `json:"id,omitempty"`
    145 			Type        string    `json:"type,omitempty"`
    146 			Self        string    `json:"self,omitempty"`
    147 			HTMLURL     string    `json:"html_url,omitempty"`
    148 			Number      int       `json:"number,omitempty"`
    149 			Status      string    `json:"status,omitempty"`
    150 			IncidentKey string    `json:"incident_key,omitempty"`
    151 			CreatedAt   time.Time `json:"created_at,omitempty"`
    152 			Title       string    `json:"title,omitempty"`
    153 			Service     struct {
    154 				HTMLURL string `json:"html_url,omitempty"`
    155 				ID      string `json:"id,omitempty"`
    156 				Self    string `json:"self,omitempty"`
    157 				Summary string `json:"summary,omitempty"`
    158 				Type    string `json:"type,omitempty"`
    159 			} `json:"service,omitempty"`
    160 			Assignees []struct {
    161 				HTMLURL string `json:"html_url,omitempty"`
    162 				ID      string `json:"id,omitempty"`
    163 				Self    string `json:"self,omitempty"`
    164 				Summary string `json:"summary,omitempty"`
    165 				Type    string `json:"type,omitempty"`
    166 			} `json:"assignees,omitempty"`
    167 			EscalationPolicy struct {
    168 				HTMLURL string `json:"html_url,omitempty"`
    169 				ID      string `json:"id,omitempty"`
    170 				Self    string `json:"self,omitempty"`
    171 				Summary string `json:"summary,omitempty"`
    172 				Type    string `json:"type,omitempty"`
    173 			} `json:"escalation_policy,omitempty"`
    174 			Teams    []any `json:"teams,omitempty"`
    175 			Priority struct {
    176 				HTMLURL string `json:"html_url,omitempty"`
    177 				ID      string `json:"id,omitempty"`
    178 				Self    string `json:"self,omitempty"`
    179 				Summary string `json:"summary,omitempty"`
    180 				Type    string `json:"type,omitempty"`
    181 			} `json:"priority,omitempty"`
    182 			Urgency          string `json:"urgency,omitempty"`
    183 			ConferenceBridge any    `json:"conference_bridge,omitempty"`
    184 			ResolveReason    any    `json:"resolve_reason,omitempty"`
    185 			IncidentType     any    `json:"incident_type,omitempty"`
    186 		} `json:"data,omitempty"`
    187 	} `json:"event,omitempty"`
    188 }