Support GitHub issue forms with `create ticket` button
hendrikKahl opened this issue · comments
What would you like to be added:
It would be great, if a user could be forwarded to an issue forms template when creating tickets for a cluster via the dashboard.
With issue forms, you can create issue templates that have customizable web form fields. You can encourage contributors to include specific, structured information by using issue forms in your repository.
Why is this needed:
As of today, a markdown template is rendered and added to the URL represented by the create ticket
button.
The markdown template does not enforce any user input and can be ignored at the users will. With issue forms the operator of a Gardener landscape has more control and can guide a user to give meaningful input.
A simple template could look like this.
name: "Sample Issue Form"
description: "Guided creation of an issue for a Shoot cluster"
title: "[<cluster>]: <problem> "
labels: ["topology/shoot"]
body:
- type: markdown
attributes:
value: "# Gardener help center "
- type: markdown
attributes:
value: |
Please provide metadata and information for this issue, such as specifying which cluster is affected.
By categorizing and prioritizing the issue appropriately, you can help us process this ticket more quickly.
- type: input
id: cluster-link
attributes:
label: "Which cluster is affected?"
description: Please provide the link to your cluster in the Gardener Dashboard, so that we can identify it and run some self-diagnoses upfront.
validations:
required: true
- type: textarea
id: how-to-reproduce
attributes:
label: "How can we reproduce the issue (concisely and precisely)?"
placeholder: |
1.
2.
3.
validations:
required: true
Let's assume the template's file name would be shoot_issue.yml
. It could be addressed like this to open a new issue:
https://github.com/<org>/<repo>/issues/new?assignees=&labels=&template=shoot_issue.yml&title=test
Individual text areas are addressable by their id as well. For example, the input field cluster-link
could be pre-filled with some-shoot
like this:
https://github.com/<org>/<repo>/issues/new?assignees=&labels=&template=shoot_issue.yml&cluster-link=some-shoot&tilte=test
/assign