...
1 package enforcereleaselabel
2
3 import (
4 "github.com/google/go-github/v47/github"
5
6 "edge-infra.dev/pkg/f8n/devinfra/jack/constants"
7 "edge-infra.dev/pkg/f8n/devinfra/jack/plugin"
8 )
9
10 func init() {
11 plugin.RegisterPullRequestHandler(constants.PluginEnforceReleaseLabel, handlePR)
12 }
13
14 func handlePR(hp plugin.HandlerParams, pre github.PullRequestEvent) {
15 hp.Log.WithName(constants.PluginEnforceReleaseLabel)
16
17 action := pre.GetAction()
18 switch action {
19 case "opened":
20 if err := openingReleaseLabel(hp, pre); err != nil {
21 hp.Log.Error(err, "Issue: Failed to add release label to new PR")
22 return
23 }
24 case "labeled":
25 if err := addedManualLabel(hp, pre); err != nil {
26 hp.Log.Error(err, "Issue: Failed to add release label to PR")
27 return
28 }
29 case "unlabeled":
30 if err := checkRemoveLabel(hp, pre); err != nil {
31 hp.Log.Error(err, "Issue: Failed to remove release label on PR")
32 return
33 }
34 }
35 }
36
View as plain text