Possible fix the webhook API creation (#13960)
* Possible fix the webhook API creation * Fix api create webhook bug
This commit is contained in:
		
							parent
							
								
									6074e13c8d
								
							
						
					
					
						commit
						9f100a45c6
					
				
					 2 changed files with 7 additions and 3 deletions
				
			
		|  | @ -6,6 +6,7 @@ package utils | |||
| 
 | ||||
| import ( | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"net/http" | ||||
| 	"strings" | ||||
| 
 | ||||
|  | @ -53,7 +54,7 @@ func GetRepoHook(ctx *context.APIContext, repoID, hookID int64) (*models.Webhook | |||
| // write the appropriate error to `ctx`. Return whether the form is valid
 | ||||
| func CheckCreateHookOption(ctx *context.APIContext, form *api.CreateHookOption) bool { | ||||
| 	if !webhook.IsValidHookTaskType(form.Type) { | ||||
| 		ctx.Error(http.StatusUnprocessableEntity, "", "Invalid hook type") | ||||
| 		ctx.Error(http.StatusUnprocessableEntity, "", fmt.Sprintf("Invalid hook type: %s", form.Type)) | ||||
| 		return false | ||||
| 	} | ||||
| 	for _, name := range []string{"url", "content_type"} { | ||||
|  |  | |||
|  | @ -60,12 +60,15 @@ var ( | |||
| 
 | ||||
| // RegisterWebhook registers a webhook
 | ||||
| func RegisterWebhook(name string, webhook *webhook) { | ||||
| 	webhooks[models.HookTaskType(name)] = webhook | ||||
| 	webhooks[models.HookTaskType(strings.TrimSpace(name))] = webhook | ||||
| } | ||||
| 
 | ||||
| // IsValidHookTaskType returns true if a webhook registered
 | ||||
| func IsValidHookTaskType(name string) bool { | ||||
| 	_, ok := webhooks[models.HookTaskType(name)] | ||||
| 	if name == models.GITEA || name == models.GOGS { | ||||
| 		return true | ||||
| 	} | ||||
| 	_, ok := webhooks[models.HookTaskType(strings.TrimSpace(name))] | ||||
| 	return ok | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue