From fac7a3c0d313bbd6ebe4accc0039122434219fe5 Mon Sep 17 00:00:00 2001 From: zyfy29 Date: Fri, 26 Sep 2025 15:28:25 +0900 Subject: [PATCH 1/5] feat: Add fork PR workflows permission API support --- github/actions_permissions_enterprise.go | 37 ++++++++++ github/actions_permissions_enterprise_test.go | 72 +++++++++++++++++++ github/actions_permissions_orgs.go | 37 ++++++++++ github/actions_permissions_orgs_test.go | 72 +++++++++++++++++++ github/actions_workflows.go | 9 +++ github/repos_actions_permissions.go | 37 ++++++++++ github/repos_actions_permissions_test.go | 72 +++++++++++++++++++ 7 files changed, 336 insertions(+) diff --git a/github/actions_permissions_enterprise.go b/github/actions_permissions_enterprise.go index f1cada9646b..4f05847ee26 100644 --- a/github/actions_permissions_enterprise.go +++ b/github/actions_permissions_enterprise.go @@ -375,3 +375,40 @@ func (s *ActionsService) UpdatePrivateRepoForkPRWorkflowSettingsInEnterprise(ctx return s.client.Do(ctx, req, nil) } + +// GetForkPRContributorApprovalPermissionsInEnterprise gets the settings for whether workflows from fork pull requests can run on private repositories in an enterprise. +// +// GitHub API docs: https://docs.github.com/enterprise-cloud@latest/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-an-enterprise +// +//meta:operation GET /enterprises/{enterprise}/actions/permissions/fork-pr-contributor-approval +func (s *ActionsService) GetForkPRContributorApprovalPermissionsInEnterprise(ctx context.Context, enterprise string) (*WorkflowApprovalPolicy, *Response, error) { + u := fmt.Sprintf("enterprises/%v/actions/permissions/fork-pr-contributor-approval", enterprise) + + req, err := s.client.NewRequest("GET", u, nil) + if err != nil { + return nil, nil, err + } + + settings := new(WorkflowApprovalPolicy) + resp, err := s.client.Do(ctx, req, settings) + if err != nil { + return nil, resp, err + } + + return settings, resp, nil +} + +// UpdateForkPRContributorApprovalPermissionsInEnterprise sets the settings for whether workflows from fork pull requests can run on private repositories in an enterprise. +// +// GitHub API docs: https://docs.github.com/ja/enterprise-cloud@latest/rest/actions/permissions?apiVersion=2022-11-28#set-fork-pr-contributor-approval-permissions-for-an-enterprise +// +//meta:operation PUT /enterprises/{enterprise}/actions/permissions/fork-pr-contributor-approval +func (s *ActionsService) UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx context.Context, enterprise string, policy WorkflowApprovalPolicy) (*Response, error) { + u := fmt.Sprintf("enterprises/%v/actions/permissions/fork-pr-contributor-approval", enterprise) + req, err := s.client.NewRequest("PUT", u, policy) + if err != nil { + return nil, err + } + + return s.client.Do(ctx, req, nil) +} diff --git a/github/actions_permissions_enterprise_test.go b/github/actions_permissions_enterprise_test.go index 9e190319cbb..aed0325826b 100644 --- a/github/actions_permissions_enterprise_test.go +++ b/github/actions_permissions_enterprise_test.go @@ -604,3 +604,75 @@ func TestActionsService_UpdatePrivateRepoForkPRWorkflowSettingsInEnterprise(t *t return client.Actions.UpdatePrivateRepoForkPRWorkflowSettingsInEnterprise(ctx, "e", input) }) } + +func TestActionsService_GetForkPRContributorApprovalPermissionsInEnterprise(t *testing.T) { + t.Parallel() + client, mux, _ := setup(t) + + mux.HandleFunc("/enterprises/e/actions/permissions/fork-pr-contributor-approval", func(w http.ResponseWriter, r *http.Request) { + testMethod(t, r, "GET") + fmt.Fprint(w, `{"approval_policy": "require_approval"}`) + }) + + ctx := context.Background() + policy, _, err := client.Actions.GetForkPRContributorApprovalPermissionsInEnterprise(ctx, "e") + if err != nil { + t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInEnterprise returned error: %v", err) + } + want := &WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + if !cmp.Equal(policy, want) { + t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInEnterprise returned %+v, want %+v", policy, want) + } + + const methodName = "GetForkPRContributorApprovalPermissionsInEnterprise" + testBadOptions(t, methodName, func() (err error) { + _, _, err = client.Actions.GetForkPRContributorApprovalPermissionsInEnterprise(ctx, "\n") + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + got, resp, err := client.Actions.GetForkPRContributorApprovalPermissionsInEnterprise(ctx, "e") + if got != nil { + t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) + } + return resp, err + }) +} + +func TestActionsService_UpdateForkPRContributorApprovalPermissionsInEnterprise(t *testing.T) { + t.Parallel() + client, mux, _ := setup(t) + + input := WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + + mux.HandleFunc("/enterprises/e/actions/permissions/fork-pr-contributor-approval", func(w http.ResponseWriter, r *http.Request) { + v := new(WorkflowApprovalPolicy) + assertNilError(t, json.NewDecoder(r.Body).Decode(v)) + + testMethod(t, r, "PUT") + if !cmp.Equal(v, &input) { + t.Errorf("Request body = %+v, want %+v", v, &input) + } + w.WriteHeader(http.StatusNoContent) + }) + + ctx := context.Background() + resp, err := client.Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx, "e", input) + if err != nil { + t.Errorf("Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise returned error: %v", err) + } + + if resp.StatusCode != http.StatusNoContent { + t.Errorf("Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise = %d, want %d", resp.StatusCode, http.StatusNoContent) + } + + const methodName = "UpdateForkPRContributorApprovalPermissionsInEnterprise" + testBadOptions(t, methodName, func() (err error) { + _, err = client.Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx, "\n", input) + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + return client.Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx, "e", input) + }) +} diff --git a/github/actions_permissions_orgs.go b/github/actions_permissions_orgs.go index e3912b48358..e78be8981d2 100644 --- a/github/actions_permissions_orgs.go +++ b/github/actions_permissions_orgs.go @@ -483,3 +483,40 @@ func (s *ActionsService) UpdatePrivateRepoForkPRWorkflowSettingsInOrganization(c return s.client.Do(ctx, req, nil) } + +// GetForkPRContributorApprovalPermissionsInOrganization gets the settings for whether workflows from fork pull requests can run without approval from contributors in an organization. +// +// GitHub API docs: https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-an-organization +// +//meta:operation GET /orgs/{org}/actions/permissions/fork-pr-contributor-approval +func (s *ActionsService) GetForkPRContributorApprovalPermissionsInOrganization(ctx context.Context, org string) (*WorkflowApprovalPolicy, *Response, error) { + u := fmt.Sprintf("orgs/%v/actions/permissions/fork-pr-contributor-approval", org) + + req, err := s.client.NewRequest("GET", u, nil) + if err != nil { + return nil, nil, err + } + + settings := new(WorkflowApprovalPolicy) + resp, err := s.client.Do(ctx, req, settings) + if err != nil { + return nil, resp, err + } + + return settings, resp, nil +} + +// UpdateForkPRContributorApprovalPermissionsInOrganization sets the settings for whether workflows from fork pull requests can run without approval from contributors in an organization. +// +// GitHub API docs: https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-an-organization +// +//meta:operation PUT /orgs/{org}/actions/permissions/fork-pr-contributor-approval +func (s *ActionsService) UpdateForkPRContributorApprovalPermissionsInOrganization(ctx context.Context, org string, policy WorkflowApprovalPolicy) (*Response, error) { + u := fmt.Sprintf("orgs/%v/actions/permissions/fork-pr-contributor-approval", org) + req, err := s.client.NewRequest("PUT", u, policy) + if err != nil { + return nil, err + } + + return s.client.Do(ctx, req, nil) +} diff --git a/github/actions_permissions_orgs_test.go b/github/actions_permissions_orgs_test.go index 13073d250b6..4d866df1ea7 100644 --- a/github/actions_permissions_orgs_test.go +++ b/github/actions_permissions_orgs_test.go @@ -774,3 +774,75 @@ func TestActionsService_UpdatePrivateRepoForkPRWorkflowSettingsInOrganization(t return client.Actions.UpdatePrivateRepoForkPRWorkflowSettingsInOrganization(ctx, "o", input) }) } + +func TestActionsService_GetForkPRContributorApprovalPermissionsInOrganization(t *testing.T) { + t.Parallel() + client, mux, _ := setup(t) + + mux.HandleFunc("/orgs/o/actions/permissions/fork-pr-contributor-approval", func(w http.ResponseWriter, r *http.Request) { + testMethod(t, r, "GET") + fmt.Fprint(w, `{"approval_policy": "require_approval"}`) + }) + + ctx := context.Background() + policy, _, err := client.Actions.GetForkPRContributorApprovalPermissionsInOrganization(ctx, "o") + if err != nil { + t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInOrganization returned error: %v", err) + } + want := &WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + if !cmp.Equal(policy, want) { + t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInOrganization returned %+v, want %+v", policy, want) + } + + const methodName = "GetForkPRContributorApprovalPermissionsInOrganization" + testBadOptions(t, methodName, func() (err error) { + _, _, err = client.Actions.GetForkPRContributorApprovalPermissionsInOrganization(ctx, "\n") + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + got, resp, err := client.Actions.GetForkPRContributorApprovalPermissionsInOrganization(ctx, "o") + if got != nil { + t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) + } + return resp, err + }) +} + +func TestActionsService_UpdateForkPRContributorApprovalPermissionsInOrganization(t *testing.T) { + t.Parallel() + client, mux, _ := setup(t) + + input := WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + + mux.HandleFunc("/orgs/o/actions/permissions/fork-pr-contributor-approval", func(w http.ResponseWriter, r *http.Request) { + v := new(WorkflowApprovalPolicy) + assertNilError(t, json.NewDecoder(r.Body).Decode(v)) + + testMethod(t, r, "PUT") + if !cmp.Equal(v, &input) { + t.Errorf("Request body = %+v, want %+v", v, &input) + } + w.WriteHeader(http.StatusNoContent) + }) + + ctx := context.Background() + resp, err := client.Actions.UpdateForkPRContributorApprovalPermissionsInOrganization(ctx, "o", input) + if err != nil { + t.Errorf("Actions.UpdateForkPRContributorApprovalPermissionsInOrganization returned error: %v", err) + } + + if resp.StatusCode != http.StatusNoContent { + t.Errorf("Actions.UpdateForkPRContributorApprovalPermissionsInOrganization = %d, want %d", resp.StatusCode, http.StatusNoContent) + } + + const methodName = "UpdateForkPRContributorApprovalPermissionsInOrganization" + testBadOptions(t, methodName, func() (err error) { + _, err = client.Actions.UpdateForkPRContributorApprovalPermissionsInOrganization(ctx, "\n", input) + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + return client.Actions.UpdateForkPRContributorApprovalPermissionsInOrganization(ctx, "o", input) + }) +} diff --git a/github/actions_workflows.go b/github/actions_workflows.go index dbde83cf306..27267c99c9e 100644 --- a/github/actions_workflows.go +++ b/github/actions_workflows.go @@ -76,6 +76,15 @@ type WorkflowsPermissionsOpt struct { RequireApprovalForForkPRWorkflows *bool `json:"require_approval_for_fork_pr_workflows,omitempty"` } +// WorkflowApprovalPolicy represents the approval policy for workflows in a repository. +type WorkflowApprovalPolicy struct { + ApprovalPolicy string `json:"approval_policy"` +} + +func (p WorkflowApprovalPolicy) String() string { + return Stringify(p) +} + // ListWorkflows lists all workflows in a repository. // // GitHub API docs: https://docs.github.com/rest/actions/workflows#list-repository-workflows diff --git a/github/repos_actions_permissions.go b/github/repos_actions_permissions.go index 4d634464920..7ec36dfecff 100644 --- a/github/repos_actions_permissions.go +++ b/github/repos_actions_permissions.go @@ -190,3 +190,40 @@ func (s *RepositoriesService) UpdatePrivateRepoForkPRWorkflowSettings(ctx contex return s.client.Do(ctx, req, nil) } + +// GetForkPRContributorApprovalPermissions gets the settings for whether workflows from fork pull requests can run without approval from contributors in a repository. +// +// GitHub API docs: https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-a-repository +// +//meta:operation GET /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval +func (s *RepositoriesService) GetForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string) (*WorkflowApprovalPolicy, *Response, error) { + u := fmt.Sprintf("repos/%v/%v/actions/permissions/fork-pr-contributor-approval", owner, repo) + + req, err := s.client.NewRequest("GET", u, nil) + if err != nil { + return nil, nil, err + } + + settings := new(WorkflowApprovalPolicy) + resp, err := s.client.Do(ctx, req, settings) + if err != nil { + return nil, resp, err + } + + return settings, resp, nil +} + +// UpdateForkPRContributorApprovalPermissions sets the settings for whether workflows from fork pull requests can run without approval from contributors in a repository. +// +// GitHub API docs: https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-a-repository +// +//meta:operation PUT /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval +func (s *RepositoriesService) UpdateForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string, policy WorkflowApprovalPolicy) (*Response, error) { + u := fmt.Sprintf("repos/%v/%v/actions/permissions/fork-pr-contributor-approval", owner, repo) + req, err := s.client.NewRequest("PUT", u, policy) + if err != nil { + return nil, err + } + + return s.client.Do(ctx, req, nil) +} diff --git a/github/repos_actions_permissions_test.go b/github/repos_actions_permissions_test.go index 35a4219d81e..fa313dc0a7b 100644 --- a/github/repos_actions_permissions_test.go +++ b/github/repos_actions_permissions_test.go @@ -346,3 +346,75 @@ func TestRepositoriesService_UpdatePrivateRepoForkPRWorkflowSettings(t *testing. return client.Repositories.UpdatePrivateRepoForkPRWorkflowSettings(ctx, "o", "r", input) }) } + +func TestRepositoriesService_GetForkPRContributorApprovalPermissions(t *testing.T) { + t.Parallel() + client, mux, _ := setup(t) + + mux.HandleFunc("/repos/o/r/actions/permissions/fork-pr-contributor-approval", func(w http.ResponseWriter, r *http.Request) { + testMethod(t, r, "GET") + fmt.Fprint(w, `{"approval_policy": "require_approval"}`) + }) + + ctx := context.Background() + policy, _, err := client.Repositories.GetForkPRContributorApprovalPermissions(ctx, "o", "r") + if err != nil { + t.Errorf("Repositories.GetForkPRContributorApprovalPermissions returned error: %v", err) + } + want := &WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + if !cmp.Equal(policy, want) { + t.Errorf("Repositories.GetForkPRContributorApprovalPermissions returned %+v, want %+v", policy, want) + } + + const methodName = "GetForkPRContributorApprovalPermissions" + testBadOptions(t, methodName, func() (err error) { + _, _, err = client.Repositories.GetForkPRContributorApprovalPermissions(ctx, "\n", "\n") + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + got, resp, err := client.Repositories.GetForkPRContributorApprovalPermissions(ctx, "o", "r") + if got != nil { + t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) + } + return resp, err + }) +} + +func TestRepositoriesService_UpdateForkPRContributorApprovalPermissions(t *testing.T) { + t.Parallel() + client, mux, _ := setup(t) + + input := WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + + mux.HandleFunc("/repos/o/r/actions/permissions/fork-pr-contributor-approval", func(w http.ResponseWriter, r *http.Request) { + v := new(WorkflowApprovalPolicy) + assertNilError(t, json.NewDecoder(r.Body).Decode(v)) + + testMethod(t, r, "PUT") + if !cmp.Equal(v, &input) { + t.Errorf("Request body = %+v, want %+v", v, &input) + } + w.WriteHeader(http.StatusNoContent) + }) + + ctx := context.Background() + resp, err := client.Repositories.UpdateForkPRContributorApprovalPermissions(ctx, "o", "r", input) + if err != nil { + t.Errorf("Repositories.UpdateForkPRContributorApprovalPermissions returned error: %v", err) + } + + if resp.StatusCode != http.StatusNoContent { + t.Errorf("Repositories.UpdateForkPRContributorApprovalPermissions = %d, want %d", resp.StatusCode, http.StatusNoContent) + } + + const methodName = "UpdateForkPRContributorApprovalPermissions" + testBadOptions(t, methodName, func() (err error) { + _, err = client.Repositories.UpdateForkPRContributorApprovalPermissions(ctx, "\n", "\n", input) + return err + }) + + testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { + return client.Repositories.UpdateForkPRContributorApprovalPermissions(ctx, "o", "r", input) + }) +} From 0e925b235784bf81c04384c284f2fd2d2000a8ce Mon Sep 17 00:00:00 2001 From: zyfy29 Date: Fri, 26 Sep 2025 15:44:10 +0900 Subject: [PATCH 2/5] style: fix lint error --- github/actions_permissions_enterprise.go | 2 +- github/github-stringify_test.go | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/github/actions_permissions_enterprise.go b/github/actions_permissions_enterprise.go index 4f05847ee26..2329f9a4da8 100644 --- a/github/actions_permissions_enterprise.go +++ b/github/actions_permissions_enterprise.go @@ -400,7 +400,7 @@ func (s *ActionsService) GetForkPRContributorApprovalPermissionsInEnterprise(ctx // UpdateForkPRContributorApprovalPermissionsInEnterprise sets the settings for whether workflows from fork pull requests can run on private repositories in an enterprise. // -// GitHub API docs: https://docs.github.com/ja/enterprise-cloud@latest/rest/actions/permissions?apiVersion=2022-11-28#set-fork-pr-contributor-approval-permissions-for-an-enterprise +// GitHub API docs: https://docs.github.com/enterprise-cloud@latest/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-an-enterprise // //meta:operation PUT /enterprises/{enterprise}/actions/permissions/fork-pr-contributor-approval func (s *ActionsService) UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx context.Context, enterprise string, policy WorkflowApprovalPolicy) (*Response, error) { diff --git a/github/github-stringify_test.go b/github/github-stringify_test.go index b246f0bc35a..7277744aee1 100644 --- a/github/github-stringify_test.go +++ b/github/github-stringify_test.go @@ -2384,6 +2384,17 @@ func TestWeeklyStats_String(t *testing.T) { } } +func TestWorkflowApprovalPolicy_String(t *testing.T) { + t.Parallel() + v := WorkflowApprovalPolicy{ + ApprovalPolicy: "", + } + want := `github.WorkflowApprovalPolicy{ApprovalPolicy:""}` + if got := v.String(); got != want { + t.Errorf("WorkflowApprovalPolicy.String = %v, want %v", got, want) + } +} + func TestWorkflowsPermissions_String(t *testing.T) { t.Parallel() v := WorkflowsPermissions{ From ef313dc6e41330b270fd6981add9acd74f5892b5 Mon Sep 17 00:00:00 2001 From: zyfy29 Date: Fri, 3 Oct 2025 16:09:22 +0900 Subject: [PATCH 3/5] apply requested changes --- github/actions_permissions_enterprise.go | 14 ++++++------ github/actions_permissions_enterprise_test.go | 6 ++--- github/actions_permissions_orgs.go | 14 ++++++------ github/actions_permissions_orgs_test.go | 6 ++--- github/actions_workflows.go | 7 +++--- github/github-stringify_test.go | 22 +++++++++---------- github/repos_actions_permissions.go | 14 ++++++------ github/repos_actions_permissions_test.go | 6 ++--- 8 files changed, 45 insertions(+), 44 deletions(-) diff --git a/github/actions_permissions_enterprise.go b/github/actions_permissions_enterprise.go index 2329f9a4da8..0ba709ee984 100644 --- a/github/actions_permissions_enterprise.go +++ b/github/actions_permissions_enterprise.go @@ -376,12 +376,12 @@ func (s *ActionsService) UpdatePrivateRepoForkPRWorkflowSettingsInEnterprise(ctx return s.client.Do(ctx, req, nil) } -// GetForkPRContributorApprovalPermissionsInEnterprise gets the settings for whether workflows from fork pull requests can run on private repositories in an enterprise. +// GetForkPRContributorApprovalPermissionsInEnterprise gets the fork PR contributor approval policy for an enterprise. // // GitHub API docs: https://docs.github.com/enterprise-cloud@latest/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-an-enterprise // //meta:operation GET /enterprises/{enterprise}/actions/permissions/fork-pr-contributor-approval -func (s *ActionsService) GetForkPRContributorApprovalPermissionsInEnterprise(ctx context.Context, enterprise string) (*WorkflowApprovalPolicy, *Response, error) { +func (s *ActionsService) GetForkPRContributorApprovalPermissionsInEnterprise(ctx context.Context, enterprise string) (*ContributorApprovalPermissions, *Response, error) { u := fmt.Sprintf("enterprises/%v/actions/permissions/fork-pr-contributor-approval", enterprise) req, err := s.client.NewRequest("GET", u, nil) @@ -389,21 +389,21 @@ func (s *ActionsService) GetForkPRContributorApprovalPermissionsInEnterprise(ctx return nil, nil, err } - settings := new(WorkflowApprovalPolicy) - resp, err := s.client.Do(ctx, req, settings) + policy := new(ContributorApprovalPermissions) + resp, err := s.client.Do(ctx, req, policy) if err != nil { return nil, resp, err } - return settings, resp, nil + return policy, resp, nil } -// UpdateForkPRContributorApprovalPermissionsInEnterprise sets the settings for whether workflows from fork pull requests can run on private repositories in an enterprise. +// UpdateForkPRContributorApprovalPermissionsInEnterprise sets the fork PR contributor approval policy for an enterprise. // // GitHub API docs: https://docs.github.com/enterprise-cloud@latest/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-an-enterprise // //meta:operation PUT /enterprises/{enterprise}/actions/permissions/fork-pr-contributor-approval -func (s *ActionsService) UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx context.Context, enterprise string, policy WorkflowApprovalPolicy) (*Response, error) { +func (s *ActionsService) UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx context.Context, enterprise string, policy ContributorApprovalPermissions) (*Response, error) { u := fmt.Sprintf("enterprises/%v/actions/permissions/fork-pr-contributor-approval", enterprise) req, err := s.client.NewRequest("PUT", u, policy) if err != nil { diff --git a/github/actions_permissions_enterprise_test.go b/github/actions_permissions_enterprise_test.go index aed0325826b..0b32d7d442d 100644 --- a/github/actions_permissions_enterprise_test.go +++ b/github/actions_permissions_enterprise_test.go @@ -619,7 +619,7 @@ func TestActionsService_GetForkPRContributorApprovalPermissionsInEnterprise(t *t if err != nil { t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInEnterprise returned error: %v", err) } - want := &WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + want := &ContributorApprovalPermissions{ApprovalPolicy: "require_approval"} if !cmp.Equal(policy, want) { t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInEnterprise returned %+v, want %+v", policy, want) } @@ -643,10 +643,10 @@ func TestActionsService_UpdateForkPRContributorApprovalPermissionsInEnterprise(t t.Parallel() client, mux, _ := setup(t) - input := WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + input := ContributorApprovalPermissions{ApprovalPolicy: "require_approval"} mux.HandleFunc("/enterprises/e/actions/permissions/fork-pr-contributor-approval", func(w http.ResponseWriter, r *http.Request) { - v := new(WorkflowApprovalPolicy) + v := new(ContributorApprovalPermissions) assertNilError(t, json.NewDecoder(r.Body).Decode(v)) testMethod(t, r, "PUT") diff --git a/github/actions_permissions_orgs.go b/github/actions_permissions_orgs.go index e78be8981d2..0474bb46fe3 100644 --- a/github/actions_permissions_orgs.go +++ b/github/actions_permissions_orgs.go @@ -484,12 +484,12 @@ func (s *ActionsService) UpdatePrivateRepoForkPRWorkflowSettingsInOrganization(c return s.client.Do(ctx, req, nil) } -// GetForkPRContributorApprovalPermissionsInOrganization gets the settings for whether workflows from fork pull requests can run without approval from contributors in an organization. +// GetForkPRContributorApprovalPermissionsInOrganization gets the fork PR contributor approval policy for an organization. // // GitHub API docs: https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-an-organization // //meta:operation GET /orgs/{org}/actions/permissions/fork-pr-contributor-approval -func (s *ActionsService) GetForkPRContributorApprovalPermissionsInOrganization(ctx context.Context, org string) (*WorkflowApprovalPolicy, *Response, error) { +func (s *ActionsService) GetForkPRContributorApprovalPermissionsInOrganization(ctx context.Context, org string) (*ContributorApprovalPermissions, *Response, error) { u := fmt.Sprintf("orgs/%v/actions/permissions/fork-pr-contributor-approval", org) req, err := s.client.NewRequest("GET", u, nil) @@ -497,21 +497,21 @@ func (s *ActionsService) GetForkPRContributorApprovalPermissionsInOrganization(c return nil, nil, err } - settings := new(WorkflowApprovalPolicy) - resp, err := s.client.Do(ctx, req, settings) + policy := new(ContributorApprovalPermissions) + resp, err := s.client.Do(ctx, req, policy) if err != nil { return nil, resp, err } - return settings, resp, nil + return policy, resp, nil } -// UpdateForkPRContributorApprovalPermissionsInOrganization sets the settings for whether workflows from fork pull requests can run without approval from contributors in an organization. +// UpdateForkPRContributorApprovalPermissionsInOrganization sets the fork PR contributor approval policy for an organization. // // GitHub API docs: https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-an-organization // //meta:operation PUT /orgs/{org}/actions/permissions/fork-pr-contributor-approval -func (s *ActionsService) UpdateForkPRContributorApprovalPermissionsInOrganization(ctx context.Context, org string, policy WorkflowApprovalPolicy) (*Response, error) { +func (s *ActionsService) UpdateForkPRContributorApprovalPermissionsInOrganization(ctx context.Context, org string, policy ContributorApprovalPermissions) (*Response, error) { u := fmt.Sprintf("orgs/%v/actions/permissions/fork-pr-contributor-approval", org) req, err := s.client.NewRequest("PUT", u, policy) if err != nil { diff --git a/github/actions_permissions_orgs_test.go b/github/actions_permissions_orgs_test.go index 4d866df1ea7..bfd883bf0e6 100644 --- a/github/actions_permissions_orgs_test.go +++ b/github/actions_permissions_orgs_test.go @@ -789,7 +789,7 @@ func TestActionsService_GetForkPRContributorApprovalPermissionsInOrganization(t if err != nil { t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInOrganization returned error: %v", err) } - want := &WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + want := &ContributorApprovalPermissions{ApprovalPolicy: "require_approval"} if !cmp.Equal(policy, want) { t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInOrganization returned %+v, want %+v", policy, want) } @@ -813,10 +813,10 @@ func TestActionsService_UpdateForkPRContributorApprovalPermissionsInOrganization t.Parallel() client, mux, _ := setup(t) - input := WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + input := ContributorApprovalPermissions{ApprovalPolicy: "require_approval"} mux.HandleFunc("/orgs/o/actions/permissions/fork-pr-contributor-approval", func(w http.ResponseWriter, r *http.Request) { - v := new(WorkflowApprovalPolicy) + v := new(ContributorApprovalPermissions) assertNilError(t, json.NewDecoder(r.Body).Decode(v)) testMethod(t, r, "PUT") diff --git a/github/actions_workflows.go b/github/actions_workflows.go index 27267c99c9e..41cb956c3c4 100644 --- a/github/actions_workflows.go +++ b/github/actions_workflows.go @@ -76,12 +76,13 @@ type WorkflowsPermissionsOpt struct { RequireApprovalForForkPRWorkflows *bool `json:"require_approval_for_fork_pr_workflows,omitempty"` } -// WorkflowApprovalPolicy represents the approval policy for workflows in a repository. -type WorkflowApprovalPolicy struct { +// ContributorApprovalPermissions represents the policy that controls +// when fork PR workflows require approval from a maintainer. +type ContributorApprovalPermissions struct { ApprovalPolicy string `json:"approval_policy"` } -func (p WorkflowApprovalPolicy) String() string { +func (p ContributorApprovalPermissions) String() string { return Stringify(p) } diff --git a/github/github-stringify_test.go b/github/github-stringify_test.go index 7277744aee1..ec1b4be204a 100644 --- a/github/github-stringify_test.go +++ b/github/github-stringify_test.go @@ -420,6 +420,17 @@ func TestCommitsComparison_String(t *testing.T) { } } +func TestContributorApprovalPermissions_String(t *testing.T) { + t.Parallel() + v := ContributorApprovalPermissions{ + ApprovalPolicy: "", + } + want := `github.ContributorApprovalPermissions{ApprovalPolicy:""}` + if got := v.String(); got != want { + t.Errorf("ContributorApprovalPermissions.String = %v, want %v", got, want) + } +} + func TestContributorStats_String(t *testing.T) { t.Parallel() v := ContributorStats{ @@ -2384,17 +2395,6 @@ func TestWeeklyStats_String(t *testing.T) { } } -func TestWorkflowApprovalPolicy_String(t *testing.T) { - t.Parallel() - v := WorkflowApprovalPolicy{ - ApprovalPolicy: "", - } - want := `github.WorkflowApprovalPolicy{ApprovalPolicy:""}` - if got := v.String(); got != want { - t.Errorf("WorkflowApprovalPolicy.String = %v, want %v", got, want) - } -} - func TestWorkflowsPermissions_String(t *testing.T) { t.Parallel() v := WorkflowsPermissions{ diff --git a/github/repos_actions_permissions.go b/github/repos_actions_permissions.go index 7ec36dfecff..22adb1627aa 100644 --- a/github/repos_actions_permissions.go +++ b/github/repos_actions_permissions.go @@ -191,12 +191,12 @@ func (s *RepositoriesService) UpdatePrivateRepoForkPRWorkflowSettings(ctx contex return s.client.Do(ctx, req, nil) } -// GetForkPRContributorApprovalPermissions gets the settings for whether workflows from fork pull requests can run without approval from contributors in a repository. +// GetForkPRContributorApprovalPermissions gets the fork PR contributor approval policy for a repository. // // GitHub API docs: https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-a-repository // //meta:operation GET /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval -func (s *RepositoriesService) GetForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string) (*WorkflowApprovalPolicy, *Response, error) { +func (s *RepositoriesService) GetForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string) (*ContributorApprovalPermissions, *Response, error) { u := fmt.Sprintf("repos/%v/%v/actions/permissions/fork-pr-contributor-approval", owner, repo) req, err := s.client.NewRequest("GET", u, nil) @@ -204,21 +204,21 @@ func (s *RepositoriesService) GetForkPRContributorApprovalPermissions(ctx contex return nil, nil, err } - settings := new(WorkflowApprovalPolicy) - resp, err := s.client.Do(ctx, req, settings) + policy := new(ContributorApprovalPermissions) + resp, err := s.client.Do(ctx, req, policy) if err != nil { return nil, resp, err } - return settings, resp, nil + return policy, resp, nil } -// UpdateForkPRContributorApprovalPermissions sets the settings for whether workflows from fork pull requests can run without approval from contributors in a repository. +// UpdateForkPRContributorApprovalPermissions sets the fork PR contributor approval policy for a repository. // // GitHub API docs: https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-a-repository // //meta:operation PUT /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval -func (s *RepositoriesService) UpdateForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string, policy WorkflowApprovalPolicy) (*Response, error) { +func (s *RepositoriesService) UpdateForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string, policy ContributorApprovalPermissions) (*Response, error) { u := fmt.Sprintf("repos/%v/%v/actions/permissions/fork-pr-contributor-approval", owner, repo) req, err := s.client.NewRequest("PUT", u, policy) if err != nil { diff --git a/github/repos_actions_permissions_test.go b/github/repos_actions_permissions_test.go index fa313dc0a7b..122d9acf9ce 100644 --- a/github/repos_actions_permissions_test.go +++ b/github/repos_actions_permissions_test.go @@ -361,7 +361,7 @@ func TestRepositoriesService_GetForkPRContributorApprovalPermissions(t *testing. if err != nil { t.Errorf("Repositories.GetForkPRContributorApprovalPermissions returned error: %v", err) } - want := &WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + want := &ContributorApprovalPermissions{ApprovalPolicy: "require_approval"} if !cmp.Equal(policy, want) { t.Errorf("Repositories.GetForkPRContributorApprovalPermissions returned %+v, want %+v", policy, want) } @@ -385,10 +385,10 @@ func TestRepositoriesService_UpdateForkPRContributorApprovalPermissions(t *testi t.Parallel() client, mux, _ := setup(t) - input := WorkflowApprovalPolicy{ApprovalPolicy: "require_approval"} + input := ContributorApprovalPermissions{ApprovalPolicy: "require_approval"} mux.HandleFunc("/repos/o/r/actions/permissions/fork-pr-contributor-approval", func(w http.ResponseWriter, r *http.Request) { - v := new(WorkflowApprovalPolicy) + v := new(ContributorApprovalPermissions) assertNilError(t, json.NewDecoder(r.Body).Decode(v)) testMethod(t, r, "PUT") From 4b98b3336980509cf648518ae6c4f0c17f0ccd69 Mon Sep 17 00:00:00 2001 From: zyfy29 Date: Tue, 7 Oct 2025 16:07:35 +0900 Subject: [PATCH 4/5] rename functions to follow the verb-scope-subject pattern --- github/actions_permissions_enterprise.go | 8 +++--- github/actions_permissions_enterprise_test.go | 28 +++++++++---------- github/actions_permissions_orgs.go | 8 +++--- github/actions_permissions_orgs_test.go | 28 +++++++++---------- github/repos_actions_permissions.go | 4 +-- github/repos_actions_permissions_test.go | 24 ++++++++-------- 6 files changed, 50 insertions(+), 50 deletions(-) diff --git a/github/actions_permissions_enterprise.go b/github/actions_permissions_enterprise.go index 0ba709ee984..326230d6490 100644 --- a/github/actions_permissions_enterprise.go +++ b/github/actions_permissions_enterprise.go @@ -376,12 +376,12 @@ func (s *ActionsService) UpdatePrivateRepoForkPRWorkflowSettingsInEnterprise(ctx return s.client.Do(ctx, req, nil) } -// GetForkPRContributorApprovalPermissionsInEnterprise gets the fork PR contributor approval policy for an enterprise. +// GetEnterpriseForkPRContributorApprovalPermissions gets the fork PR contributor approval policy for an enterprise. // // GitHub API docs: https://docs.github.com/enterprise-cloud@latest/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-an-enterprise // //meta:operation GET /enterprises/{enterprise}/actions/permissions/fork-pr-contributor-approval -func (s *ActionsService) GetForkPRContributorApprovalPermissionsInEnterprise(ctx context.Context, enterprise string) (*ContributorApprovalPermissions, *Response, error) { +func (s *ActionsService) GetEnterpriseForkPRContributorApprovalPermissions(ctx context.Context, enterprise string) (*ContributorApprovalPermissions, *Response, error) { u := fmt.Sprintf("enterprises/%v/actions/permissions/fork-pr-contributor-approval", enterprise) req, err := s.client.NewRequest("GET", u, nil) @@ -398,12 +398,12 @@ func (s *ActionsService) GetForkPRContributorApprovalPermissionsInEnterprise(ctx return policy, resp, nil } -// UpdateForkPRContributorApprovalPermissionsInEnterprise sets the fork PR contributor approval policy for an enterprise. +// UpdateEnterpriseForkPRContributorApprovalPermissions sets the fork PR contributor approval policy for an enterprise. // // GitHub API docs: https://docs.github.com/enterprise-cloud@latest/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-an-enterprise // //meta:operation PUT /enterprises/{enterprise}/actions/permissions/fork-pr-contributor-approval -func (s *ActionsService) UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx context.Context, enterprise string, policy ContributorApprovalPermissions) (*Response, error) { +func (s *ActionsService) UpdateEnterpriseForkPRContributorApprovalPermissions(ctx context.Context, enterprise string, policy ContributorApprovalPermissions) (*Response, error) { u := fmt.Sprintf("enterprises/%v/actions/permissions/fork-pr-contributor-approval", enterprise) req, err := s.client.NewRequest("PUT", u, policy) if err != nil { diff --git a/github/actions_permissions_enterprise_test.go b/github/actions_permissions_enterprise_test.go index 0b32d7d442d..6f85686dbca 100644 --- a/github/actions_permissions_enterprise_test.go +++ b/github/actions_permissions_enterprise_test.go @@ -605,7 +605,7 @@ func TestActionsService_UpdatePrivateRepoForkPRWorkflowSettingsInEnterprise(t *t }) } -func TestActionsService_GetForkPRContributorApprovalPermissionsInEnterprise(t *testing.T) { +func TestActionsService_GetEnterpriseForkPRContributorApprovalPermissions(t *testing.T) { t.Parallel() client, mux, _ := setup(t) @@ -615,23 +615,23 @@ func TestActionsService_GetForkPRContributorApprovalPermissionsInEnterprise(t *t }) ctx := context.Background() - policy, _, err := client.Actions.GetForkPRContributorApprovalPermissionsInEnterprise(ctx, "e") + policy, _, err := client.Actions.GetEnterpriseForkPRContributorApprovalPermissions(ctx, "e") if err != nil { - t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInEnterprise returned error: %v", err) + t.Errorf("Actions.GetEnterpriseForkPRContributorApprovalPermissions returned error: %v", err) } want := &ContributorApprovalPermissions{ApprovalPolicy: "require_approval"} if !cmp.Equal(policy, want) { - t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInEnterprise returned %+v, want %+v", policy, want) + t.Errorf("Actions.GetEnterpriseForkPRContributorApprovalPermissions returned %+v, want %+v", policy, want) } - const methodName = "GetForkPRContributorApprovalPermissionsInEnterprise" + const methodName = "GetEnterpriseForkPRContributorApprovalPermissions" testBadOptions(t, methodName, func() (err error) { - _, _, err = client.Actions.GetForkPRContributorApprovalPermissionsInEnterprise(ctx, "\n") + _, _, err = client.Actions.GetEnterpriseForkPRContributorApprovalPermissions(ctx, "\n") return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - got, resp, err := client.Actions.GetForkPRContributorApprovalPermissionsInEnterprise(ctx, "e") + got, resp, err := client.Actions.GetEnterpriseForkPRContributorApprovalPermissions(ctx, "e") if got != nil { t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) } @@ -639,7 +639,7 @@ func TestActionsService_GetForkPRContributorApprovalPermissionsInEnterprise(t *t }) } -func TestActionsService_UpdateForkPRContributorApprovalPermissionsInEnterprise(t *testing.T) { +func TestActionsService_UpdateEnterpriseForkPRContributorApprovalPermissions(t *testing.T) { t.Parallel() client, mux, _ := setup(t) @@ -657,22 +657,22 @@ func TestActionsService_UpdateForkPRContributorApprovalPermissionsInEnterprise(t }) ctx := context.Background() - resp, err := client.Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx, "e", input) + resp, err := client.Actions.UpdateEnterpriseForkPRContributorApprovalPermissions(ctx, "e", input) if err != nil { - t.Errorf("Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise returned error: %v", err) + t.Errorf("Actions.UpdateEnterpriseForkPRContributorApprovalPermissions returned error: %v", err) } if resp.StatusCode != http.StatusNoContent { - t.Errorf("Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise = %d, want %d", resp.StatusCode, http.StatusNoContent) + t.Errorf("Actions.UpdateEnterpriseForkPRContributorApprovalPermissions = %d, want %d", resp.StatusCode, http.StatusNoContent) } - const methodName = "UpdateForkPRContributorApprovalPermissionsInEnterprise" + const methodName = "UpdateEnterpriseForkPRContributorApprovalPermissions" testBadOptions(t, methodName, func() (err error) { - _, err = client.Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx, "\n", input) + _, err = client.Actions.UpdateEnterpriseForkPRContributorApprovalPermissions(ctx, "\n", input) return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - return client.Actions.UpdateForkPRContributorApprovalPermissionsInEnterprise(ctx, "e", input) + return client.Actions.UpdateEnterpriseForkPRContributorApprovalPermissions(ctx, "e", input) }) } diff --git a/github/actions_permissions_orgs.go b/github/actions_permissions_orgs.go index 0474bb46fe3..64e692d70a3 100644 --- a/github/actions_permissions_orgs.go +++ b/github/actions_permissions_orgs.go @@ -484,12 +484,12 @@ func (s *ActionsService) UpdatePrivateRepoForkPRWorkflowSettingsInOrganization(c return s.client.Do(ctx, req, nil) } -// GetForkPRContributorApprovalPermissionsInOrganization gets the fork PR contributor approval policy for an organization. +// GetOrganizationForkPRContributorApprovalPermissions gets the fork PR contributor approval policy for an organization. // // GitHub API docs: https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-an-organization // //meta:operation GET /orgs/{org}/actions/permissions/fork-pr-contributor-approval -func (s *ActionsService) GetForkPRContributorApprovalPermissionsInOrganization(ctx context.Context, org string) (*ContributorApprovalPermissions, *Response, error) { +func (s *ActionsService) GetOrganizationForkPRContributorApprovalPermissions(ctx context.Context, org string) (*ContributorApprovalPermissions, *Response, error) { u := fmt.Sprintf("orgs/%v/actions/permissions/fork-pr-contributor-approval", org) req, err := s.client.NewRequest("GET", u, nil) @@ -506,12 +506,12 @@ func (s *ActionsService) GetForkPRContributorApprovalPermissionsInOrganization(c return policy, resp, nil } -// UpdateForkPRContributorApprovalPermissionsInOrganization sets the fork PR contributor approval policy for an organization. +// UpdateOrganizationForkPRContributorApprovalPermissions sets the fork PR contributor approval policy for an organization. // // GitHub API docs: https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-an-organization // //meta:operation PUT /orgs/{org}/actions/permissions/fork-pr-contributor-approval -func (s *ActionsService) UpdateForkPRContributorApprovalPermissionsInOrganization(ctx context.Context, org string, policy ContributorApprovalPermissions) (*Response, error) { +func (s *ActionsService) UpdateOrganizationForkPRContributorApprovalPermissions(ctx context.Context, org string, policy ContributorApprovalPermissions) (*Response, error) { u := fmt.Sprintf("orgs/%v/actions/permissions/fork-pr-contributor-approval", org) req, err := s.client.NewRequest("PUT", u, policy) if err != nil { diff --git a/github/actions_permissions_orgs_test.go b/github/actions_permissions_orgs_test.go index bfd883bf0e6..d51d2846240 100644 --- a/github/actions_permissions_orgs_test.go +++ b/github/actions_permissions_orgs_test.go @@ -775,7 +775,7 @@ func TestActionsService_UpdatePrivateRepoForkPRWorkflowSettingsInOrganization(t }) } -func TestActionsService_GetForkPRContributorApprovalPermissionsInOrganization(t *testing.T) { +func TestActionsService_GetOrganizationForkPRContributorApprovalPermissions(t *testing.T) { t.Parallel() client, mux, _ := setup(t) @@ -785,23 +785,23 @@ func TestActionsService_GetForkPRContributorApprovalPermissionsInOrganization(t }) ctx := context.Background() - policy, _, err := client.Actions.GetForkPRContributorApprovalPermissionsInOrganization(ctx, "o") + policy, _, err := client.Actions.GetOrganizationForkPRContributorApprovalPermissions(ctx, "o") if err != nil { - t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInOrganization returned error: %v", err) + t.Errorf("Actions.GetOrganizationForkPRContributorApprovalPermissions returned error: %v", err) } want := &ContributorApprovalPermissions{ApprovalPolicy: "require_approval"} if !cmp.Equal(policy, want) { - t.Errorf("Actions.GetForkPRContributorApprovalPermissionsInOrganization returned %+v, want %+v", policy, want) + t.Errorf("Actions.GetOrganizationForkPRContributorApprovalPermissions returned %+v, want %+v", policy, want) } - const methodName = "GetForkPRContributorApprovalPermissionsInOrganization" + const methodName = "GetOrganizationForkPRContributorApprovalPermissions" testBadOptions(t, methodName, func() (err error) { - _, _, err = client.Actions.GetForkPRContributorApprovalPermissionsInOrganization(ctx, "\n") + _, _, err = client.Actions.GetOrganizationForkPRContributorApprovalPermissions(ctx, "\n") return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - got, resp, err := client.Actions.GetForkPRContributorApprovalPermissionsInOrganization(ctx, "o") + got, resp, err := client.Actions.GetOrganizationForkPRContributorApprovalPermissions(ctx, "o") if got != nil { t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) } @@ -809,7 +809,7 @@ func TestActionsService_GetForkPRContributorApprovalPermissionsInOrganization(t }) } -func TestActionsService_UpdateForkPRContributorApprovalPermissionsInOrganization(t *testing.T) { +func TestActionsService_UpdateOrganizationForkPRContributorApprovalPermissions(t *testing.T) { t.Parallel() client, mux, _ := setup(t) @@ -827,22 +827,22 @@ func TestActionsService_UpdateForkPRContributorApprovalPermissionsInOrganization }) ctx := context.Background() - resp, err := client.Actions.UpdateForkPRContributorApprovalPermissionsInOrganization(ctx, "o", input) + resp, err := client.Actions.UpdateOrganizationForkPRContributorApprovalPermissions(ctx, "o", input) if err != nil { - t.Errorf("Actions.UpdateForkPRContributorApprovalPermissionsInOrganization returned error: %v", err) + t.Errorf("Actions.UpdateOrganizationForkPRContributorApprovalPermissions returned error: %v", err) } if resp.StatusCode != http.StatusNoContent { - t.Errorf("Actions.UpdateForkPRContributorApprovalPermissionsInOrganization = %d, want %d", resp.StatusCode, http.StatusNoContent) + t.Errorf("Actions.UpdateOrganizationForkPRContributorApprovalPermissions = %d, want %d", resp.StatusCode, http.StatusNoContent) } - const methodName = "UpdateForkPRContributorApprovalPermissionsInOrganization" + const methodName = "UpdateOrganizationForkPRContributorApprovalPermissions" testBadOptions(t, methodName, func() (err error) { - _, err = client.Actions.UpdateForkPRContributorApprovalPermissionsInOrganization(ctx, "\n", input) + _, err = client.Actions.UpdateOrganizationForkPRContributorApprovalPermissions(ctx, "\n", input) return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - return client.Actions.UpdateForkPRContributorApprovalPermissionsInOrganization(ctx, "o", input) + return client.Actions.UpdateOrganizationForkPRContributorApprovalPermissions(ctx, "o", input) }) } diff --git a/github/repos_actions_permissions.go b/github/repos_actions_permissions.go index 22adb1627aa..751fd79a894 100644 --- a/github/repos_actions_permissions.go +++ b/github/repos_actions_permissions.go @@ -196,7 +196,7 @@ func (s *RepositoriesService) UpdatePrivateRepoForkPRWorkflowSettings(ctx contex // GitHub API docs: https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-a-repository // //meta:operation GET /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval -func (s *RepositoriesService) GetForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string) (*ContributorApprovalPermissions, *Response, error) { +func (s *ActionsService) GetForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string) (*ContributorApprovalPermissions, *Response, error) { u := fmt.Sprintf("repos/%v/%v/actions/permissions/fork-pr-contributor-approval", owner, repo) req, err := s.client.NewRequest("GET", u, nil) @@ -218,7 +218,7 @@ func (s *RepositoriesService) GetForkPRContributorApprovalPermissions(ctx contex // GitHub API docs: https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-a-repository // //meta:operation PUT /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval -func (s *RepositoriesService) UpdateForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string, policy ContributorApprovalPermissions) (*Response, error) { +func (s *ActionsService) UpdateForkPRContributorApprovalPermissions(ctx context.Context, owner, repo string, policy ContributorApprovalPermissions) (*Response, error) { u := fmt.Sprintf("repos/%v/%v/actions/permissions/fork-pr-contributor-approval", owner, repo) req, err := s.client.NewRequest("PUT", u, policy) if err != nil { diff --git a/github/repos_actions_permissions_test.go b/github/repos_actions_permissions_test.go index 122d9acf9ce..b342909b439 100644 --- a/github/repos_actions_permissions_test.go +++ b/github/repos_actions_permissions_test.go @@ -347,7 +347,7 @@ func TestRepositoriesService_UpdatePrivateRepoForkPRWorkflowSettings(t *testing. }) } -func TestRepositoriesService_GetForkPRContributorApprovalPermissions(t *testing.T) { +func TestActionsService_GetForkPRContributorApprovalPermissions(t *testing.T) { t.Parallel() client, mux, _ := setup(t) @@ -357,23 +357,23 @@ func TestRepositoriesService_GetForkPRContributorApprovalPermissions(t *testing. }) ctx := context.Background() - policy, _, err := client.Repositories.GetForkPRContributorApprovalPermissions(ctx, "o", "r") + policy, _, err := client.Actions.GetForkPRContributorApprovalPermissions(ctx, "o", "r") if err != nil { - t.Errorf("Repositories.GetForkPRContributorApprovalPermissions returned error: %v", err) + t.Errorf("Actions.GetForkPRContributorApprovalPermissions returned error: %v", err) } want := &ContributorApprovalPermissions{ApprovalPolicy: "require_approval"} if !cmp.Equal(policy, want) { - t.Errorf("Repositories.GetForkPRContributorApprovalPermissions returned %+v, want %+v", policy, want) + t.Errorf("Actions.GetForkPRContributorApprovalPermissions returned %+v, want %+v", policy, want) } const methodName = "GetForkPRContributorApprovalPermissions" testBadOptions(t, methodName, func() (err error) { - _, _, err = client.Repositories.GetForkPRContributorApprovalPermissions(ctx, "\n", "\n") + _, _, err = client.Actions.GetForkPRContributorApprovalPermissions(ctx, "\n", "\n") return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - got, resp, err := client.Repositories.GetForkPRContributorApprovalPermissions(ctx, "o", "r") + got, resp, err := client.Actions.GetForkPRContributorApprovalPermissions(ctx, "o", "r") if got != nil { t.Errorf("testNewRequestAndDoFailure %v = %#v, want nil", methodName, got) } @@ -381,7 +381,7 @@ func TestRepositoriesService_GetForkPRContributorApprovalPermissions(t *testing. }) } -func TestRepositoriesService_UpdateForkPRContributorApprovalPermissions(t *testing.T) { +func TestActionsService_UpdateForkPRContributorApprovalPermissions(t *testing.T) { t.Parallel() client, mux, _ := setup(t) @@ -399,22 +399,22 @@ func TestRepositoriesService_UpdateForkPRContributorApprovalPermissions(t *testi }) ctx := context.Background() - resp, err := client.Repositories.UpdateForkPRContributorApprovalPermissions(ctx, "o", "r", input) + resp, err := client.Actions.UpdateForkPRContributorApprovalPermissions(ctx, "o", "r", input) if err != nil { - t.Errorf("Repositories.UpdateForkPRContributorApprovalPermissions returned error: %v", err) + t.Errorf("Actions.UpdateForkPRContributorApprovalPermissions returned error: %v", err) } if resp.StatusCode != http.StatusNoContent { - t.Errorf("Repositories.UpdateForkPRContributorApprovalPermissions = %d, want %d", resp.StatusCode, http.StatusNoContent) + t.Errorf("Actions.UpdateForkPRContributorApprovalPermissions = %d, want %d", resp.StatusCode, http.StatusNoContent) } const methodName = "UpdateForkPRContributorApprovalPermissions" testBadOptions(t, methodName, func() (err error) { - _, err = client.Repositories.UpdateForkPRContributorApprovalPermissions(ctx, "\n", "\n", input) + _, err = client.Actions.UpdateForkPRContributorApprovalPermissions(ctx, "\n", "\n", input) return err }) testNewRequestAndDoFailure(t, methodName, client, func() (*Response, error) { - return client.Repositories.UpdateForkPRContributorApprovalPermissions(ctx, "o", "r", input) + return client.Actions.UpdateForkPRContributorApprovalPermissions(ctx, "o", "r", input) }) } From 1835972c6b19892f00e24cb0b410512204ea0281 Mon Sep 17 00:00:00 2001 From: zyfy29 Date: Tue, 7 Oct 2025 20:33:47 +0900 Subject: [PATCH 5/5] fix lint and test errors --- github/actions_permissions_enterprise_test.go | 6 +++--- github/actions_permissions_orgs_test.go | 6 +++--- github/repos_actions_permissions_test.go | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/github/actions_permissions_enterprise_test.go b/github/actions_permissions_enterprise_test.go index 0c1683d7b80..1b314817412 100644 --- a/github/actions_permissions_enterprise_test.go +++ b/github/actions_permissions_enterprise_test.go @@ -613,7 +613,7 @@ func TestActionsService_GetEnterpriseForkPRContributorApprovalPermissions(t *tes fmt.Fprint(w, `{"approval_policy": "require_approval"}`) }) - ctx := context.Background() + ctx := t.Context() policy, _, err := client.Actions.GetEnterpriseForkPRContributorApprovalPermissions(ctx, "e") if err != nil { t.Errorf("Actions.GetEnterpriseForkPRContributorApprovalPermissions returned error: %v", err) @@ -655,14 +655,14 @@ func TestActionsService_UpdateEnterpriseForkPRContributorApprovalPermissions(t * w.WriteHeader(http.StatusNoContent) }) - ctx := context.Background() + ctx := t.Context() resp, err := client.Actions.UpdateEnterpriseForkPRContributorApprovalPermissions(ctx, "e", input) if err != nil { t.Errorf("Actions.UpdateEnterpriseForkPRContributorApprovalPermissions returned error: %v", err) } if resp.StatusCode != http.StatusNoContent { - t.Errorf("Actions.UpdateEnterpriseForkPRContributorApprovalPermissions = %d, want %d", resp.StatusCode, http.StatusNoContent) + t.Errorf("Actions.UpdateEnterpriseForkPRContributorApprovalPermissions = %v, want %v", resp.StatusCode, http.StatusNoContent) } const methodName = "UpdateEnterpriseForkPRContributorApprovalPermissions" diff --git a/github/actions_permissions_orgs_test.go b/github/actions_permissions_orgs_test.go index 10d2c3520a7..9d213423b9a 100644 --- a/github/actions_permissions_orgs_test.go +++ b/github/actions_permissions_orgs_test.go @@ -783,7 +783,7 @@ func TestActionsService_GetOrganizationForkPRContributorApprovalPermissions(t *t fmt.Fprint(w, `{"approval_policy": "require_approval"}`) }) - ctx := context.Background() + ctx := t.Context() policy, _, err := client.Actions.GetOrganizationForkPRContributorApprovalPermissions(ctx, "o") if err != nil { t.Errorf("Actions.GetOrganizationForkPRContributorApprovalPermissions returned error: %v", err) @@ -825,14 +825,14 @@ func TestActionsService_UpdateOrganizationForkPRContributorApprovalPermissions(t w.WriteHeader(http.StatusNoContent) }) - ctx := context.Background() + ctx := t.Context() resp, err := client.Actions.UpdateOrganizationForkPRContributorApprovalPermissions(ctx, "o", input) if err != nil { t.Errorf("Actions.UpdateOrganizationForkPRContributorApprovalPermissions returned error: %v", err) } if resp.StatusCode != http.StatusNoContent { - t.Errorf("Actions.UpdateOrganizationForkPRContributorApprovalPermissions = %d, want %d", resp.StatusCode, http.StatusNoContent) + t.Errorf("Actions.UpdateOrganizationForkPRContributorApprovalPermissions = %v, want %v", resp.StatusCode, http.StatusNoContent) } const methodName = "UpdateOrganizationForkPRContributorApprovalPermissions" diff --git a/github/repos_actions_permissions_test.go b/github/repos_actions_permissions_test.go index d0e487483ea..8d07eb7a676 100644 --- a/github/repos_actions_permissions_test.go +++ b/github/repos_actions_permissions_test.go @@ -355,7 +355,7 @@ func TestActionsService_GetForkPRContributorApprovalPermissions(t *testing.T) { fmt.Fprint(w, `{"approval_policy": "require_approval"}`) }) - ctx := context.Background() + ctx := t.Context() policy, _, err := client.Actions.GetForkPRContributorApprovalPermissions(ctx, "o", "r") if err != nil { t.Errorf("Actions.GetForkPRContributorApprovalPermissions returned error: %v", err) @@ -397,14 +397,14 @@ func TestActionsService_UpdateForkPRContributorApprovalPermissions(t *testing.T) w.WriteHeader(http.StatusNoContent) }) - ctx := context.Background() + ctx := t.Context() resp, err := client.Actions.UpdateForkPRContributorApprovalPermissions(ctx, "o", "r", input) if err != nil { t.Errorf("Actions.UpdateForkPRContributorApprovalPermissions returned error: %v", err) } if resp.StatusCode != http.StatusNoContent { - t.Errorf("Actions.UpdateForkPRContributorApprovalPermissions = %d, want %d", resp.StatusCode, http.StatusNoContent) + t.Errorf("Actions.UpdateForkPRContributorApprovalPermissions = %v, want %v", resp.StatusCode, http.StatusNoContent) } const methodName = "UpdateForkPRContributorApprovalPermissions"