Skip to content

Commit

Permalink
added support for queued duration in payload (#166)
Browse files Browse the repository at this point in the history
This PR adds queuedDuration field in gitlab jobevent payload.

Co-authored-by: psharma8 <[email protected]>
Co-authored-by: Dean Karn <[email protected]>
  • Loading branch information
3 people authored May 21, 2023
1 parent 336e0a0 commit ec393fa
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 41 deletions.
83 changes: 42 additions & 41 deletions gitlab/payload.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,51 +133,52 @@ type CommentEventPayload struct {

// BuildEventPayload contains the information for GitLab's build status change event
type BuildEventPayload struct {
ObjectKind string `json:"object_kind"`
Ref string `json:"ref"`
Tag bool `json:"tag"`
BeforeSHA string `json:"before_sha"`
SHA string `json:"sha"`
BuildID int64 `json:"build_id"`
BuildName string `json:"build_name"`
BuildStage string `json:"build_stage"`
BuildStatus string `json:"build_status"`
BuildStartedAt customTime `json:"build_started_at"`
BuildFinishedAt customTime `json:"build_finished_at"`
BuildDuration float64 `json:"build_duration"`
BuildAllowFailure bool `json:"build_allow_failure"`
BuildFailureReason string `json:"build_failure_reason"`
ProjectID int64 `json:"project_id"`
ProjectName string `json:"project_name"`
User User `json:"user"`
Commit BuildCommit `json:"commit"`
Repository Repository `json:"repository"`
Runner Runner `json:"runner"`
ObjectKind string `json:"object_kind"`
Ref string `json:"ref"`
Tag bool `json:"tag"`
BeforeSHA string `json:"before_sha"`
SHA string `json:"sha"`
BuildID int64 `json:"build_id"`
BuildName string `json:"build_name"`
BuildStage string `json:"build_stage"`
BuildStatus string `json:"build_status"`
BuildStartedAt customTime `json:"build_started_at"`
BuildFinishedAt customTime `json:"build_finished_at"`
BuildQueuedDuration float64 `json:"build_queued_duration"`
BuildDuration float64 `json:"build_duration"`
BuildAllowFailure bool `json:"build_allow_failure"`
ProjectID int64 `json:"project_id"`
ProjectName string `json:"project_name"`
User User `json:"user"`
Commit BuildCommit `json:"commit"`
Repository Repository `json:"repository"`
Runner Runner `json:"runner"`
}

// JobEventPayload contains the information for GitLab's Job status change
type JobEventPayload struct {
ObjectKind string `json:"object_kind"`
Ref string `json:"ref"`
Tag bool `json:"tag"`
BeforeSHA string `json:"before_sha"`
SHA string `json:"sha"`
BuildID int64 `json:"build_id"`
BuildName string `json:"build_name"`
BuildStage string `json:"build_stage"`
BuildStatus string `json:"build_status"`
BuildStartedAt customTime `json:"build_started_at"`
BuildFinishedAt customTime `json:"build_finished_at"`
BuildDuration float64 `json:"build_duration"`
BuildAllowFailure bool `json:"build_allow_failure"`
BuildFailureReason string `json:"build_failure_reason"`
PipelineID int64 `json:"pipeline_id"`
ProjectID int64 `json:"project_id"`
ProjectName string `json:"project_name"`
User User `json:"user"`
Commit BuildCommit `json:"commit"`
Repository Repository `json:"repository"`
Runner Runner `json:"runner"`
ObjectKind string `json:"object_kind"`
Ref string `json:"ref"`
Tag bool `json:"tag"`
BeforeSHA string `json:"before_sha"`
SHA string `json:"sha"`
BuildID int64 `json:"build_id"`
BuildName string `json:"build_name"`
BuildStage string `json:"build_stage"`
BuildStatus string `json:"build_status"`
BuildStartedAt customTime `json:"build_started_at"`
BuildFinishedAt customTime `json:"build_finished_at"`
BuildQueuedDuration float64 `json:"build_queued_duration"`
BuildDuration float64 `json:"build_duration"`
BuildAllowFailure bool `json:"build_allow_failure"`
BuildFailureReason string `json:"build_failure_reason"`
PipelineID int64 `json:"pipeline_id"`
ProjectID int64 `json:"project_id"`
ProjectName string `json:"project_name"`
User User `json:"user"`
Commit BuildCommit `json:"commit"`
Repository Repository `json:"repository"`
Runner Runner `json:"runner"`
}

// SystemHookPayload contains the ObjectKind to match with real hook events
Expand Down
1 change: 1 addition & 0 deletions testdata/gitlab/build-event.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"build_status": "created",
"build_started_at": null,
"build_finished_at": null,
"build_queued_duration": 0.9678,
"build_duration": null,
"build_allow_failure": false,
"project_id": 380,
Expand Down
1 change: 1 addition & 0 deletions testdata/gitlab/job-event.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"build_status": "created",
"build_started_at": null,
"build_finished_at": null,
"build_queued_duration": 0.9678,
"build_duration": null,
"build_allow_failure": false,
"build_failure_reason": "script_failure",
Expand Down

0 comments on commit ec393fa

Please sign in to comment.