mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-27 01:24:54 +01: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)
 | |
| }
 |