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
4 changes: 4 additions & 0 deletions examples/template/otterdog-defaults.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,10 @@ local newOrg(name, id=name) = {
# Repository forking
members_can_fork_private_repositories: false,

# Controls whether members with admin permissions on repositories can add deploy keys.
# Disabling this prevents new deploy keys from being added across all repositories in the organization.
deploy_keys_enabled_for_repositories: true,

# Repository defaults: Commit signoff
web_commit_signoff_required: true,

Expand Down
1 change: 1 addition & 0 deletions otterdog/models/organization_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ class OrganizationSettings(ModelObject):
members_can_create_private_repositories: bool
members_can_create_public_repositories: bool
members_can_fork_private_repositories: bool
deploy_keys_enabled_for_repositories: bool
members_can_create_public_pages: bool
members_can_create_private_pages: bool
members_can_change_repo_visibility: bool
Expand Down
4 changes: 4 additions & 0 deletions otterdog/resources/schemas/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@
"provider": "restapi",
"type": "boolean"
},
"deploy_keys_enabled_for_repositories": {
"provider": "restapi",
"type": "boolean"
},
"web_commit_signoff_required": {
"provider": "restapi",
"type": "boolean"
Expand Down
1 change: 1 addition & 0 deletions tests/models/resources/github-org-settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"members_can_delete_issues": false,
"members_can_delete_repositories": true,
"members_can_fork_private_repositories": true,
"deploy_keys_enabled_for_repositories": true,
"name": null,
"members_can_change_project_visibility": false,
"organization_projects_enabled": true,
Expand Down
1 change: 1 addition & 0 deletions tests/models/resources/otterdog-org-settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"members_can_delete_issues": false,
"members_can_delete_repositories": true,
"members_can_fork_private_repositories": true,
"deploy_keys_enabled_for_repositories": true,
"name": null,
"members_can_change_project_visibility": false,
"organization_projects_enabled": true,
Expand Down
1 change: 1 addition & 0 deletions tests/models/resources/otterdogtest.json
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@
"members_can_delete_issues": false,
"members_can_delete_repositories": true,
"members_can_fork_private_repositories": true,
"deploy_keys_enabled_for_repositories": true,
"name": null,
"organization_members_can_change_project_visibility": false,
"organization_organization_projects_enabled": true,
Expand Down
4 changes: 3 additions & 1 deletion tests/models/test_org_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ def test_load_from_model(self):
assert settings.members_can_create_private_repositories is False
assert settings.members_can_create_public_repositories is True
assert settings.members_can_fork_private_repositories is True
assert settings.deploy_keys_enabled_for_repositories is True
assert settings.members_can_create_public_pages is True
assert settings.members_can_create_private_pages is False
assert settings.members_can_change_repo_visibility is False
Expand Down Expand Up @@ -83,6 +84,7 @@ def test_load_from_provider(self):
assert settings.members_can_create_private_repositories is False
assert settings.members_can_create_public_repositories is True
assert settings.members_can_fork_private_repositories is True
assert settings.deploy_keys_enabled_for_repositories is True
assert settings.members_can_create_public_pages is True
assert settings.members_can_create_private_pages is False
assert settings.members_can_change_repo_visibility is False
Expand All @@ -101,7 +103,7 @@ async def test_to_provider(self):

provider_data = await settings.to_provider_data(self.org_id, self.provider)

assert len(provider_data) == 24
assert len(provider_data) == 25
assert provider_data["billing_email"] == settings.billing_email

async def test_changes_to_provider(self):
Expand Down