diff --git a/internal/models/structs.go b/internal/models/structs.go index a7508a5..9512d05 100644 --- a/internal/models/structs.go +++ b/internal/models/structs.go @@ -33,7 +33,7 @@ type PendingInformation struct { ID int `json:"id"` Data string `json:"data"` Labels map[string]string `json:"labels"` - Dependencies string `json:"dependencies"` + Dependencies string `json:"dependencies,omitempty"` RunOn string `json:"run_on"` DepStatus string `json:"-"` // dont need those AgentId int `json:"agent_id"` @@ -48,9 +48,9 @@ type Stats struct { } type QueueInfo struct { - Pending []PendingInformation `json:"pending"` + Pending []PendingInformation `json:"pending,omitempty"` WaitingOnDeps string `json:"-"` // dont need those - Running int `json:"running"` + Running int `json:"running,omitempty"` Stats Stats `json:"stats"` Paused bool `json:"paused"` } diff --git a/internal/woodpecker/metrics.go b/internal/woodpecker/metrics.go index 18d107a..a48517d 100644 --- a/internal/woodpecker/metrics.go +++ b/internal/woodpecker/metrics.go @@ -41,6 +41,7 @@ func CheckPending(cfg *config.Config) error { return errors.New(fmt.Sprintf("Error from QueueInfo: %s", err.Error())) } if queueInfo.Stats.PendingCount > 0 { + // TODO: queueInfo.Pending may be empty for _, pendingJobs := range queueInfo.Pending { // TODO: separate key and value from LabelSelector and compare them deeply _, exists := pendingJobs.Labels[cfg.LabelSelector]