You've already forked woodpecker
							
							
				mirror of
				https://github.com/woodpecker-ci/woodpecker.git
				synced 2025-10-30 23:27:39 +02:00 
			
		
		
		
	Allow to set default approval mode (#5406)
This commit is contained in:
		| @@ -153,6 +153,12 @@ var flags = append([]cli.Flag{ | ||||
| 		Usage:   "The default value for allowing pull requests on a repo.", | ||||
| 		Value:   true, | ||||
| 	}, | ||||
| 	&cli.StringFlag{ | ||||
| 		Sources: cli.EnvVars("WOODPECKER_DEFAULT_APPROVAL_MODE"), | ||||
| 		Name:    "default-approval-mode", | ||||
| 		Usage:   "The default value for allowing pull requests on a repo.", | ||||
| 		Value:   "forks", | ||||
| 	}, | ||||
| 	&cli.StringSliceFlag{ | ||||
| 		Sources: cli.EnvVars("WOODPECKER_DEFAULT_CANCEL_PREVIOUS_PIPELINE_EVENTS"), | ||||
| 		Name:    "default-cancel-previous-pipeline-events", | ||||
|   | ||||
| @@ -180,6 +180,13 @@ func setupEvilGlobals(ctx context.Context, c *cli.Command, s store.Store) (err e | ||||
| 	// Pull requests | ||||
| 	server.Config.Pipeline.DefaultAllowPullRequests = c.Bool("default-allow-pull-requests") | ||||
|  | ||||
| 	// Approval mode | ||||
| 	approvalMode := model.ApprovalMode(c.String("default-approval-mode")) | ||||
| 	if !approvalMode.Valid() { | ||||
| 		return fmt.Errorf("approval mode %s is not valid", approvalMode) | ||||
| 	} | ||||
| 	server.Config.Pipeline.DefaultApprovalMode = approvalMode | ||||
|  | ||||
| 	// Cloning | ||||
| 	server.Config.Pipeline.DefaultClonePlugin = c.String("default-clone-plugin") | ||||
| 	server.Config.Pipeline.TrustedClonePlugins = c.StringSlice("plugins-trusted-clone") | ||||
| @@ -189,7 +196,11 @@ func setupEvilGlobals(ctx context.Context, c *cli.Command, s store.Store) (err e | ||||
| 	_events := c.StringSlice("default-cancel-previous-pipeline-events") | ||||
| 	events := make([]model.WebhookEvent, 0, len(_events)) | ||||
| 	for _, v := range _events { | ||||
| 		events = append(events, model.WebhookEvent(v)) | ||||
| 		e := model.WebhookEvent(v) | ||||
| 		if err := e.Validate(); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		events = append(events, e) | ||||
| 	} | ||||
| 	server.Config.Pipeline.DefaultCancelPreviousPipelineEvents = events | ||||
| 	server.Config.Pipeline.DefaultTimeout = c.Int64("default-pipeline-timeout") | ||||
|   | ||||
| @@ -808,6 +808,15 @@ The default setting for allowing pull requests on a repo. | ||||
|  | ||||
| --- | ||||
|  | ||||
| ### DEFAULT_APPROVAL_MODE | ||||
|  | ||||
| - Name: `WOODPECKER_DEFAULT_APPROVAL_MODE` | ||||
| - Default: `forks` | ||||
|  | ||||
| The default setting for the approval mode on a repo. Possible values: `none`, `forks`, `pull_requests` or `all_events`. | ||||
|  | ||||
| --- | ||||
|  | ||||
| ### DEFAULT_CANCEL_PREVIOUS_PIPELINE_EVENTS | ||||
|  | ||||
| - Name: `WOODPECKER_DEFAULT_CANCEL_PREVIOUS_PIPELINE_EVENTS` | ||||
|   | ||||
| @@ -91,7 +91,7 @@ func PostRepo(c *gin.Context) { | ||||
| 		repo.Update(from) | ||||
| 	} else { | ||||
| 		repo = from | ||||
| 		repo.RequireApproval = model.RequireApprovalForks | ||||
| 		repo.RequireApproval = server.Config.Pipeline.DefaultApprovalMode | ||||
| 		repo.AllowPull = server.Config.Pipeline.DefaultAllowPullRequests | ||||
| 		repo.AllowDeploy = false | ||||
| 		repo.CancelPreviousPipelineEvents = server.Config.Pipeline.DefaultCancelPreviousPipelineEvents | ||||
|   | ||||
| @@ -68,6 +68,7 @@ var Config = struct { | ||||
| 		AuthenticatePublicRepos             bool | ||||
| 		DefaultAllowPullRequests            bool | ||||
| 		DefaultCancelPreviousPipelineEvents []model.WebhookEvent | ||||
| 		DefaultApprovalMode                 model.ApprovalMode | ||||
| 		DefaultWorkflowLabels               map[string]string | ||||
| 		DefaultClonePlugin                  string | ||||
| 		TrustedClonePlugins                 []string | ||||
|   | ||||
		Reference in New Issue
	
	Block a user