Hinweis: Problemformulare befinden sich derzeit in der beta und können noch geändert werden.
Informationen zur YAML-Syntax für Issueformulare
Du kannst benutzerdefinierte Issueformulare erstellen, indem du dem Ordner /.github/ISSUE_TEMPLATE
in deinem Repository eine YAML-Formulardefinitionsdatei hinzufügst. Wenn du noch nicht mit YAML arbeitest und mehr erfahren möchtest, lies den Artikel zum Erlernen von YAML in Y Minuten. Du kannst verschiedene Eingabetypen, Überprüfungen, Standardpersonen für die Zuweisungen und Standardbezeichnungen für deine Issueformulare definieren.
Wenn ein Mitwirkender ein Issueformular ausfüllt, werden seine Antworten für jede Eingabe in Markdown konvertiert und dem Textkörper eines Issues hinzugefügt. Mitwirkende können ihre über Issueformulare erstellten Issues bearbeiten, und andere Personen können mit den Issues genau wie mit Issues interagieren, die über andere Methoden erstellt wurden.
Issueformulare werden für Pull Requests nicht unterstützt. Du kannst in deinen Repositorys Pull Request-Vorlagen erstellen, die von Mitarbeitern verwendet werden sollen. Weitere Informationen findest du unter Eine Pull-Request-Vorlage für dein Repository erstellen.
In diesem Beispiel definiert die YAML-Konfigurationsdatei ein Issueformular mit mehreren Eingaben zum Melden eines Fehlers.
Note
Der Feldschlüssel required
wird nur in öffentlichen Repositorys unterstützt. In privaten und internen Repositorys sind alle Felder optional.
name: Bug Report description: File a bug report. title: "[Bug]: " labels: ["bug", "triage"] projects: ["octo-org/1", "octo-org/44"] assignees: - octocat body: - type: markdown attributes: value: | Thanks for taking the time to fill out this bug report! - type: input id: contact attributes: label: Contact Details description: How can we get in touch with you if we need more info? placeholder: ex. email@example.com validations: required: false - type: textarea id: what-happened attributes: label: What happened? description: Also tell us, what did you expect to happen? placeholder: Tell us what you see! value: "A bug happened!" validations: required: true - type: dropdown id: version attributes: label: Version description: What version of our software are you running? options: - 1.0.2 (Default) - 1.0.3 (Edge) default: 0 validations: required: true - type: dropdown id: browsers attributes: label: What browsers are you seeing the problem on? multiple: true options: - Firefox - Chrome - Safari - Microsoft Edge - type: textarea id: logs attributes: label: Relevant log output description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. render: shell - type: checkboxes id: terms attributes: label: Code of Conduct description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com). options: - label: I agree to follow this project's Code of Conduct required: true
name: Bug Report
description: File a bug report.
title: "[Bug]: "
labels: ["bug", "triage"]
projects: ["octo-org/1", "octo-org/44"]
assignees:
- octocat
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: input
id: contact
attributes:
label: Contact Details
description: How can we get in touch with you if we need more info?
placeholder: ex. email@example.com
validations:
required: false
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
placeholder: Tell us what you see!
value: "A bug happened!"
validations:
required: true
- type: dropdown
id: version
attributes:
label: Version
description: What version of our software are you running?
options:
- 1.0.2 (Default)
- 1.0.3 (Edge)
default: 0
validations:
required: true
- type: dropdown
id: browsers
attributes:
label: What browsers are you seeing the problem on?
multiple: true
options:
- Firefox
- Chrome
- Safari
- Microsoft Edge
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com).
options:
- label: I agree to follow this project's Code of Conduct
required: true
Syntax auf oberster Ebene
Alle Konfigurationsdateien für Issueformulare müssen mit Schlüssel-Wert-Paaren für name
, description
und body
beginnen.
name: description: body:
name:
description:
body:
Du kannst für jedes Issueformular die folgenden Schlüssel auf oberster Ebene festlegen.
Schlüssel | BESCHREIBUNG | Erforderlich | type |
---|---|---|---|
name | Ein Name für die Issueformularvorlage. Muss sich von allen anderen Vorlagen, einschließlich Markdownvorlagen, eindeutig unterscheiden. | Erforderlich | String |
description | Eine Beschreibung für die Issueformularvorlage, die in der Oberfläche zur Vorlagenauswahl angezeigt wird. | Erforderlich | String |
body | Definition der Eingabetypen im Formular. | Erforderlich | Array |
assignees | Personen, die automatisch den mit dieser Vorlage erstellten Issues zugewiesen werden. | Optional | Array oder durch Trennzeichen getrennte Zeichenfolge |
labels | Bezeichnungen, die automatisch den mit dieser Vorlage erstellten Issues hinzugefügt werden. Wenn eine Bezeichnung noch nicht im Repository vorhanden ist, wird sie dem Issue nicht automatisch hinzugefügt. | Optional | Array oder durch Trennzeichen getrennte Zeichenfolge |
title | Ein Standardtitel, der im Issueübermittlungsformular vorab ausgefüllt wird. | Optional | String |
Die verfügbaren body
-Eingabetypen und ihre Syntax findest du unter Syntax für das GitHub-Formularschema.
Konvertieren einer Markdownissuevorlage in eine YAML-Issueformularvorlage
Du kannst sowohl Markdown- als auch YAML-Issuevorlagen in deinem Repository verwenden. Wenn du eine Markdownissuevorlage in eine YAML-Issueformularvorlage konvertieren möchtest, musst du eine neue YAML-Datei erstellen, um das Issueformular zu definieren. Du kannst eine vorhandene Markdownissuevorlage manuell in ein YAML-Issueformular transponieren. Weitere Informationen findest du unter Issuevorlagen für Dein Repository konfigurieren.
Wenn du denselben Dateinamen für dein YAML-Issueformular verwenden möchtest, musst du die Markdownissuevorlage löschen, wenn du die neue Datei per Commit in dein Repository übernimmst.
Ein Beispiel für eine Markdownissuevorlage und eine entsprechende YAML-Issueformularvorlage findest du unten.
Markdownissuevorlage
--- name: 🐞 Bug about: File a bug/issue title: '[BUG] <title>' labels: Bug, Needs Triage assignees: '' --- <!-- Note: Please search to see if an issue already exists for the bug you encountered. --> ### Current Behavior: <!-- A concise description of what you're experiencing. --> ### Expected Behavior: <!-- A concise description of what you expected to happen. --> ### Steps To Reproduce: <!-- Example: steps to reproduce the behavior: 1. In this environment... 1. With this config... 1. Run '...' 1. See error... --> ### Environment: <!-- Example: - OS: Ubuntu 20.04 - Node: 13.14.0 - npm: 7.6.3 --> ### Anything else: <!-- Links? References? Anything that will give us more context about the issue that you are encountering! -->
---
name: 🐞 Bug
about: File a bug/issue
title: '[BUG] <title>'
labels: Bug, Needs Triage
assignees: ''
---
<!--
Note: Please search to see if an issue already exists for the bug you encountered.
-->
### Current Behavior:
<!-- A concise description of what you're experiencing. -->
### Expected Behavior:
<!-- A concise description of what you expected to happen. -->
### Steps To Reproduce:
<!--
Example: steps to reproduce the behavior:
1. In this environment...
1. With this config...
1. Run '...'
1. See error...
-->
### Environment:
<!--
Example:
- OS: Ubuntu 20.04
- Node: 13.14.0
- npm: 7.6.3
-->
### Anything else:
<!--
Links? References? Anything that will give us more context about the issue that you are encountering!
-->
YAML-Issueformularvorlage
name: 🐞 Bug description: File a bug/issue title: "[BUG] <title>" labels: ["Bug", "Needs Triage"] body: - type: checkboxes attributes: label: Is there an existing issue for this? description: Please search to see if an issue already exists for the bug you encountered. options: - label: I have searched the existing issues required: true - type: textarea attributes: label: Current Behavior description: A concise description of what you're experiencing. validations: required: false - type: textarea attributes: label: Expected Behavior description: A concise description of what you expected to happen. validations: required: false - type: textarea attributes: label: Steps To Reproduce description: Steps to reproduce the behavior. placeholder: | 1. In this environment... 1. With this config... 1. Run '...' 1. See error... validations: required: false - type: textarea attributes: label: Environment description: | examples: - **OS**: Ubuntu 20.04 - **Node**: 13.14.0 - **npm**: 7.6.3 value: | - OS: - Node: - npm: render: markdown validations: required: false - type: textarea attributes: label: Anything else? description: | Links? References? Anything that will give us more context about the issue you are encountering! Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. validations: required: false
name: 🐞 Bug
description: File a bug/issue
title: "[BUG] <title>"
labels: ["Bug", "Needs Triage"]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: A concise description of what you're experiencing.
validations:
required: false
- type: textarea
attributes:
label: Expected Behavior
description: A concise description of what you expected to happen.
validations:
required: false
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
1. With this config...
1. Run '...'
1. See error...
validations:
required: false
- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **Node**: 13.14.0
- **npm**: 7.6.3
value: |
- OS:
- Node:
- npm:
render: markdown
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false