Sintaxe para formulários de problema

Você pode definir diferentes tipos de entrada, validações, responsáveis padrão e etiquetas padrão para seus formulários de problemas.

Os formulários de problemas estão disponíveis em beta para repositórios públicos em GitHub.com

Observação: Os formulários de problemas estão atualmente na versão beta e sujeitos a alterações.

Sobre a sintaxe do YAML para formulários de problemas

Você pode criar formulários de problemas personalizados adicionando um arquivo de definição de formulário YAML à pasta /.github/ISSUE_TEMPLATE no seu repositório. Se você é novo no YAML e deseja aprender mais, consulte "Aprenda YAML em Y minutes". Você pode definir diferentes tipos de entrada, validações, atribuídos padrão e etiquetas padrão para seus formulários de problemas.

Quando um contribuidor preenche um formulário de problemas, as suas respostas para cada entrada são convertidas em markdown e adicionadas ao corpo de um issue. Os contribuidores podem editar seus problemas criados com formulários de problemas e outras pessoas podem interagir com problemas como um problema criado por meio de outros métodos.

Os formulários de problemas não são compatíveis com pull requests. É possível criar modelos de pull request nos seus repositórios para os colaboradores usarem. Para obter mais informações, consulte "Criar um modelo de pull request para o repositório".

Este exemplo de arquivo de configuração YAML define um formulário de problema utilizando várias entradas para reportar um erro.

YAML
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug", "triage"]
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)
    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. Isso será formatado automaticamente em código. Portanto, não  necessidade de barra inversa.
      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

Sintaxe de nível superior

Todos os arquivos de configuração de formulário de problema devem começar com os pares chave-valor nome, descriçãoe texto.

YAML
name:
description:
body:

Você pode definir as seguintes chaves de nível superior para cada formulário de problema.

TeclaDescriçãoObrigatórioTipo
nameUm nome para o modelo de formulário de problema. Deve ser exclusivo de todos os outros modelos, incluindo modelos de markdown.Obrigatóriostring
descriçãoUma descrição para o modelo de formulário de problema, que aparece na interface de modelo de seletor.Obrigatóriostring
textoDefinição dos tipos de entrada no formulário.ObrigatórioArray
assigneesAs pessoas que serão automaticamente atribuídas a problemas criados com este modelo.OpcionalMatriz ou strings delimitadas por vírgula
etiquetasEtiquetas que serão adicionadas automaticamente a problemas criados com este modelo.Opcionalstring
titleUm título padrão que será preenchido no formulário de envio do problema.Opcionalstring

Para os tipos de entrada disponíveis texto e suas sintaxes, consulte "Sintaxe para o esquema de formulário GitHub".

Convertendo um modelo de problema de markdown em um modelo de formulário de problema de YAML

Você pode usar os modelos de problemas de markdown e YAML no seu repositório. Se você deseja converter um modelo de problema de markdown em um modelo de formulário de problema de YAML, você deverá criar um novo arquivo YAML para definir o formulário de problema. Você pode transpor manualmente um modelo de problema de markdown existente para um formulário de problema de YAML. Para obter mais informações, consulte "Configurando modelos de problema para seu repositório."

Se quiser usar o mesmo nome de arquivo para o seu formulário de problema de YAML, você deverá excluir o modelo de problema do markdown quando fizer commit do novo arquivo no seu repositório.

Um exemplo de um modelo de problema de markdown e um modelo de formulário de problema de YAML correspondente é indicado abaixo.

Modelo de problema de markdown

markdown
---
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...
2. With this config...
3. Run '...'
4. See error...
-->

### Environment:
<!--
Example:
- OS: Ubuntu 20.04
- Node: 13.14.0
- npm: 7.6.3
-->

### Anything else:
<!--
Links? Referências? Anything that will give us more context about the issue that you are encountering!
-->

Modelo de formulário de problema de YAML

YAML
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...
      2. With this config...
      3. Run '...'
      4. 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? Referências? 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

Leia mais

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.