Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/data-sources/organization.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ data "github_organization" "example" {
- `members_can_create_public_pages` - Whether organization members can create public pages sites.
- `members_can_create_private_pages` - Whether organization members can create private pages sites.
- `members_can_fork_private_repositories` - Whether organization members can create private repository forks.
- `deploy_keys_enabled_for_repositories` - Whether deploy keys may be added and used for repositories in the organization.
- `web_commit_signoff_required` - Whether organization members must sign all commits.
- `advanced_security_enabled_for_new_repositories` - Whether advanced security is enabled for new repositories.
- `dependabot_alerts_enabled_for_new_repositories` - Whether Dependabot alerts is automatically enabled for new repositories.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/organization_settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ resource "github_organization_settings" "test" {
members_can_create_public_pages = true
members_can_create_private_pages = true
members_can_fork_private_repositories = true
deploy_keys_enabled_for_repositories = true
web_commit_signoff_required = true
advanced_security_enabled_for_new_repositories = false
dependabot_alerts_enabled_for_new_repositories = false
Expand Down Expand Up @@ -64,6 +65,7 @@ The following arguments are supported:
- `members_can_create_public_pages` - (Optional) Whether or not organization members can create new public pages. Defaults to `true`.
- `members_can_create_private_pages` - (Optional) Whether or not organization members can create new private pages. Defaults to `true`.
- `members_can_fork_private_repositories` - (Optional) Whether or not organization members can fork private repositories. Defaults to `false`.
- `deploy_keys_enabled_for_repositories` - (Optional) Whether deploy keys may be added and used for repositories in the organization. If unset, the current setting on the organization is preserved.
- `web_commit_signoff_required` - (Optional) Whether or not commit signatures are required for commits to the organization. Defaults to `false`.
- `advanced_security_enabled_for_new_repositories` - (Optional) Whether or not advanced security is enabled for new repositories. Defaults to `false`.
- `dependabot_alerts_enabled_for_new_repositories` - (Optional) Whether or not dependabot alerts are enabled for new repositories. Defaults to `false`.
Expand Down
1 change: 1 addition & 0 deletions examples/resources/organization_settings/example_1.tf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ resource "github_organization_settings" "test" {
members_can_create_public_pages = true
members_can_create_private_pages = true
members_can_fork_private_repositories = true
deploy_keys_enabled_for_repositories = true
web_commit_signoff_required = true
advanced_security_enabled_for_new_repositories = false
dependabot_alerts_enabled_for_new_repositories = false
Expand Down
5 changes: 5 additions & 0 deletions github/data_source_github_organization.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,10 @@ func dataSourceGithubOrganization() *schema.Resource {
Type: schema.TypeBool,
Computed: true,
},
"deploy_keys_enabled_for_repositories": {
Type: schema.TypeBool,
Computed: true,
},
"web_commit_signoff_required": {
Type: schema.TypeBool,
Computed: true,
Expand Down Expand Up @@ -255,6 +259,7 @@ func dataSourceGithubOrganizationRead(ctx context.Context, d *schema.ResourceDat
_ = d.Set("members_can_create_private_repositories", organization.GetMembersCanCreatePrivateRepos())
_ = d.Set("members_can_create_internal_repositories", organization.GetMembersCanCreateInternalRepos())
_ = d.Set("members_can_fork_private_repositories", organization.GetMembersCanForkPrivateRepos())
_ = d.Set("deploy_keys_enabled_for_repositories", organization.GetDeployKeysEnabledForRepositories())
_ = d.Set("web_commit_signoff_required", organization.GetWebCommitSignoffRequired())
_ = d.Set("members_can_create_pages", organization.GetMembersCanCreatePages())
_ = d.Set("members_can_create_public_pages", organization.GetMembersCanCreatePublicPages())
Expand Down
2 changes: 2 additions & 0 deletions github/data_source_github_organization_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ func TestAccGithubOrganizationDataSource(t *testing.T) {
resource.TestCheckResourceAttrSet("data.github_organization.test", "members_can_create_private_repositories"),
resource.TestCheckResourceAttrSet("data.github_organization.test", "members_can_create_internal_repositories"),
resource.TestCheckResourceAttrSet("data.github_organization.test", "members_can_fork_private_repositories"),
resource.TestCheckResourceAttrSet("data.github_organization.test", "deploy_keys_enabled_for_repositories"),
resource.TestCheckResourceAttrSet("data.github_organization.test", "web_commit_signoff_required"),
resource.TestCheckResourceAttrSet("data.github_organization.test", "members_can_create_pages"),
resource.TestCheckResourceAttrSet("data.github_organization.test", "members_can_create_public_pages"),
Expand Down Expand Up @@ -129,6 +130,7 @@ func TestAccGithubOrganizationDataSource(t *testing.T) {
resource.TestCheckNoResourceAttr("data.github_organization.test", "members_can_create_private_repositories"),
resource.TestCheckNoResourceAttr("data.github_organization.test", "members_can_create_internal_repositories"),
resource.TestCheckNoResourceAttr("data.github_organization.test", "members_can_fork_private_repositories"),
resource.TestCheckNoResourceAttr("data.github_organization.test", "deploy_keys_enabled_for_repositories"),
resource.TestCheckNoResourceAttr("data.github_organization.test", "web_commit_signoff_required"),
resource.TestCheckNoResourceAttr("data.github_organization.test", "members_can_create_pages"),
resource.TestCheckNoResourceAttr("data.github_organization.test", "members_can_create_public_pages"),
Expand Down
15 changes: 15 additions & 0 deletions github/resource_github_organization_settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,12 @@ func resourceGithubOrganizationSettings() *schema.Resource {
Default: false,
Description: "Whether or not organization members can fork private repositories.",
},
"deploy_keys_enabled_for_repositories": {
Type: schema.TypeBool,
Optional: true,
Computed: true,
Description: "Whether deploy keys may be added and used for repositories in the organization.",
},
"web_commit_signoff_required": {
Type: schema.TypeBool,
Optional: true,
Expand Down Expand Up @@ -269,6 +275,9 @@ func buildOrganizationSettings(d *schema.ResourceData, isEnterprise bool) *githu
if shouldInclude("members_can_fork_private_repositories") {
settings.MembersCanForkPrivateRepos = new(d.Get("members_can_fork_private_repositories").(bool))
}
if shouldInclude("deploy_keys_enabled_for_repositories") {
settings.DeployKeysEnabledForRepositories = new(d.Get("deploy_keys_enabled_for_repositories").(bool))
}
if shouldInclude("web_commit_signoff_required") {
settings.WebCommitSignoffRequired = new(d.Get("web_commit_signoff_required").(bool))
}
Expand Down Expand Up @@ -378,6 +387,9 @@ func resourceGithubOrganizationSettingsCreateOrUpdate(d *schema.ResourceData, me
if settings.MembersCanForkPrivateRepos != nil {
log.Printf("[DEBUG] MembersCanForkPrivateRepos: %v", *settings.MembersCanForkPrivateRepos)
}
if settings.DeployKeysEnabledForRepositories != nil {
log.Printf("[DEBUG] DeployKeysEnabledForRepositories: %v", *settings.DeployKeysEnabledForRepositories)
}
if settings.WebCommitSignoffRequired != nil {
log.Printf("[DEBUG] WebCommitSignoffRequired: %v", *settings.WebCommitSignoffRequired)
}
Expand Down Expand Up @@ -489,6 +501,9 @@ func resourceGithubOrganizationSettingsRead(d *schema.ResourceData, meta any) er
if err = d.Set("members_can_fork_private_repositories", orgSettings.GetMembersCanForkPrivateRepos()); err != nil {
return err
}
if err = d.Set("deploy_keys_enabled_for_repositories", orgSettings.GetDeployKeysEnabledForRepositories()); err != nil {
return err
}
if err = d.Set("web_commit_signoff_required", orgSettings.GetWebCommitSignoffRequired()); err != nil {
return err
}
Expand Down
11 changes: 11 additions & 0 deletions github/resource_github_organization_settings_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ func TestAccGithubOrganizationSettings(t *testing.T) {
members_can_create_public_pages = true
members_can_create_private_pages = true
members_can_fork_private_repositories = true
deploy_keys_enabled_for_repositories = true
web_commit_signoff_required = true
advanced_security_enabled_for_new_repositories = false
dependabot_alerts_enabled_for_new_repositories= false
Expand Down Expand Up @@ -152,6 +153,7 @@ func TestAccGithubOrganizationSettings(t *testing.T) {
members_can_create_private_repositories = false
members_can_create_internal_repositories = false
members_can_fork_private_repositories = false
deploy_keys_enabled_for_repositories = false
web_commit_signoff_required = false
advanced_security_enabled_for_new_repositories = false
dependabot_alerts_enabled_for_new_repositories = false
Expand All @@ -178,6 +180,10 @@ func TestAccGithubOrganizationSettings(t *testing.T) {
"github_organization_settings.test",
"members_can_fork_private_repositories", "false",
),
resource.TestCheckResourceAttr(
"github_organization_settings.test",
"deploy_keys_enabled_for_repositories", "false",
),
resource.TestCheckResourceAttr(
"github_organization_settings.test",
"web_commit_signoff_required", "false",
Expand Down Expand Up @@ -227,6 +233,7 @@ func TestAccGithubOrganizationSettings(t *testing.T) {
members_can_create_private_repositories = false
members_can_create_internal_repositories = true
members_can_fork_private_repositories = false
deploy_keys_enabled_for_repositories = true
web_commit_signoff_required = true
advanced_security_enabled_for_new_repositories = false
dependabot_alerts_enabled_for_new_repositories = true
Expand All @@ -253,6 +260,10 @@ func TestAccGithubOrganizationSettings(t *testing.T) {
"github_organization_settings.test",
"members_can_fork_private_repositories", "false",
),
resource.TestCheckResourceAttr(
"github_organization_settings.test",
"deploy_keys_enabled_for_repositories", "true",
),
resource.TestCheckResourceAttr(
"github_organization_settings.test",
"web_commit_signoff_required", "true",
Expand Down
1 change: 1 addition & 0 deletions templates/data-sources/organization.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ Use this data source to retrieve basic information about a GitHub Organization.
- `members_can_create_public_pages` - Whether organization members can create public pages sites.
- `members_can_create_private_pages` - Whether organization members can create private pages sites.
- `members_can_fork_private_repositories` - Whether organization members can create private repository forks.
- `deploy_keys_enabled_for_repositories` - Whether deploy keys may be added and used for repositories in the organization.
- `web_commit_signoff_required` - Whether organization members must sign all commits.
- `advanced_security_enabled_for_new_repositories` - Whether advanced security is enabled for new repositories.
- `dependabot_alerts_enabled_for_new_repositories` - Whether Dependabot alerts is automatically enabled for new repositories.
Expand Down
1 change: 1 addition & 0 deletions templates/resources/organization_settings.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ The following arguments are supported:
- `members_can_create_public_pages` - (Optional) Whether or not organization members can create new public pages. Defaults to `true`.
- `members_can_create_private_pages` - (Optional) Whether or not organization members can create new private pages. Defaults to `true`.
- `members_can_fork_private_repositories` - (Optional) Whether or not organization members can fork private repositories. Defaults to `false`.
- `deploy_keys_enabled_for_repositories` - (Optional) Whether deploy keys may be added and used for repositories in the organization. If unset, the current setting on the organization is preserved.
- `web_commit_signoff_required` - (Optional) Whether or not commit signatures are required for commits to the organization. Defaults to `false`.
- `advanced_security_enabled_for_new_repositories` - (Optional) Whether or not advanced security is enabled for new repositories. Defaults to `false`.
- `dependabot_alerts_enabled_for_new_repositories` - (Optional) Whether or not dependabot alerts are enabled for new repositories. Defaults to `false`.
Expand Down