chore: create issue templates for project planning (#361)

* chore: create issue templates for project planning

related: #327

This commit creates 3 new GitHub issue templates to help with Notebooks 2.0 project planning.

As recently agreed upon in community meetings - we want to break down work into 3 hierarchical categories:
- Epics
- Features
- Tasks

The templates defined in this pull request mimic the format @ederign used when initially defining work
for our first "sprint" of work.

⚠️ Please note, however, I have introduced the term `Task` to capture the most granular issue type.  Happy to change the word to something else - but wanted a `[...]` prefix to identify these issues similar to `[EPIC]` and `[FEATURE]`

These issue templates would not be intended to be used by "random" community members - rather they are designed to aid Epic Owners in defining work.  For now, I have just added a simple "disclaimer" in the issue template summary to discourage use. In the future we could discuss extending `internal-acls` and leveraging GitHub Actions to ensure these "planning" templates are only used by designated community members.

The `Epic` and `Feature` templates **DO NOT** have a section to track child items included in the issue description.  The desire to merge #325 to leverage GitHub sub-issues to more naturally track these relationships and avoid having to "ping" issue authors to update the description to track children.

The `config.yml` `issue_templates` section is used to define a deterministic order within the GitHub Template Chooser modal.  As we can control the order through this file along - I also removed the leading numerical prefixes from existing yml template files as they serve no purpose and at worst could actively confuse.

Signed-off-by: Andy Stoneberg <astonebe@redhat.com>

* mathew: update epic label

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* Update .github/ISSUE_TEMPLATE/planning_task.yml

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* mathew: update feature label

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

* mathew: remove emoji from planning names

Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>

---------

Signed-off-by: Andy Stoneberg <astonebe@redhat.com>
Signed-off-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
Co-authored-by: Mathew Wicks <5735406+thesuperzapper@users.noreply.github.com>
This commit is contained in:
Andy Stoneberg 2025-06-26 19:07:17 -04:00 committed by GitHub
parent 920944fb16
commit 861cd579ea
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 121 additions and 0 deletions

View File

@ -1,4 +1,12 @@
blank_issues_enabled: true
issue_templates:
- bug_report.yml
- feature_request.yml
- planning_epic.yml
- planning_feature.yml
- planning_task.yml
contact_links:
- name: Kubeflow Documentation
url: https://www.kubeflow.org/

View File

@ -0,0 +1,27 @@
name: "[Planning] Epic"
description: "🛑 Only intended to be used by Kubeflow project managers"
title: "[EPIC] <short description>"
labels:
- "kind/plan-epic"
assignees: []
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to create an epic!
- type: checkboxes
id: certification
attributes:
label: Certification
description: Please confirm your role
options:
- label: I certify I am an Epic Owner for Kubeflow Notebooks 2.0 and expected to create planning-related issues.
required: true
- type: textarea
id: user-story
attributes:
label: User Story
description: Describe the feature from the end user's perspective, including who they are, what they want to achieve, and why it's important.
placeholder: As a [type of user], I want [goal] so that [benefit]
validations:
required: true

View File

@ -0,0 +1,48 @@
name: "[Planning] Feature"
description: "🛑 Only intended to be used by Kubeflow project managers"
title: "[FEATURE] <short description>"
labels:
- "kind/plan-feature"
assignees: []
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to create a feature request!
- type: checkboxes
id: certification
attributes:
label: Certification
description: Please confirm your role
options:
- label: I certify I am an Epic Owner for Kubeflow Notebooks 2.0 and expected to create planning-related issues.
required: true
- type: textarea
id: motivation
attributes:
label: Motivation
description: Explain the reasoning behind this feature. What problem does it solve or what value does it add?
placeholder: This feature will help users by...
validations:
required: true
- type: textarea
id: design
attributes:
label: High Level Design / Mock-ups
description: Provide a top-level overview of the proposed solution. Include diagrams, rough mockups, or architectural notes if helpful.
placeholder: |
[Add your design details here]
- Consider including diagrams
- Add mockups if available
- Describe the architecture
- type: textarea
id: acceptance-criteria
attributes:
label: Acceptance Criteria
description: Define what needs to be true for this feature to be considered complete. Be as clear and measurable as possible.
placeholder: |
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
validations:
required: true

View File

@ -0,0 +1,38 @@
name: "[Planning] Task"
description: "🛑 Only intended to be used by Kubeflow project managers"
title: "[TASK] <short description>"
labels:
- "kind/plan-task"
assignees: []
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to create a task!
- type: checkboxes
id: certification
attributes:
label: Certification
description: Please confirm your role
options:
- label: I certify I am an Epic Owner for Kubeflow Notebooks 2.0 and expected to create planning-related issues.
required: true
- type: textarea
id: description
attributes:
label: Description
description: Provide a brief explanation of what this task involves and why it's needed. Focus on the scope and intent of the work.
placeholder: This task will...
validations:
required: true
- type: textarea
id: acceptance-criteria
attributes:
label: Acceptance Criteria
description: List the specific, measurable conditions that must be met for the task to be considered complete.
placeholder: |
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
validations:
required: true