/
event.go
65 lines (59 loc) · 2.69 KB
/
event.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package sdk
import (
"time"
)
// Event represents a event from API
// Event is "create", "update", "delete"
// Status is "Waiting" "Building" "Success" "Fail" "Unknown", optional
// DateEvent is a date (timestamp format)
type Event struct {
Timestamp time.Time `json:"timestamp"`
Hostname string `json:"hostname"`
CDSName string `json:"cdsname"`
EventType string `json:"type_event"` // go type of payload
Payload map[string]interface{} `json:"payload"`
}
// EventEngine contains event data for engine
type EventEngine struct {
Message string `json:"message"`
}
// EventPipelineBuild contains event data for a pipeline build
type EventPipelineBuild struct {
Version int64 `json:"version,omitempty"`
BuildNumber int64 `json:"buildNumber,omitempty"`
Status Status `json:"status,omitempty"`
Start int64 `json:"start,omitempty"`
Done int64 `json:"done,omitempty"`
PipelineName string `json:"pipelineName,omitempty"`
PipelineType PipelineType `json:"type,omitempty"`
ProjectKey string `json:"projectKey,omitempty"`
ApplicationName string `json:"applicationName,omitempty"`
EnvironmentName string `json:"environmentName,omitempty"`
BranchName string `json:"branchName,omitempty"`
Hash string `json:"hash,omitempty"`
RepositoryManagerName string `json:"repositoryManagerName,omitempty"`
RepositoryFullname string `json:"repositoryFullname,omitempty"`
}
// EventJob contains event data for a job
type EventJob struct {
Version int64 `json:"version,omitempty"`
JobName string `json:"jobName,omitempty"`
Status Status `json:"status,omitempty"`
Queued int64 `json:"queued,omitempty"`
Start int64 `json:"start,omitempty"`
Done int64 `json:"done,omitempty"`
ModelName string `json:"modelName,omitempty"`
PipelineName string `json:"pipelineName,omitempty"`
PipelineType PipelineType `json:"type,omitempty"`
ProjectKey string `json:"projectKey,omitempty"`
ApplicationName string `json:"applicationName,omitempty"`
EnvironmentName string `json:"environmentName,omitempty"`
BranchName string `json:"branchName,omitempty"`
Hash string `json:"hash,omitempty"`
}
// EventNotif contains event data for a job
type EventNotif struct {
Recipients []string `json:"recipients"`
Subject string `json:"subject,omitempty"`
Body string `json:"body,omitempty"`
}