2.3.3.5.5. Issues¶
Relative Filepath[1]:
dev/issue.yaml
Pre-configured: True
[1]: Filepath is relative to the root of the control center directory.
$schema: https://json-schema.org/draft/2020-12/schema
title: Issue Configurations
description: Configurations for GitHub Issues
type: object
default: { }
additionalProperties: false
properties:
blank_enabled:
description: Whether to allow submission of free-form issues
type: boolean
default: false
contact_links:
description: External links to be shown on the issue template chooser
type: array
default: [ ]
uniqueItems: true
items:
type: object
additionalProperties: false
properties:
name:
description: Title shown on the issue template chooser
type: string
about:
description: Description shown on the issue template chooser
type: string
url:
description: URL to the external link
type: string
format: uri
required: [ name, about, url ]
forms:
description: Declarations of issue forms and their configurations
type: array
default: [ ]
uniqueItems: true
items:
type: object
additionalProperties: false
properties:
id:
description: >-
Unique identifier of the issue form,
used to reference the form in other places
(e.g. as a key of the `maintainer.issue` object, to assign the issue to a maintainer),
and to generate the filename of the issue template's YAML file.
type: string
pattern: '^[a-zA-Z0-9][a-zA-Z0-9_-]*$'
primary_type:
type: string
subtype:
type: string
default: ''
pre_process:
$ref: '#/definitions/pre_process'
post_process:
type: object
additionalProperties: false
properties:
assign_creator:
type: object
additionalProperties: false
properties:
if_checkbox:
type: object
additionalProperties: false
properties:
id:
type: string
number:
type: integer
default: 1
is_checked:
type: boolean
default: true
required: [ id, number, is_checked ]
body:
type: string
name:
type: string
description:
type: string
labels:
type: array
uniqueItems: true
minItems: 1
items:
type: string
projects:
type: array
uniqueItems: true
items:
type: string
title:
type: string
body:
type: array
minItems: 1
items:
type: object
additionalProperties: false
properties:
type:
type: string
enum: [ checkboxes, dropdown, input, markdown, textarea ]
id:
type: string
pattern: ^[A-Za-z][A-Za-z0-9_-]*$
attributes:
type: object
additionalProperties: true
validations:
type: object
additionalProperties: true
pre_process:
$ref: '#/definitions/pre_process'
required: [ type, attributes ]
required: [ id, primary_type, name, description, body ]
dev_protocol:
description: Development process protocol specifications
type: object
default: { }
additionalProperties: false
properties:
prerelease_temp_path:
description: >-
Path to the file relative to the repository root
for storing pre-release development process protocols.
type: string
default: docs/prerelease_dev_protocols.md
template:
type: object
default: { }
additionalProperties: false
properties:
title:
type: string
default: Development Process Protocol
body:
type: string
default: |
## Plan
{issue_body}
## Software Requirements Specification
TBD
## Design Specification
TBD
## Implementation
TBD
{primary_commit_summary}
{secondary_commits_tasklist}
## References
{references}
## Timeline
{timeline}
required: [ title, body ]
required: [ prerelease_temp_path, template ]
required: [ blank_enabled, contact_links, forms, dev_protocol ]
definitions:
pre_process:
type: object
additionalProperties: false
properties:
if_any:
type: array
uniqueItems: true
minItems: 1
items:
type: string
if_all:
type: array
uniqueItems: true
minItems: 1
items:
type: string
if_none:
type: array
uniqueItems: true
minItems: 1
items:
type: string
if_equal:
type: array
uniqueItems: true
minItems: 1
items:
type: string
oneOf:
- required: [ if_any ]
- required: [ if_all ]
- required: [ if_none ]
- required: [ if_equal ]
blank_enabled: false
contact_links: []
forms: []
dev_protocol:
prerelease_temp_path: docs/prerelease_dev_protocols.md
template:
title: Development Process Protocol
body: "## Plan\n{issue_body}\n\n\n## Software Requirements Specification\nTBD\n
\n\n## Design Specification\nTBD\n\n\n## Implementation\nTBD\n{primary_commit_summary}\n
{secondary_commits_tasklist}\n\n\n## References\n{references}\n\n\n## Timeline\n\
{timeline}\n"