// Copyright 2024 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package api import "time" // ActionRun represents a workflow run type ActionRun struct { ID int64 `json:"id"` Title string `json:"display_title"` Path string `json:"path"` Status string `json:"status"` Conclusion string `json:"conclusion"` Event string `json:"event"` HeadBranch string `json:"head_branch"` HeadSHA string `json:"head_sha"` RunNumber int64 `json:"run_number"` RunAttempt int64 `json:"run_attempt"` HTMLURL string `json:"html_url"` URL string `json:"url"` StartedAt *time.Time `json:"started_at"` CompletedAt *time.Time `json:"completed_at"` } // ActionRunList is a list of workflow runs type ActionRunList struct { TotalCount int64 `json:"total_count"` WorkflowRuns []*ActionRun `json:"workflow_runs"` } // ActionJob represents a job within a workflow run type ActionJob struct { ID int64 `json:"id"` RunID int64 `json:"run_id"` Name string `json:"name"` Status string `json:"status"` Conclusion string `json:"conclusion"` HTMLURL string `json:"html_url"` StartedAt *time.Time `json:"started_at"` CompletedAt *time.Time `json:"completed_at"` Steps []*ActionJobStep `json:"steps"` } // ActionJobStep represents a step within a job type ActionJobStep struct { Name string `json:"name"` Number int64 `json:"number"` Status string `json:"status"` Conclusion string `json:"conclusion"` StartedAt *time.Time `json:"started_at"` CompletedAt *time.Time `json:"completed_at"` } // ActionJobList is a list of jobs type ActionJobList struct { TotalCount int64 `json:"total_count"` Jobs []*ActionJob `json:"jobs"` }