Playground
You can use the playground below to create and evaluate resource snippets to include in your jsonnet configuration:
➡
output.json
Resource functions and default values
The following snippets illustrate the functions to create the supported resources with default values as defined in the default configuration used at the Eclipse Foundation.
orgs.newOrg('<github-id>') = {
settings : {
billing_email : "webmaster@eclipse-foundation.org",
blog : null,
company : null,
default_branch_name : "main",
default_code_security_configurations_disabled : true,
default_repository_permission : "none",
description : null,
discussion_source_repository : null,
email : null,
has_discussions : false,
has_organization_projects : true,
location : null,
members_can_change_project_visibility : true,
members_can_change_repo_visibility : false,
members_can_create_private_repositories : false,
members_can_create_public_pages : true,
members_can_create_public_repositories : false,
members_can_create_teams : false,
members_can_delete_issues : false,
members_can_delete_repositories : false,
members_can_fork_private_repositories : false,
name : null,
packages_containers_internal : true,
packages_containers_public : true,
plan : "enterprise",
readers_can_create_discussions : true,
security_managers : [
"eclipsefdn-security",
],
twitter_username : null,
two_factor_requirement : true,
web_commit_signoff_required : true,
workflows : {
actions_can_approve_pull_request_reviews : true,
allow_action_patterns : [],
allow_github_owned_actions : true,
allow_verified_creator_actions : true,
allowed_actions : "all",
default_workflow_permissions : "read",
enabled_repositories : "all",
selected_repositories : [],
},
},
},
orgs.newOrgWebhook('<url>') = {
active : true,
content_type : "form",
events : [],
insecure_ssl : "0",
secret : null,
url : "<url>",
},
orgs.newOrgSecret('<name>') = {
name : "<name>",
selected_repositories : [],
value : null,
visibility : "public",
},
orgs.newOrgVariable('<name>') = {
name : "<name>",
selected_repositories : [],
value : null,
visibility : "public",
},
orgs.newRepo('<repo-name>') = {
allow_auto_merge : false,
allow_forking : true,
allow_merge_commit : false,
allow_rebase_merge : true,
allow_squash_merge : true,
allow_update_branch : true,
archived : false,
auto_init : true,
branch_protection_rules : [],
code_scanning_default_languages : [],
code_scanning_default_query_suite : "default",
code_scanning_default_setup_enabled : false,
default_branch : "main",
delete_branch_on_merge : true,
dependabot_alerts_enabled : true,
dependabot_security_updates_enabled : false,
description : null,
environments : [],
fork_default_branch_only : true,
forked_repository : null,
gh_pages_build_type : "disabled",
gh_pages_source_branch : null,
gh_pages_source_path : null,
has_discussions : false,
has_issues : true,
has_projects : true,
has_wiki : true,
homepage : null,
is_template : false,
merge_commit_message : "PR_TITLE",
merge_commit_title : "MERGE_MESSAGE",
name : "<repo-name>",
private : false,
private_vulnerability_reporting_enabled : false,
rulesets : [],
secret_scanning : "enabled",
secret_scanning_push_protection : "enabled",
secrets : [],
squash_merge_commit_message : "COMMIT_MESSAGES",
squash_merge_commit_title : "COMMIT_OR_PR_TITLE",
template_repository : null,
topics : [],
variables : [],
web_commit_signoff_required : true,
webhooks : [],
workflows : {
actions_can_approve_pull_request_reviews : true,
allow_action_patterns : [],
allow_github_owned_actions : true,
allow_verified_creator_actions : true,
allowed_actions : "all",
default_workflow_permissions : "read",
enabled : true,
},
},
orgs.newBranchProtectionRule('<pattern>') = {
allows_deletions : false,
allows_force_pushes : false,
blocks_creations : false,
bypass_force_push_allowances : [],
bypass_pull_request_allowances : [],
dismisses_stale_reviews : false,
is_admin_enforced : false,
lock_allows_fetch_and_merge : false,
lock_branch : false,
pattern : "<pattern>",
push_restrictions : [],
require_last_push_approval : false,
required_approving_review_count : "2",
required_deployment_environments : [],
required_status_checks : [
"eclipse-eca-validation:eclipsefdn/eca",
],
requires_code_owner_reviews : false,
requires_commit_signatures : false,
requires_conversation_resolution : false,
requires_deployments : false,
requires_linear_history : false,
requires_pull_request : true,
requires_status_checks : true,
requires_strict_status_checks : false,
restricts_pushes : false,
restricts_review_dismissals : false,
review_dismissal_allowances : [],
},
orgs.newRepoRuleset('<name>') = {
allows_creations : false,
allows_deletions : false,
allows_force_pushes : false,
allows_updates : false,
bypass_actors : [],
dismisses_stale_reviews : true,
enforcement : "active",
exclude_refs : [],
include_refs : [],
name : "<name>",
required_approving_review_count : "2",
required_deployment_environments : [],
required_status_checks : [
"eclipse-eca-validation:eclipsefdn/eca",
],
requires_code_owner_review : false,
requires_commit_signatures : true,
requires_deployments : false,
requires_last_push_approval : true,
requires_linear_history : false,
requires_pull_request : true,
requires_review_thread_resolution : true,
requires_status_checks : true,
requires_strict_status_checks : false,
},
orgs.newRepoWebhook('<url>') = {
active : true,
content_type : "form",
events : [],
insecure_ssl : "0",
secret : null,
url : "<url>",
},
orgs.newRepoSecret('<name>') = {
name : "<name>",
value : null,
},
orgs.newRepoVariable('<name>') = {
name : "<name>",
value : null,
},
orgs.newEnvironment('<name>') = {
branch_policies : [],
deployment_branch_policy : "all",
name : "<name>",
reviewers : [],
wait_timer : "0",
},