mirror of
https://github.com/go-gitea/gitea.git
synced 2025-06-22 22:50:35 +02:00
Implements - https://docs.github.com/en/rest/actions/workflow-jobs?apiVersion=2022-11-28#list-jobs-for-a-workflow-run--code-samples - https://docs.github.com/en/rest/actions/workflow-jobs?apiVersion=2022-11-28#get-a-job-for-a-workflow-run--code-samples - https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#list-workflow-runs-for-a-repository - https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#get-a-workflow-run - `/actions/runs` for global + user + org (Gitea only) - `/actions/jobs` for global + user + org + repository (Gitea only) - workflow_run webhook + action trigger - limitations - workflow id is assigned to a string, this may result into problems in strongly typed clients Fixes - workflow_job webhook url to no longer contain the `runs/<run>` part to align with api - workflow instance does now use it's name inside the file instead of filename if set Refactoring - Moved a lot of logic from workflows/workflow_job into a shared module used by both webhook and api TODO - [x] Verify Keda Compatibility - [x] Edit Webhook API bug is resolved Closes https://github.com/go-gitea/gitea/issues/23670 Closes https://github.com/go-gitea/gitea/issues/23796 Closes https://github.com/go-gitea/gitea/issues/24898 Replaces https://github.com/go-gitea/gitea/pull/28047 and is much more complete --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
94 lines
2.3 KiB
Go
94 lines
2.3 KiB
Go
// Copyright 2025 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package admin
|
|
|
|
import (
|
|
"code.gitea.io/gitea/routers/api/v1/shared"
|
|
"code.gitea.io/gitea/services/context"
|
|
)
|
|
|
|
// ListWorkflowJobs Lists all jobs
|
|
func ListWorkflowJobs(ctx *context.APIContext) {
|
|
// swagger:operation GET /admin/actions/jobs admin listAdminWorkflowJobs
|
|
// ---
|
|
// summary: Lists all jobs
|
|
// produces:
|
|
// - application/json
|
|
// parameters:
|
|
// - name: status
|
|
// in: query
|
|
// description: workflow status (pending, queued, in_progress, failure, success, skipped)
|
|
// type: string
|
|
// required: false
|
|
// - name: page
|
|
// in: query
|
|
// description: page number of results to return (1-based)
|
|
// type: integer
|
|
// - name: limit
|
|
// in: query
|
|
// description: page size of results
|
|
// type: integer
|
|
// responses:
|
|
// "200":
|
|
// "$ref": "#/responses/WorkflowJobsList"
|
|
// "400":
|
|
// "$ref": "#/responses/error"
|
|
// "404":
|
|
// "$ref": "#/responses/notFound"
|
|
|
|
shared.ListJobs(ctx, 0, 0, 0)
|
|
}
|
|
|
|
// ListWorkflowRuns Lists all runs
|
|
func ListWorkflowRuns(ctx *context.APIContext) {
|
|
// swagger:operation GET /admin/actions/runs admin listAdminWorkflowRuns
|
|
// ---
|
|
// summary: Lists all runs
|
|
// produces:
|
|
// - application/json
|
|
// parameters:
|
|
// - name: event
|
|
// in: query
|
|
// description: workflow event name
|
|
// type: string
|
|
// required: false
|
|
// - name: branch
|
|
// in: query
|
|
// description: workflow branch
|
|
// type: string
|
|
// required: false
|
|
// - name: status
|
|
// in: query
|
|
// description: workflow status (pending, queued, in_progress, failure, success, skipped)
|
|
// type: string
|
|
// required: false
|
|
// - name: actor
|
|
// in: query
|
|
// description: triggered by user
|
|
// type: string
|
|
// required: false
|
|
// - name: head_sha
|
|
// in: query
|
|
// description: triggering sha of the workflow run
|
|
// type: string
|
|
// required: false
|
|
// - name: page
|
|
// in: query
|
|
// description: page number of results to return (1-based)
|
|
// type: integer
|
|
// - name: limit
|
|
// in: query
|
|
// description: page size of results
|
|
// type: integer
|
|
// responses:
|
|
// "200":
|
|
// "$ref": "#/responses/WorkflowRunsList"
|
|
// "400":
|
|
// "$ref": "#/responses/error"
|
|
// "404":
|
|
// "$ref": "#/responses/notFound"
|
|
|
|
shared.ListRuns(ctx, 0, 0)
|
|
}
|