code.gitea.io/gitea@v1.19.3/modules/actions/github.go (about)

     1  // Copyright 2023 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package actions
     5  
     6  import (
     7  	webhook_module "code.gitea.io/gitea/modules/webhook"
     8  )
     9  
    10  const (
    11  	githubEventPullRequest              = "pull_request"
    12  	githubEventPullRequestTarget        = "pull_request_target"
    13  	githubEventPullRequestReviewComment = "pull_request_review_comment"
    14  	githubEventPullRequestReview        = "pull_request_review"
    15  	githubEventRegistryPackage          = "registry_package"
    16  	githubEventCreate                   = "create"
    17  	githubEventDelete                   = "delete"
    18  	githubEventFork                     = "fork"
    19  	githubEventPush                     = "push"
    20  	githubEventIssues                   = "issues"
    21  	githubEventIssueComment             = "issue_comment"
    22  	githubEventRelease                  = "release"
    23  	githubEventPullRequestComment       = "pull_request_comment"
    24  )
    25  
    26  // canGithubEventMatch check if the input Github event can match any Gitea event.
    27  func canGithubEventMatch(eventName string, triggedEvent webhook_module.HookEventType) bool {
    28  	switch eventName {
    29  	case githubEventRegistryPackage:
    30  		return triggedEvent == webhook_module.HookEventPackage
    31  
    32  	case githubEventIssues:
    33  		switch triggedEvent {
    34  		case webhook_module.HookEventIssues,
    35  			webhook_module.HookEventIssueAssign,
    36  			webhook_module.HookEventIssueLabel,
    37  			webhook_module.HookEventIssueMilestone:
    38  			return true
    39  
    40  		default:
    41  			return false
    42  		}
    43  
    44  	case githubEventPullRequest, githubEventPullRequestTarget:
    45  		switch triggedEvent {
    46  		case webhook_module.HookEventPullRequest,
    47  			webhook_module.HookEventPullRequestSync,
    48  			webhook_module.HookEventPullRequestAssign,
    49  			webhook_module.HookEventPullRequestLabel:
    50  			return true
    51  
    52  		default:
    53  			return false
    54  		}
    55  
    56  	case githubEventPullRequestReview:
    57  		switch triggedEvent {
    58  		case webhook_module.HookEventPullRequestReviewApproved,
    59  			webhook_module.HookEventPullRequestReviewComment,
    60  			webhook_module.HookEventPullRequestReviewRejected:
    61  			return true
    62  
    63  		default:
    64  			return false
    65  		}
    66  
    67  	default:
    68  		return eventName == string(triggedEvent)
    69  	}
    70  }