le.github-repository-tools.0.3.1.source-code.repository-schema.json Maven / Gradle / Ivy
{
"title": "repository",
"type": "object",
"properties": {
"name": {
"description": "repository name",
"type": "string"
},
"organization": {
"description": "github organization or username",
"type": "string"
},
"description": {
"description": "short description of the repository",
"type": "string"
},
"homepage": {
"description": "project homepage",
"type": "string"
},
"ignoreTemplate": {
"description": "git ignore template (https://github.com/github/gitignore) to use",
"type": "string"
},
"licenseTemplate": {
"description": "license keyword (https://help.github.com/articles/licensing-a-repository/#searching-github-by-license-type)",
"type": "string"
},
"settings": {
"type": "object",
"properties": {
"initialize": {
"description": "initialze the repositry when created (default: false)",
"type": "boolean"
},
"hidden": {
"description": "make the repository private (default: false)",
"type": "boolean"
},
"issues": {
"description": "enable the issue tracker (default: true)",
"type": "boolean"
},
"wiki": {
"description": "make the repository private (default: true)",
"type": "boolean"
},
"mergeCommits": {
"description": "allow merge commits for pull requests (default: true)",
"type": "boolean"
},
"rebaseMerge": {
"description": "allow rebase merging for pull requests (default: true)",
"type": "boolean"
},
"squashMerge": {
"description": "allow squash merging for pull requests (default: true)",
"type": "boolean"
},
"labels": {
"descriptions": "labels (name:color key/value pairs)",
"type": [
"object",
"null"
]
},
"teams": {
"descriptions": "team (slug:perm key/value pairs) access",
"type": [
"object",
"null"
]
},
"collaborators": {
"descriptions": "user (username:perm key/value pairs) access",
"type": [
"object",
"null"
]
},
"branches": {
"description": "branches and associated protections",
"type": "object",
"properties": {
"primary": {
"description": "primary branch name (default: master)",
"type": "string"
},
"other": {
"description": "other repository branches to protect. all protected branches must be listed here to be applied",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"protections": {
"description": "branch protections, with branch name as json key. the branch must be listed in the 'other' array to be applied",
"type": "object",
"patternProperties": {
".*": {
"$ref": "#/definitions/protection"
}
}
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"plugins": {
"description": "plugin configuration, with plugin name as json key",
"type": "object"
},
"workflow": {
"description": "workflow steps, if not specified 'github' is added as first step",
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"uniqueItems": true
}
},
"additionalProperties": false,
"definitions": {
"protection": {
"type": [
"object",
"null"
],
"properties": {
"requireSignedCommits": {
"description": "require gpg signed commits (default: false)",
"type": "boolean"
},
"includeAdministrators": {
"description": "enforce all restrictions for admins (default: false)",
"type": "boolean"
},
"requireReviews": {
"type": "object",
"properties": {
"requiredReviewers": {
"description": "number of required reviewers (default: 1)",
"type": "integer",
"minimum": 1
},
"dismissStaleApprovals": {
"description": "dismiss stale approvals (default: false)",
"type": "boolean"
},
"requireCodeOwner": {
"description": "require review from code owner (default: false)",
"type": "boolean"
},
"restrictDismissals": {
"description": "restrict who can dismiss reviews (default: false)",
"$ref": "#/definitions/access"
}
},
"additionalProperties": false
},
"requiredStatusChecks": {
"type": "object",
"properties": {
"requireUpToDate": {
"description": "require the branch to be up-to-date before merge (default: false)",
"type": "boolean"
},
"contexts": {
"description": "required status contexts",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
"additionalProperties": false
},
"pushAccess": {
"description": "grant push access to teams/users",
"$ref": "#/definitions/access"
}
},
"additionalProperties": false
},
"access": {
"type": "object",
"properties": {
"teams": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
"additionalProperties": false
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy