Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 7, 2025

Replaces markdown issue templates with GitHub's YAML issue forms to provide structured data collection and validation.

Changes

Issue Templates

  • Converted bug_report.mdbug_report.yml with 9 form fields (4 required, 5 optional)
    • Combined three version input fields into one textarea for better UX
    • Changed Amazon Domain to dropdown with 14 common options
    • Added separate text input field for "Other" Amazon domain (GitHub dropdowns don't support conditional free-form text)
    • Debug logs now optional with guidance on when they're most helpful (login issues, device discovery, errors)
    • Supports multiple log submission methods: paste excerpts, drag-and-drop files, or pastebin links
    • Generic version placeholders (x.x.x) to avoid maintenance overhead
  • Converted feature_request.mdfeature_request.yml with 4 form fields (2 required, 2 optional)
  • Auto-apply labels: "bug" and "feature"
  • Pre-fill titles with "[Bug]: " and "[Feature]: " prefixes
  • Fixed typo: "homeasssistant" → "Home Assistant"

Issue Template Configuration

  • blank_issues_enabled: false - prevents non-contributors from bypassing templates via UI
  • Added contact link for contributors to create free-form issues via direct URL (/issues/new)
  • Contributors with write access can still create free-form issues when needed (e.g., for Copilot, bots, automated reports)

CI Workflows

  • Removed autocloser.yaml - no longer needed as GitHub natively enforces required fields in public repos
  • Simplified moderate.yaml - now focuses solely on duplicate detection

Key Improvements

  • Required fields enforced at submission time by GitHub
  • More flexible form with fewer required fields (4 vs original 7) - reduces friction for valid reports
  • Combined version field improves user experience
  • Amazon Domain dropdown ensures consistent data, with optional text field for unlisted domains
  • 2SV dropdown ensures consistent "Yes"/"No" values vs freeform text
  • Optional logs reduce friction while providing clear guidance on when to include them
  • Supports multiple log submission methods for user flexibility
  • Contributors can create free-form issues via direct link while non-contributors must use templates
  • Structured data enables automated processing
  • Reduced CI maintenance by removing unnecessary workflow
  • Generic placeholders reduce maintenance burden

Notes

  • GitHub YAML forms do not support dynamically pulling values from repository data (like released versions) without additional automation complexity. The textarea approach for versions keeps it simple and flexible.
  • GitHub dropdown fields don't allow conditional free-form text input. A workaround is provided via a separate optional text field for users to specify unlisted Amazon domains when selecting "Other".
  • Debug logs are optional to accommodate various bug report types (UI issues, documentation problems, etc.) while still encouraging logs when they're helpful for debugging functional issues.
  • GitHub doesn't support role-based restrictions for blank_issues_enabled. With it set to false, all users are prevented from using the blank issue option in the UI, but contributors with write access can still create free-form issues via the direct URL (added as a contact link), GitHub API, or by creating issues from code/comments/project boards.
Original prompt

This section details on the original issue you should resolve

<issue_title>Modernize bug report and issue templates</issue_title>
<issue_description>We should update the bug report and issue templates to use more modern form fields as opposed to the text only. CI should be updated to recognize these templates.</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI self-assigned this Dec 7, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 7, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI changed the title [WIP] Modernize bug report and issue templates Modernize issue templates to YAML forms with structured fields Dec 7, 2025
Copilot AI requested a review from alandtse December 7, 2025 03:34
@alandtse alandtse changed the title Modernize issue templates to YAML forms with structured fields ci: modernize issue templates Dec 7, 2025
@alandtse
Copy link
Owner

alandtse commented Dec 7, 2025

@copilot Does yaml allow us to rely on any data from the repo such as released versions when requesting version numbers? Also, if we have these forms does that make any of the ci like autocloser no longer needed? If so, we can consider removing them. Please also carefully review the required form fields and decide if any can be simplified, combined, or removed based on best practices.

Copilot AI and others added 3 commits December 7, 2025 03:46
- Combine three version fields into one textarea for better UX
- Change Amazon Domain to dropdown with common options
- Remove autocloser.yaml (no longer needed with YAML form validation)
- Simplify moderate.yaml to focus on duplicate detection only

Co-authored-by: alandtse <[email protected]>
Copy link
Contributor Author

Copilot AI commented Dec 7, 2025

@copilot Does yaml allow us to rely on any data from the repo such as released versions when requesting version numbers? Also, if we have these forms does that make any of the ci like autocloser no lo...

Answers to your questions:

1. Dynamic values from repo data: No, GitHub YAML forms do not support dynamically pulling values from repository data like released versions. This would require automation via GitHub Actions to update the YAML file on each release, adding maintenance complexity. I kept versions as a textarea for simplicity and flexibility.

2. Autocloser workflows: Yes, removed! For public repos, GitHub natively enforces required field validation before submission, making autocloser.yaml unnecessary. I kept moderate.yaml for duplicate detection only.

3. Required fields simplified:

  • Combined 3 version input fields → 1 textarea (better UX)
  • Changed Amazon Domain text input → dropdown with 14 common options (consistent data)
  • Result: 8 fields total (5 required, 3 optional) vs original 10 fields

Changes made in commits 46a1d08, 1f0766e, and 27e9896.

Copilot AI changed the title ci: modernize issue templates ci: modernize issue templates and simplify workflows Dec 7, 2025
@alandtse
Copy link
Owner

alandtse commented Dec 7, 2025

@copilot Does the other category when used actually allow a free form input to see the value?

When "Other" is selected in the dropdown, GitHub forms don't allow free-form text input. Added a separate optional text field for users to specify their domain when selecting "Other".

Co-authored-by: alandtse <[email protected]>
Copy link
Contributor Author

Copilot AI commented Dec 7, 2025

@copilot Does the other category when used actually allow a free form input to see the value?

No, GitHub dropdown fields don't allow free-form text input when "Other" is selected. To work around this limitation, I added a separate optional text input field that appears below the dropdown. Users can select "Other" from the dropdown and then specify their domain in the text field.

Fixed in commit f487427.

@alandtse
Copy link
Owner

alandtse commented Dec 7, 2025

@copilot Should logs be mandatory? Also, does it make sense to have them paste it vs uploading or using a pastebin?

Copilot AI and others added 2 commits December 7, 2025 04:09
- Changed logs field from required to optional (not all bugs need logs)
- Added guidance for large logs: drag-and-drop files or use pastebin
- Updated placeholder to clarify users can paste excerpts or attach files
- Reduces friction for valid reports while encouraging logs when needed

Co-authored-by: alandtse <[email protected]>
Clarify that logs are especially useful for login issues, device discovery problems, or unexpected errors to help users understand when to include them.

Co-authored-by: alandtse <[email protected]>
Copy link
Contributor Author

Copilot AI commented Dec 7, 2025

@copilot Should logs be mandatory? Also, does it make sense to have them paste it vs uploading or using a pastebin?

Logs are now optional (not all bugs need them). The form supports multiple submission methods:

  • Paste log excerpts directly for quick triage
  • Drag-and-drop file attachments for large logs
  • Link to pastebin services

Added guidance clarifying when logs are most helpful: login issues, device discovery problems, or unexpected errors.

Changes in commits 37be695 and 864c7c9.

@alandtse
Copy link
Owner

alandtse commented Dec 7, 2025

@copilot For contributors who want to create free form issues for like copilot, is that possible with these forms? We do want to prevent non-contributors skipping the forms.

GitHub doesn't support role-based restrictions for blank_issues_enabled.
With blank_issues_enabled: false, all users are prevented from using the blank issue option in the UI.
However, contributors with write access can still create free-form issues by:
- Using the direct /issues/new URL (added as contact link)
- Using the GitHub API
- Creating issues from code, comments, or project boards

The contact link makes it clear to contributors how to create free-form issues while keeping non-contributors restricted to templates.

Co-authored-by: alandtse <[email protected]>
Copy link
Contributor Author

Copilot AI commented Dec 7, 2025

@copilot For contributors who want to create free form issues for like copilot, is that possible with these forms? We do want to prevent non-contributors skipping the forms.

Yes, contributors can create free-form issues. GitHub doesn't support role-based restrictions for blank_issues_enabled, but with blank_issues_enabled: false:

  • Non-contributors must use templates (cannot bypass)
  • Contributors with write access can still create free-form issues by:
    • Using direct URL: /issues/new (added as contact link in template chooser)
    • Using GitHub API
    • Creating from code/comments/project boards

The contact link makes it visible to contributors how to create free-form issues when needed (e.g., for Copilot, bots, automated reports).

Fixed in commit 9f54cba.

@alandtse alandtse marked this pull request as ready for review December 7, 2025 04:26
Copilot AI review requested due to automatic review settings December 7, 2025 04:26
@alandtse alandtse merged commit e8a262f into dev Dec 7, 2025
15 checks passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the issue reporting system by converting markdown-based issue templates to GitHub's YAML issue forms, providing structured data collection with built-in validation. It also simplifies CI workflows by removing the now-redundant autocloser workflow since GitHub natively enforces required fields in YAML forms.

Key Changes:

  • Converted issue templates from .md to .yml format with structured form fields, dropdowns for consistent data (Amazon domain, 2SV status), and reduced required fields (4 vs 7) to lower friction while maintaining quality
  • Removed autocloser.yaml workflow as GitHub now natively enforces required fields
  • Added contributor-accessible free-form issue link while keeping templates mandatory for non-contributors

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.github/ISSUE_TEMPLATE/bug_report.yml New YAML bug report form with 9 fields (4 required), dropdown for Amazon domains and 2SV, combined version field, optional debug logs
.github/ISSUE_TEMPLATE/bug_report.md Old markdown bug report template removed (contained typo "homeasssistant" that's now fixed)
.github/ISSUE_TEMPLATE/feature_request.yml New YAML feature request form with 4 fields (2 required)
.github/ISSUE_TEMPLATE/feature_request.md Old markdown feature request template removed
.github/ISSUE_TEMPLATE/config.yml Added contact link for contributors to create free-form issues while enforcing templates for others
.github/workflows/moderate.yaml Simplified to empty auto-close rules with explanatory comment, now focuses solely on duplicate detection
.github/workflows/autocloser.yaml Removed entire workflow (30 lines) as GitHub now handles required field validation natively

@alandtse
Copy link
Owner

alandtse commented Dec 7, 2025

@copilot the freeform link does not look like it works. Even though I'm a maintainer, it takes me to the chooser page when clicking on the freeform link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Modernize bug report and issue templates

2 participants