Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cherry-pick #5908 fix: converting pipelines to deployments should ignore skipped items to v0.18 (beta6) #5913

Merged
merged 2 commits into from
Aug 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 25 additions & 18 deletions backend/core/models/domainlayer/devops/cicd_pipeline.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,72 +42,79 @@ func (CICDPipeline) TableName() string {

// this is for the field `result` in table.cicd_pipelines and table.cicd_tasks
const (
SUCCESS = "SUCCESS"
FAILURE = "FAILURE"
ABORT = "ABORT"
MANUAL = "MANUAL"
RESULT_SUCCESS = "SUCCESS"
RESULT_FAILURE = "FAILURE"
RESULT_ABORT = "ABORT"
RESULT_MANUAL = "MANUAL"
RESULT_SKIPPED = "SKIPPED"
)

// this is for the field `status` in table.cicd_pipelines and table.cicd_tasks
const (
IN_PROGRESS = "IN_PROGRESS"
DONE = "DONE"
STATUS_IN_PROGRESS = "IN_PROGRESS"
STATUS_DONE = "DONE"
)

type ResultRule struct {
Success []string
Failed []string
Abort []string
Manual []string
Skipped []string
Default string
}
type StatusRule struct {
InProgress []string
Done []string
Manual []string
type StatusRule[T comparable] struct {
InProgress []T
Done []T
Manual []T
Default string
}

// GetResult compare the input with rule for return the enmu value of result
func GetResult(rule *ResultRule, input interface{}) string {
for _, suc := range rule.Success {
if suc == input {
return SUCCESS
return RESULT_SUCCESS
}
}
for _, fail := range rule.Failed {
if fail == input {
return FAILURE
return RESULT_FAILURE
}
}
for _, abort := range rule.Abort {
if abort == input {
return ABORT
return RESULT_ABORT
}
}
for _, manual := range rule.Manual {
if manual == input {
return MANUAL
return RESULT_MANUAL
}
}
for _, skipped := range rule.Skipped {
if skipped == input {
return RESULT_SKIPPED
}
}
return rule.Default
}

// GetStatus compare the input with rule for return the enmu value of status
func GetStatus(rule *StatusRule, input interface{}) string {
func GetStatus[T comparable](rule *StatusRule[T], input T) string {
for _, inp := range rule.InProgress {
if inp == input {
return IN_PROGRESS
return STATUS_IN_PROGRESS
}
}
for _, done := range rule.Done {
if done == input {
return DONE
return STATUS_DONE
}
}
for _, manual := range rule.Manual {
if manual == input {
return MANUAL
return RESULT_MANUAL
}
}
return rule.Default
Expand Down
4 changes: 2 additions & 2 deletions backend/plugins/bamboo/tasks/deploy_build_convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ func ConvertDeployBuilds(taskCtx plugin.SubTaskContext) errors.Error {
Default: "",
}, deployBuild.DeploymentState),

Status: devops.GetStatus(&devops.StatusRule{
Status: devops.GetStatus(&devops.StatusRule[string]{
Done: []string{"Finished", "FINISHED"},
Default: devops.IN_PROGRESS,
Default: devops.STATUS_IN_PROGRESS,
}, deployBuild.LifeCycleState),

//DurationSec: uint64(deployBuild),
Expand Down
4 changes: 2 additions & 2 deletions backend/plugins/bamboo/tasks/job_build_convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ func ConvertJobBuilds(taskCtx plugin.SubTaskContext) errors.Error {
Default: "",
}, line.BuildState),

Status: devops.GetStatus(&devops.StatusRule{
Status: devops.GetStatus(&devops.StatusRule[string]{
Done: []string{"Finished"},
Default: devops.IN_PROGRESS,
Default: devops.STATUS_IN_PROGRESS,
}, line.LifeCycleState),
}

Expand Down
4 changes: 2 additions & 2 deletions backend/plugins/bamboo/tasks/plan_build_convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@ func ConvertPlanBuilds(taskCtx plugin.SubTaskContext) errors.Error {
Default: "",
}, line.BuildState),

Status: devops.GetStatus(&devops.StatusRule{
Status: devops.GetStatus(&devops.StatusRule[string]{
Done: []string{"Finished"},
Default: devops.IN_PROGRESS,
Default: devops.STATUS_IN_PROGRESS,
}, line.LifeCycleState),
}

Expand Down
4 changes: 2 additions & 2 deletions backend/plugins/bitbucket/tasks/deployment_convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ func ConvertDeployments(taskCtx plugin.SubTaskContext) errors.Error {
Success: []string{"COMPLETED"},
Default: "",
}, bitbucketDeployment.Status),
Status: devops.GetStatus(&devops.StatusRule{
Status: devops.GetStatus(&devops.StatusRule[string]{
Done: []string{"COMPLETED", "UNDEPLOYED"},
Default: devops.IN_PROGRESS,
Default: devops.STATUS_IN_PROGRESS,
}, bitbucketDeployment.Status),
Environment: bitbucketDeployment.Environment,
CreatedDate: *bitbucketDeployment.CreatedOn,
Expand Down
9 changes: 5 additions & 4 deletions backend/plugins/bitbucket/tasks/pipeline_convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,14 +88,15 @@ func ConvertPipelines(taskCtx plugin.SubTaskContext) errors.Error {
Generate(data.Options.ConnectionId, bitbucketPipeline.RefName),
Result: devops.GetResult(&devops.ResultRule{
Failed: []string{models.FAILED, models.ERROR, models.UNDEPLOYED},
Abort: []string{models.STOPPED, models.SKIPPED},
Abort: []string{models.STOPPED},
Success: []string{models.SUCCESSFUL, models.COMPLETED},
Manual: []string{models.PAUSED, models.HALTED},
Default: devops.SUCCESS,
Skipped: []string{models.SKIPPED},
Default: devops.RESULT_SUCCESS,
}, bitbucketPipeline.Result),
Status: devops.GetStatus(&devops.StatusRule{
Status: devops.GetStatus(&devops.StatusRule[string]{
InProgress: []string{models.IN_PROGRESS, models.PENDING, models.BUILDING},
Default: devops.DONE,
Default: devops.STATUS_DONE,
}, bitbucketPipeline.Status),
Type: bitbucketPipeline.Type,
Environment: bitbucketPipeline.Environment,
Expand Down
11 changes: 6 additions & 5 deletions backend/plugins/bitbucket/tasks/pipeline_steps_convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,15 @@ func ConvertPipelineSteps(taskCtx plugin.SubTaskContext) errors.Error {
PipelineId: pipelineIdGen.Generate(data.Options.ConnectionId, bitbucketPipelineStep.PipelineId),
Result: devops.GetResult(&devops.ResultRule{
Failed: []string{models.FAILED, models.ERROR, models.UNDEPLOYED},
Abort: []string{models.STOPPED, models.SKIPPED},
Abort: []string{models.STOPPED},
Success: []string{models.SUCCESSFUL, models.COMPLETED},
Manual: []string{models.PAUSED, models.HALTED},
Default: devops.SUCCESS,
Skipped: []string{models.SKIPPED},
Default: devops.RESULT_SUCCESS,
}, bitbucketPipelineStep.Result),
Status: devops.GetStatus(&devops.StatusRule{
Status: devops.GetStatus(&devops.StatusRule[string]{
InProgress: []string{models.IN_PROGRESS, models.PENDING, models.BUILDING},
Default: devops.DONE,
Default: devops.STATUS_DONE,
}, bitbucketPipelineStep.State),
CicdScopeId: repoIdGen.Generate(data.Options.ConnectionId, data.Options.FullName),
}
Expand All @@ -87,7 +88,7 @@ func ConvertPipelineSteps(taskCtx plugin.SubTaskContext) errors.Error {
}
domainTask.StartedDate = *bitbucketPipelineStep.StartedOn
// rebuild the FinishedDate
if domainTask.Status == devops.DONE {
if domainTask.Status == devops.STATUS_DONE {
domainTask.FinishedDate = bitbucketPipelineStep.CompletedOn
domainTask.DurationSec = uint64(bitbucketPipelineStep.DurationInSeconds)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
id,commit_sha,cicd_scope_id,cicd_deployment_id,result,repo_url,environment,started_date,finished_date
gitlab:GitlabPipeline:1:457475337:https://gitlab.com/gitlab-data/snowflake_spend,10a6464b6bd2cf4b59b8ac37ce1466e013f5a20d,cicd1,gitlab:GitlabPipeline:1:457475337,,https://gitlab.com/gitlab-data/snowflake_spend,PRODUCTION,,
gitlab:GitlabPipeline:1:457475337:https://gitlab.com/gitlab-data/snowflake_spend,10a6464b6bd2cf4b59b8ac37ce1466e013f5a20d,cicd1,gitlab:GitlabPipeline:1:457475337,ABORTED,https://gitlab.com/gitlab-data/snowflake_spend,PRODUCTION,,
gitlab:GitlabPipeline:1:485811050:https://gitlab.com/gitlab-data/snowflake_spend,c791ea6949d6b4aadf79b15ba666cb690c6527ac,cicd1,gitlab:GitlabPipeline:1:485811050,FAILURE,https://gitlab.com/gitlab-data/snowflake_spend,PRODUCTION,2022-03-07T06:26:42.109+00:00,2022-03-07T06:26:42.109+00:00
gitlab:GitlabPipeline:1:485813816:https://gitlab.com/gitlab-data/snowflake_spend,ecc7c0b2874c812ed882c9effbbda26e0abc7110,cicd1,gitlab:GitlabPipeline:1:485813816,FAILURE,https://gitlab.com/gitlab-data/snowflake_spend,PRODUCTION,2022-03-07T06:33:56.824+00:00,2022-03-07T06:33:56.824+00:00
gitlab:GitlabPipeline:1:485814501:https://gitlab.com/gitlab-data/snowflake_spend,6a3346f8434cc65fbe3f7a80a0edec5b4014a733,cicd1,gitlab:GitlabPipeline:1:485814501,FAILURE,https://gitlab.com/gitlab-data/snowflake_spend,PRODUCTION,2022-03-07T06:35:28.111+00:00,2022-03-07T06:35:28.111+00:00
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ gitlab:GitlabPipeline:1:485811059,c791ea6949d6b4aadf79b15ba666cb690c6527ac,refs/
gitlab:GitlabPipeline:1:485811050,c791ea6949d6b4aadf79b15ba666cb690c6527ac,EE-7121,cicd1,https://gitlab.com/gitlab-data/snowflake_spend
gitlab:GitlabPipeline:1:457475160,44d127e0ab7dbc4bc259b55929c9d00b62fc3bf4,renovate/lodash-monorepo,cicd1,https://gitlab.com/gitlab-data/snowflake_spend
gitlab:GitlabPipeline:1:457475337,10a6464b6bd2cf4b59b8ac37ce1466e013f5a20d,renovate/shx-0.x,cicd1,https://gitlab.com/gitlab-data/snowflake_spend
gitlab:GitlabPipeline:1:485932864,22a6464b6bd2cf4b59b8ac37ce1466e013f5a20d,renovate/shx-0.x,cicd1,https://gitlab.com/gitlab-data/snowflake_spend
gitlab:GitlabPipeline:1:485932865,33a6464b6bd2cf4b59b8ac37ce1466e013f5a20d,renovate/shx-0.x,cicd1,https://gitlab.com/gitlab-data/snowflake_spend
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
id,name,result,status,type,duration_sec,environment,created_date,finished_date,cicd_scope_id
gitlab:GitlabPipeline:1:457475160,cicd1,FAILURE,DONE,,0,,2022-01-27T10:07:26.435+00:00,2022-01-27T10:07:26.638+00:00,cicd1
gitlab:GitlabPipeline:1:457475337,cicd1,,IN_PROGRESS,,0,,2022-01-27T10:07:36.502+00:00,,cicd1
gitlab:GitlabPipeline:1:457475337,cicd1,ABORTED,IN_PROGRESS,,0,,2022-01-27T10:07:36.502+00:00,,cicd1
gitlab:GitlabPipeline:1:485811050,cicd1,FAILURE,DONE,DEPLOYMENT,0,PRODUCTION,2022-03-07T06:26:42.109+00:00,2022-03-07T06:26:42.109+00:00,cicd1
gitlab:GitlabPipeline:1:485811059,cicd1,FAILURE,DONE,,0,,2022-03-07T06:26:43.784+00:00,2022-03-07T06:26:43.784+00:00,cicd1
gitlab:GitlabPipeline:1:485813816,cicd1,FAILURE,DONE,DEPLOYMENT,0,PRODUCTION,2022-03-07T06:33:56.824+00:00,2022-03-07T06:33:56.824+00:00,cicd1
Expand All @@ -12,3 +12,5 @@ gitlab:GitlabPipeline:1:485817670,cicd1,FAILURE,DONE,,1956,,2022-03-07T06:45:09.
gitlab:GitlabPipeline:1:485845850,cicd1,FAILURE,DONE,,419,,2022-03-07T07:38:58.611+00:00,2022-03-07T07:45:58.412+00:00,cicd1
gitlab:GitlabPipeline:1:485877118,cicd1,FAILURE,DONE,,289,,2022-03-07T08:22:48.943+00:00,2022-03-07T08:27:38.364+00:00,cicd1
gitlab:GitlabPipeline:1:485932863,cicd1,SUCCESS,DONE,DEPLOYMENT,398,,2022-03-07T09:34:57.476+00:00,2022-03-07T09:41:36.267+00:00,cicd1
gitlab:GitlabPipeline:1:485932864,cicd1,SKIPPED,DONE,DEPLOYMENT,398,,2022-03-07T09:34:57.476+00:00,2022-03-07T09:41:36.267+00:00,cicd1
gitlab:GitlabPipeline:1:485932865,cicd1,SUCCESS,DONE,,398,,2022-03-07T09:34:57.476+00:00,2022-03-07T09:41:36.267+00:00,cicd1
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ gitlab:GitlabJob:1:107,format,gitlab:GitlabPipeline:1:457475337,SUCCESS,DONE,,,2
gitlab:GitlabJob:1:108,format,gitlab:GitlabPipeline:1:457475337,SUCCESS,DONE,,,2,2022-07-25T15:35:11.707+00:00,2022-07-25T15:35:14.224+00:00,gitlab:GitlabProject:1:44
gitlab:GitlabJob:1:109,compile,gitlab:GitlabPipeline:1:457475337,SUCCESS,DONE,DEPLOYMENT,PRODUCTION,3,2022-07-25T15:35:14.724+00:00,2022-07-25T15:35:17.828+00:00,gitlab:GitlabProject:1:44
gitlab:GitlabJob:1:110,format,gitlab:GitlabPipeline:1:457475337,SUCCESS,DONE,,,2,2022-07-25T15:36:18.097+00:00,2022-07-25T15:36:20.954+00:00,gitlab:GitlabProject:1:44
gitlab:GitlabJob:1:111,format,gitlab:GitlabPipeline:1:485932865,SKIPPED,DONE,DEPLOYMENT,PRODUCTION,2,2022-07-25T15:36:18.097+00:00,2022-07-25T15:36:20.954+00:00,gitlab:GitlabProject:1:44
18 changes: 10 additions & 8 deletions backend/plugins/dora/tasks/deployment_commits_generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,16 +69,16 @@ func GenerateDeploymentCommits(taskCtx plugin.SubTaskContext) errors.Error {
p.finished_date,
p.environment,
p.cicd_scope_id,
EXISTS(SELECT 1 FROM cicd_tasks t WHERE t.pipeline_id = p.id AND t.environment = ?)
EXISTS(SELECT 1 FROM cicd_tasks t WHERE t.pipeline_id = p.id AND t.environment = ? AND t.result <> ?)
as has_testing_tasks,
EXISTS(SELECT 1 FROM cicd_tasks t WHERE t.pipeline_id = p.id AND t.environment = ?)
EXISTS(SELECT 1 FROM cicd_tasks t WHERE t.pipeline_id = p.id AND t.environment = ? AND t.result <> ?)
as has_staging_tasks,
EXISTS( SELECT 1 FROM cicd_tasks t WHERE t.pipeline_id = p.id AND t.environment = ?)
EXISTS( SELECT 1 FROM cicd_tasks t WHERE t.pipeline_id = p.id AND t.environment = ? AND t.result <> ?)
as has_production_tasks
`,
devops.TESTING,
devops.STAGING,
devops.PRODUCTION,
devops.TESTING, devops.RESULT_SKIPPED,
devops.STAGING, devops.RESULT_SKIPPED,
devops.PRODUCTION, devops.RESULT_SKIPPED,
),
dal.From("cicd_pipeline_commits pc"),
dal.Join("LEFT JOIN cicd_pipelines p ON (p.id = pc.pipeline_id)"),
Expand All @@ -87,13 +87,15 @@ func GenerateDeploymentCommits(taskCtx plugin.SubTaskContext) errors.Error {
`
pm.project_name = ? AND (
p.type = ? OR EXISTS(
SELECT 1 FROM cicd_tasks t WHERE t.pipeline_id = p.id AND t.type = ?
SELECT 1 FROM cicd_tasks t WHERE t.pipeline_id = p.id AND t.type = ? AND t.result <> ?
)
)
) AND p.result <> ?
`,
data.Options.ProjectName,
devops.DEPLOYMENT,
devops.DEPLOYMENT,
devops.RESULT_SKIPPED,
devops.RESULT_SKIPPED,
),
)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion backend/plugins/dora/tasks/incident_deploy_connector.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ func ConnectIncidentToDeployment(taskCtx plugin.SubTaskContext) errors.Error {
and cicd_deployment_commits.environment = ?
and pm.table = ?
and pm.project_name = ?`,
issue.CreatedDate, devops.SUCCESS, devops.PRODUCTION, "cicd_scopes", data.Options.ProjectName,
issue.CreatedDate, devops.RESULT_SUCCESS, devops.PRODUCTION, "cicd_scopes", data.Options.ProjectName,
),
dal.Orderby("finished_date DESC"),
dal.Limit(1),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ func EnrichPrevSuccessDeploymentCommit(taskCtx plugin.SubTaskContext) errors.Err
AND dc.repo_url IS NOT NULL AND dc.repo_url != ''
AND pm.project_name = ? AND dc.result = ?
`,
data.Options.ProjectName, devops.SUCCESS,
data.Options.ProjectName, devops.RESULT_SUCCESS,
),
dal.Orderby(`dc.cicd_scope_id, dc.repo_url, dc.environment, dc.finished_date`),
)
Expand Down
28 changes: 12 additions & 16 deletions backend/plugins/github/tasks/cicd_job_convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ limitations under the License.
package tasks

import (
"reflect"

"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/models/domainlayer"
Expand All @@ -26,8 +28,6 @@ import (
"github.com/apache/incubator-devlake/core/plugin"
"github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/github/models"
"reflect"
"strings"
)

var ConvertJobsMeta = plugin.SubTaskMeta{
Expand Down Expand Up @@ -85,22 +85,18 @@ func ConvertJobs(taskCtx plugin.SubTaskContext) (err errors.Error) {
CicdScopeId: repoIdGen.Generate(data.Options.ConnectionId, line.RepoId),
Type: line.Type,
Environment: line.Environment,
Result: devops.GetResult(&devops.ResultRule{
Failed: []string{"failure", "FAILURE"},
Success: []string{"success", "SUCCESS"},
Skipped: []string{"skipped", "SKIPPED"},
}, line.Conclusion),
Status: devops.GetStatus(&devops.StatusRule[string]{
Done: []string{"completed", "COMPLETED"},
Default: devops.STATUS_IN_PROGRESS,
}, line.Status),
}

if strings.Contains(line.Conclusion, "SUCCESS") {
domainJob.Result = devops.SUCCESS
} else if strings.Contains(line.Conclusion, "FAILURE") {
domainJob.Result = devops.FAILURE
} else if strings.Contains(line.Conclusion, "ABORT") {
domainJob.Result = devops.ABORT
} else {
domainJob.Result = ""
}

if line.Status != "COMPLETED" {
domainJob.Status = devops.IN_PROGRESS
} else {
domainJob.Status = devops.DONE
if domainJob.Status == devops.STATUS_DONE {
domainJob.DurationSec = uint64(line.CompletedAt.Sub(*line.StartedAt).Seconds())
}

Expand Down
25 changes: 10 additions & 15 deletions backend/plugins/github/tasks/cicd_run_convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ package tasks

import (
"reflect"
"strings"

"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
Expand Down Expand Up @@ -85,21 +84,17 @@ func ConvertRuns(taskCtx plugin.SubTaskContext) errors.Error {
CicdScopeId: repoIdGen.Generate(data.Options.ConnectionId, line.RepoId),
Type: line.Type,
Environment: line.Environment,
Result: devops.GetResult(&devops.ResultRule{
Failed: []string{"failure", "FAILURE"},
Success: []string{"success", "SUCCESS"},
Skipped: []string{"skipped", "SKIPPED"},
}, line.Conclusion),
Status: devops.GetStatus(&devops.StatusRule[string]{
Done: []string{"completed", "COMPLETED"},
Default: devops.STATUS_IN_PROGRESS,
}, line.Status),
}
if strings.Contains(line.Conclusion, "success") {
domainPipeline.Result = devops.SUCCESS
} else if strings.Contains(line.Conclusion, "failure") {
domainPipeline.Result = devops.FAILURE
} else if strings.Contains(line.Conclusion, "abort") {
domainPipeline.Result = devops.ABORT
} else {
domainPipeline.Result = ""
}

if line.Status != "completed" {
domainPipeline.Status = devops.IN_PROGRESS
} else {
domainPipeline.Status = devops.DONE
if domainPipeline.Status == devops.STATUS_DONE {
domainPipeline.DurationSec = uint64(line.GithubUpdatedAt.Sub(*line.GithubCreatedAt).Seconds())
}

Expand Down
7 changes: 4 additions & 3 deletions backend/plugins/gitlab/tasks/job_convertor.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,16 @@ func ConvertJobs(taskCtx plugin.SubTaskContext) (err errors.Error) {
PipelineId: pipelineIdGen.Generate(data.Options.ConnectionId, gitlabJob.PipelineId),
Result: devops.GetResult(&devops.ResultRule{
Failed: []string{"failed"},
Abort: []string{"canceled", "skipped"},
Abort: []string{"canceled"},
Manual: []string{"manual"},
Success: []string{"success"},
Skipped: []string{"skipped"},
Default: "",
}, gitlabJob.Status),
Status: devops.GetStatus(&devops.StatusRule{
Status: devops.GetStatus(&devops.StatusRule[string]{
InProgress: []string{"created", "waiting_for_resource", "preparing", "pending", "running", "scheduled"},
Manual: []string{"manual"},
Default: devops.DONE,
Default: devops.STATUS_DONE,
}, gitlabJob.Status),

DurationSec: uint64(gitlabJob.Duration),
Expand Down
Loading
Loading