]> source.dussan.org Git - gitea.git/commitdiff
Add `gh-access-token` flag into backport script (#32283)
authorcloudchamb3r <jizon0123@protonmail.com>
Thu, 17 Oct 2024 05:43:48 +0000 (14:43 +0900)
committerGitHub <noreply@github.com>
Thu, 17 Oct 2024 05:43:48 +0000 (01:43 -0400)
The current backport script does not have github access token flag.
This patch will be useful when encountered rate limit issue.

contrib/backport/backport.go

index 9ae4483d8b67ebaed16f51c4256e9f5aebdf51e8..eb194374452c52cbdfa59fef9b2371bc34f3842d 100644 (file)
@@ -64,6 +64,11 @@ func main() {
                        Value: "",
                        Usage: "Forked user name on Github",
                },
+               &cli.StringFlag{
+                       Name:  "gh-access-token",
+                       Value: "",
+                       Usage: "Access token for GitHub api request",
+               },
                &cli.BoolFlag{
                        Name:  "no-fetch",
                        Usage: "Set this flag to prevent fetch of remote branches",
@@ -169,9 +174,10 @@ func runBackport(c *cli.Context) error {
        fmt.Printf("* Backporting %s to %s as %s\n", pr, localReleaseBranch, backportBranch)
 
        sha := c.String("cherry-pick")
+       accessToken := c.String("gh-access-token")
        if sha == "" {
                var err error
-               sha, err = determineSHAforPR(ctx, pr)
+               sha, err = determineSHAforPR(ctx, pr, accessToken)
                if err != nil {
                        return err
                }
@@ -427,13 +433,16 @@ func readVersion() string {
        return strings.Join(split[:2], ".")
 }
 
-func determineSHAforPR(ctx context.Context, prStr string) (string, error) {
+func determineSHAforPR(ctx context.Context, prStr, accessToken string) (string, error) {
        prNum, err := strconv.Atoi(prStr)
        if err != nil {
                return "", err
        }
 
        client := github.NewClient(http.DefaultClient)
+       if accessToken != "" {
+               client = client.WithAuthToken(accessToken)
+       }
 
        pr, _, err := client.PullRequests.Get(ctx, "go-gitea", "gitea", prNum)
        if err != nil {