Issue Types¶
issue_types.yaml defines the available issue types for a project or organization. Each issue type can specify its own workflow, enabling different issue categories to follow different lifecycles.
Basic Structure¶
model_version: "1.0"
issue_types:
- key: Bug
label: Bug Report
allow_children: false
color: danger
icon: bug
position: 0
active: true
workflow: bug
- key: Feature
label: Feature Request
allow_children: true
color: primary
icon: bookmark
position: 1
active: true
- key: Task
label: Task
allow_children: false
color: info
icon: check-square
position: 2
active: true
Issue Type Configuration¶
| Field | Required | Description |
|---|---|---|
key |
Yes | Unique identifier (PascalCase, e.g., Bug, UserStory) |
label |
No | Display name (defaults to key titleized) |
allow_children |
No | Whether issues of this type can have child issues (default: false) |
color |
No | Badge color variant (default: primary) |
icon |
No | Icon name (default: bookmark) |
position |
No | Sort order in dropdown menus |
active |
No | Whether this type is available for new issues (default: true) |
workflow |
No | Workflow key to use for this issue type |
Multi-Workflow Support¶
By default, all issue types use the project's default workflow (typically main.yaml or workflow.yaml). You can assign specific workflows to issue types using the workflow field.
Example: Engineering Definition¶
Consider an engineering team that needs different workflows for bugs and incidents:
.kiket/issue_types.yaml
model_version: "1.0"
issue_types:
- key: Bug
label: Bug
color: danger
icon: bug
workflow: bug # Uses workflows/bug.yaml
- key: Incident
label: Incident
color: danger
icon: flag
workflow: incident # Uses workflows/incident.yaml
- key: Task
label: Task
color: info
icon: check-square
# No workflow specified - uses default workflow
- key: Story
label: Story
color: primary
icon: bookmark
# No workflow specified - uses default workflow
.kiket/workflows/bug.yaml
model_version: 1.0
workflow:
id: bug
name: Bug Tracking
version: 1.0.0
states:
open:
type: initial
investigating:
type: active
resolved:
type: final
transitions:
- from: open
to: investigating
- from: investigating
to: resolved
.kiket/workflows/incident.yaml
model_version: 1.0
workflow:
id: incident
name: Incident Response
version: 1.0.0
states:
detected:
type: initial
responding:
type: active
resolved:
type: final
transitions:
- from: detected
to: responding
- from: responding
to: resolved
Workflow Key Requirements¶
- Lowercase alphanumeric: Must start with a letter, contain only lowercase letters, numbers, hyphens, and underscores
- Matches workflow id: The workflow key should match the
workflow.idfield in the referenced workflow file - File naming convention: Workflow file should be named
{workflow_key}.yaml(e.g.,bug.yamlfor workflow keybug)
How Workflow Selection Works¶
- When an issue is created or updated, Kiket checks the issue's type
- If the issue type has a
workflowkey, Kiket loads that specific workflow - If no
workflowkey is specified, Kiket uses the project's default workflow - Available transitions and state metadata are determined by the selected workflow
Colors¶
Valid color values (maps to Bootstrap variants):
| Color | Variant |
|---|---|
primary |
Blue |
secondary |
Gray |
success |
Green |
danger |
Red |
warning |
Yellow/Orange |
info |
Light blue |
light |
Light gray |
dark |
Dark gray |
purple |
Purple |
Common color names are also supported and mapped automatically:
- blue → primary
- green → success
- red → danger
- yellow, orange → warning
- gray, grey → secondary
Icons¶
Valid icon names:
| Icon | Use Case |
|---|---|
bookmark |
General items, stories |
flag |
Incidents, milestones |
bug |
Bugs, defects |
check-square |
Tasks, to-dos |
lightning |
Spikes, research |
diagram-3 |
Epics, initiatives |
kanban |
Board items |
star |
Featured items |
target |
Goals, OKRs |
gear |
Configuration tasks |
layers |
Contracts, documents |
circle |
Generic items |
Validation¶
Use the CLI linter to validate your issue types configuration:
The linter checks:
- Required key field on each issue type
- Valid key format (alphanumeric starting with letter)
- Valid color and icon values
- Valid workflow key format
- Cross-references workflow files to ensure referenced workflows exist
Organization vs Project Scope¶
Issue type definitions can be scoped to:
- Organization level: Defined in organization workflow repository, applies to all projects
- Project level: Defined in project repository, overrides organization defaults
When syncing, Kiket merges definitions with project-level taking precedence.