diff --git a/github/github-accessors.go b/github/github-accessors.go index 6131fad9b8..bf0e7de1c3 100644 --- a/github/github-accessors.go +++ b/github/github-accessors.go @@ -9622,6 +9622,14 @@ func (o *Organization) GetMembersCanCreateRepos() bool { return *o.MembersCanCreateRepos } +// GetMembersCanForkPrivateRepos returns the MembersCanForkPrivateRepos field if it's non-nil, zero value otherwise. +func (o *Organization) GetMembersCanForkPrivateRepos() bool { + if o == nil || o.MembersCanForkPrivateRepos == nil { + return false + } + return *o.MembersCanForkPrivateRepos +} + // GetMembersURL returns the MembersURL field if it's non-nil, zero value otherwise. func (o *Organization) GetMembersURL() string { if o == nil || o.MembersURL == nil { diff --git a/github/github-accessors_test.go b/github/github-accessors_test.go index 27ad0c8133..f87e600b58 100644 --- a/github/github-accessors_test.go +++ b/github/github-accessors_test.go @@ -11281,6 +11281,16 @@ func TestOrganization_GetMembersCanCreateRepos(tt *testing.T) { o.GetMembersCanCreateRepos() } +func TestOrganization_GetMembersCanForkPrivateRepos(tt *testing.T) { + var zeroValue bool + o := &Organization{MembersCanForkPrivateRepos: &zeroValue} + o.GetMembersCanForkPrivateRepos() + o = &Organization{} + o.GetMembersCanForkPrivateRepos() + o = nil + o.GetMembersCanForkPrivateRepos() +} + func TestOrganization_GetMembersURL(tt *testing.T) { var zeroValue string o := &Organization{MembersURL: &zeroValue} diff --git a/github/github-stringify_test.go b/github/github-stringify_test.go index fa7599d359..53502c3d1b 100644 --- a/github/github-stringify_test.go +++ b/github/github-stringify_test.go @@ -992,6 +992,7 @@ func TestOrganization_String(t *testing.T) { MembersCanCreatePublicRepos: Bool(false), MembersCanCreatePrivateRepos: Bool(false), MembersCanCreateInternalRepos: Bool(false), + MembersCanForkPrivateRepos: Bool(false), MembersAllowedRepositoryCreationType: String(""), MembersCanCreatePages: Bool(false), MembersCanCreatePublicPages: Bool(false), @@ -1004,7 +1005,7 @@ func TestOrganization_String(t *testing.T) { PublicMembersURL: String(""), ReposURL: String(""), } - want := `github.Organization{Login:"", ID:0, NodeID:"", AvatarURL:"", HTMLURL:"", Name:"", Company:"", Blog:"", Location:"", Email:"", TwitterUsername:"", Description:"", PublicRepos:0, PublicGists:0, Followers:0, Following:0, TotalPrivateRepos:0, OwnedPrivateRepos:0, PrivateGists:0, DiskUsage:0, Collaborators:0, BillingEmail:"", Type:"", Plan:github.Plan{}, TwoFactorRequirementEnabled:false, IsVerified:false, HasOrganizationProjects:false, HasRepositoryProjects:false, DefaultRepoPermission:"", DefaultRepoSettings:"", MembersCanCreateRepos:false, MembersCanCreatePublicRepos:false, MembersCanCreatePrivateRepos:false, MembersCanCreateInternalRepos:false, MembersAllowedRepositoryCreationType:"", MembersCanCreatePages:false, MembersCanCreatePublicPages:false, MembersCanCreatePrivatePages:false, URL:"", EventsURL:"", HooksURL:"", IssuesURL:"", MembersURL:"", PublicMembersURL:"", ReposURL:""}` + want := `github.Organization{Login:"", ID:0, NodeID:"", AvatarURL:"", HTMLURL:"", Name:"", Company:"", Blog:"", Location:"", Email:"", TwitterUsername:"", Description:"", PublicRepos:0, PublicGists:0, Followers:0, Following:0, TotalPrivateRepos:0, OwnedPrivateRepos:0, PrivateGists:0, DiskUsage:0, Collaborators:0, BillingEmail:"", Type:"", Plan:github.Plan{}, TwoFactorRequirementEnabled:false, IsVerified:false, HasOrganizationProjects:false, HasRepositoryProjects:false, DefaultRepoPermission:"", DefaultRepoSettings:"", MembersCanCreateRepos:false, MembersCanCreatePublicRepos:false, MembersCanCreatePrivateRepos:false, MembersCanCreateInternalRepos:false, MembersCanForkPrivateRepos:false, MembersAllowedRepositoryCreationType:"", MembersCanCreatePages:false, MembersCanCreatePublicPages:false, MembersCanCreatePrivatePages:false, URL:"", EventsURL:"", HooksURL:"", IssuesURL:"", MembersURL:"", PublicMembersURL:"", ReposURL:""}` if got := v.String(); got != want { t.Errorf("Organization.String = %v, want %v", got, want) } diff --git a/github/orgs.go b/github/orgs.go index 80979db350..26b55c62d0 100644 --- a/github/orgs.go +++ b/github/orgs.go @@ -65,6 +65,9 @@ type Organization struct { MembersCanCreatePrivateRepos *bool `json:"members_can_create_private_repositories,omitempty"` MembersCanCreateInternalRepos *bool `json:"members_can_create_internal_repositories,omitempty"` + // MembersCanForkPrivateRepos toggles whether organization members can fork private organization repositories. + MembersCanForkPrivateRepos *bool `json:"members_can_fork_private_repositories,omitempty"` + // MembersAllowedRepositoryCreationType denotes if organization members can create repositories // and the type of repositories they can create. Possible values are: "all", "private", or "none". //