Add API endpoints for getting action jobs status (#26673)
Sample of response, it is similar to Github actions
ref
https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#list-workflow-runs-for-a-repository
``` json
{
"workflow_runs": [
{
"id": 3,
"name": "Explore-Gitea-Actions",
"head_branch": "main",
"head_sha": "6d8d29a9f7a01ded8f8aeb64341cb31ee1ab5f19",
"run_number": 3,
"event": "push",
"display_title": "More job",
"status": "success",
"workflow_id": "demo2.yaml",
"url": "/chester/test/actions/runs/3",
"created_at": "2023-08-22T13:41:33-04:00",
"updated_at": "2023-08-22T13:41:37-04:00",
"run_started_at": "2023-08-22T13:41:33-04:00"
},
{
"id": 2,
"name": "Explore-Gitea-Actions",
"head_branch": "main",
"head_sha": "6d8d29a9f7a01ded8f8aeb64341cb31ee1ab5f19",
"run_number": 2,
"event": "push",
"display_title": "More job",
"status": "success",
"workflow_id": "demo.yaml",
"url": "/chester/test/actions/runs/2",
"created_at": "2023-08-22T13:41:30-04:00",
"updated_at": "2023-08-22T13:41:33-04:00",
"run_started_at": "2023-08-22T13:41:30-04:00"
},
{
"id": 1,
"name": "Explore-Gitea-Actions",
"head_branch": "main",
"head_sha": "e5369ab054cae79899ba36e45ee82811a6e0acd5",
"run_number": 1,
"event": "push",
"display_title": "Add job",
"status": "failure",
"workflow_id": "demo.yaml",
"url": "/chester/test/actions/runs/1",
"created_at": "2023-08-22T13:15:21-04:00",
"updated_at": "2023-08-22T13:18:10-04:00",
"run_started_at": "2023-08-22T13:15:21-04:00"
}
],
"total_count": 3
}
```
---------
Co-authored-by: yp05327 <576951401@qq.com>
Co-authored-by: puni9869 <80308335+puni9869@users.noreply.github.com>
2024-05-01 09:40:23 +08:00
|
|
|
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
|
|
|
package structs
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
// ActionTask represents a ActionTask
|
|
|
|
type ActionTask struct {
|
|
|
|
ID int64 `json:"id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
HeadBranch string `json:"head_branch"`
|
|
|
|
HeadSHA string `json:"head_sha"`
|
|
|
|
RunNumber int64 `json:"run_number"`
|
|
|
|
Event string `json:"event"`
|
|
|
|
DisplayTitle string `json:"display_title"`
|
|
|
|
Status string `json:"status"`
|
|
|
|
WorkflowID string `json:"workflow_id"`
|
|
|
|
URL string `json:"url"`
|
|
|
|
// swagger:strfmt date-time
|
|
|
|
CreatedAt time.Time `json:"created_at"`
|
|
|
|
// swagger:strfmt date-time
|
|
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
// swagger:strfmt date-time
|
|
|
|
RunStartedAt time.Time `json:"run_started_at"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// ActionTaskResponse returns a ActionTask
|
|
|
|
type ActionTaskResponse struct {
|
|
|
|
Entries []*ActionTask `json:"workflow_runs"`
|
|
|
|
TotalCount int64 `json:"total_count"`
|
|
|
|
}
|
2024-09-17 15:10:34 +02:00
|
|
|
|
|
|
|
// CreateActionWorkflowDispatch represents the data structure for dispatching a workflow action.
|
|
|
|
//
|
|
|
|
// swagger:model CreateActionWorkflowDispatch
|
|
|
|
type CreateActionWorkflowDispatch struct {
|
|
|
|
// required: true
|
|
|
|
Ref string `json:"ref"`
|
|
|
|
Inputs map[string]interface{} `json:"inputs"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// ActionWorkflow represents a ActionWorkflow
|
|
|
|
type ActionWorkflow struct {
|
|
|
|
ID int64 `json:"id"`
|
|
|
|
NodeID string `json:"node_id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Path string `json:"path"`
|
|
|
|
State string `json:"state"`
|
|
|
|
// swagger:strfmt date-time
|
|
|
|
CreatedAt time.Time `json:"created_at"`
|
|
|
|
// swagger:strfmt date-time
|
|
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
URL string `json:"url"`
|
|
|
|
HTMLURL string `json:"html_url"`
|
|
|
|
BadgeURL string `json:"badge_url"`
|
|
|
|
// swagger:strfmt date-time
|
|
|
|
DeletedAt time.Time `json:"deleted_at"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// ActionWorkflowResponse returns a ActionWorkflow
|
|
|
|
type ActionWorkflowResponse struct {
|
|
|
|
Workflows []*ActionWorkflow `json:"workflows"`
|
|
|
|
TotalCount int64 `json:"total_count"`
|
|
|
|
}
|