Skip to main content

Настройка шаблонов проблем для репозитория

Вы можете настроить шаблоны, доступные участникам для использования при открытии новых проблем в репозитории.

Вы можете создать шаблоны проблем по умолчанию и файл конфигурации по умолчанию для шаблонов проблем для вашей организации или личной учетной записи. Дополнительные сведения см. в разделе Создание файла работоспособности сообщества по умолчанию..

Создание шаблонов проблем

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В разделе "Компоненты" в разделе "Проблемы" щелкните "Настройка шаблонов". Возможно, потребуется включить проблемы и обновить страницу, прежде чем вы увидите кнопку.

    Снимок экрана: раздел "Функции" параметров репозитория с параметром "Проблемы" и зеленой кнопкой "Настройка шаблонов".

  4.        **Используйте раскрывающееся меню "Добавить шаблон**" и выберите тип шаблона, который вы хотите создать.
    

    Снимок экрана: раскрывающееся меню "Добавить шаблон", развернутое для отображения стандартных шаблонов, "Отчет об ошибках" и "Запрос компонента" с настраиваемым шаблоном.

  5. Чтобы просмотреть или изменить шаблон перед фиксацией в репозитории, рядом с шаблоном нажмите кнопку "Предварительный просмотр" и " Изменить".

  6. Чтобы отредактировать шаблон, нажмите на , и введите поля для редактирования их содержимого.

    Снимок экрана: предварительный просмотр шаблона проблемы. Справа от имени шаблона значок карандаша описывается темно-оранжевым цветом.

  7. Чтобы автоматически задать заголовок проблемы по умолчанию, назначьте проблему людям с доступом на чтение к репозиторию или примените метки к проблемам, возникающим из шаблона, используйте поля в разделе "Необязательные дополнительные сведения". Вы также можете добавить эти сведения в шаблон задачи с помощью title, labels, typeили assignees в формате YAML frontmatter.

    Примечание.

    Имя шаблона должно быть более чем на 3 символы.

  8. Завершив редактирование и предварительный просмотр шаблона, нажмите кнопку Предложить изменения в правом верхнем углу страницы.

  9. В поле "Фиксация сообщения" введите сообщение фиксации, описывающее изменения.

  10. Под полями сообщения фиксации выберите, следует ли зафиксировать шаблон непосредственно в ветвь по умолчанию или создать новую ветвь и открыть запрос на вытягивание. Дополнительные сведения о запросах на вытягивание см. в разделе Сведения о запросах на вытягивание.

  11. Щелкните Зафиксировать изменения. После объединения этих изменений в ветвь по умолчанию шаблон будет доступен участникам для использования при открытии новых проблем в репозитории.

Создание форм проблем

Примечание.

Формы проблем в настоящее время находятся в public preview и подлежат изменению.

С помощью форм проблем можно создавать шаблоны проблем с настраиваемыми полями веб-формы. Вы можете стимулировать участников включать конкретные структурированные сведения с помощью форм проблем в вашем репозитории.

           Формы выпуска пишутся на YAML с использованием GitHub схемы формы. Дополнительные сведения см. в разделе [AUTOTITLE](/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema). Если вы не знакомы с YAML и хотите узнать больше, ознакомьтесь с разделом ["Сведения о YAML" в минутах](https://learnxinyminutes.com/docs/yaml/) Y.

Чтобы использовать форму проблем в репозитории, необходимо создать новый файл и добавить его в папку .github/ISSUE_TEMPLATE в этом репозитории.

Ниже приведен пример файла конфигурации формы проблем.

YAML
name: Bug Report
description: File a bug report.
title: "[Bug]: "
labels: ["bug", "triage"]
projects: ["octo-org/1", "octo-org/44"]
assignees:
  - octocat
type: bug
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` Поле должно быть более трёх символов. Если нет, шаблон не будет отображаться при создании проблемы.

Ниже приведена преобразованная для просмотра версия формы проблем.

Снимок экрана: отрисованная форма проблемы с сочетанием текстовых полей и раскрывающихся меню.

  1. Выберите репозиторий, в котором хотите создать форму проблем. Вы можете использовать существующий репозиторий, к которому у вас есть доступ для записи, или создать репозиторий. Дополнительные сведения о создании репозитория см. в разделе Создание репозитория.
  2. В репозитории создайте файл с именем .github/ISSUE_TEMPLATE/FORM-NAME.yml, заменив FORM-NAME на имя вашей формы проблем. Для получения дополнительной информации о создании новых файлов на GitHub см. Создание новых файлов.
  3. В тексте нового файла введите содержимое формы проблем. Дополнительные сведения см. в разделе Синтаксис для форм проблем.
  4. Зафиксируйте этот файл в ветви по умолчанию вашего репозитория. Дополнительные сведения см. в разделе Создание новых файлов.

Настройка выбора шаблона

Вы можете настроить средство выбора шаблона проблемы, которое пользователи видят при создании новой проблемы в репозитории, добавив config.yml файл в папку .github/ISSUE_TEMPLATE .

Вы можете стимулировать участников использовать шаблоны проблем, задав для blank_issues_enabled значение false. Если установить blank_issues_enabled , trueвсе, кто имеет доступ к репозиторию, увидят опцию Blank issue в выборщике шаблонов. Когда blank_issues_enabled установлено на false, пользователи с доступом к записи или выше (роли Write, Maintain, Admin), всё равно будут видеть опцию Blank issue в выборщике шаблона, обозначенную только как Maintainers. Участники с ролями Read или Triage будут видеть только настроенные шаблоны.

Примечание.

Если вы использовали устаревший рабочий процесс для ручного создания issue_template.md файла в папке и включения пустых проблем в .github файле config.yml, шаблон issue_template.md будет использоваться при открытии пустой проблемы. Если отключить пустые проблемы, этот шаблон никогда не будет использоваться.

Если вы предпочитаете получать определённые отчёты вне GitHub, вы можете направить людей на внешние сайты с contact_links.

Ниже приведен пример файла config.yml.

YAML
blank_issues_enabled: false
contact_links:
  - name: GitHub Community Support
    url: https://github.com/orgs/community/discussions
    about: Please ask and answer questions here.
  - name: GitHub Security Bug Bounty
    url: https://bounty.github.com/
    about: Please report security vulnerabilities here.

Ваш файл конфигурации будет настраивать выбор шаблонов при включении файла в ветвь репозитория по умолчанию.

  1. На GitHubперейдите на главную страницу репозитория.

  2. Над списком **** файлов выберите раскрывающееся меню , а затем щелкните Создать новый файл.

    Кроме того, можно щелкнуть в представлении дерева файлов слева.

    Снимок экрана: главная страница репозитория с выделением значка "Добавить файл" и значком "плюс", описанным выше, с оранжевым контуром.

  3. В поле имени файла введите .github/ISSUE_TEMPLATE/config.yml.

  4. В тексте нового файла введите содержимое вашего файла конфигурации.

  5. Нажмите кнопку " Зафиксировать изменения" ...

  6. В поле "Фиксация сообщения" введите короткое понятное сообщение фиксации, описывающее изменения, внесенные в файл. В таком сообщении фиксацию можно отнести к нескольким авторам. Дополнительные сведения см. в разделе Создание фиксации с несколькими авторами.

  7. Под полями сообщения о фиксации укажите, куда следует добавить фиксацию: в текущую ветвь или в новую. Если текущей ветвью является ветвь по умолчанию, нужно создать новую ветвь для фиксации, а затем создать запрос на вытягивание. Дополнительные сведения см. в разделе Создание запроса на включение изменений.

    Снимок экрана: запрос на вытягивание GitHub с переключателем для фиксации непосредственно в главной ветви или создания новой ветви. Выбрана новая ветвь.

  8. Нажмите кнопку Зафиксировать изменения или Предложить изменения.

Изменение порядка шаблонов

Вы можете задать порядок, в котором шаблоны проблем будут отображаться в параметров шаблона, внося изменения в имена файлов шаблона. Шаблоны в .github/ISSUE_TEMPLATE списке буквенно-цифровые и группируются по типам файлов, а файлы YAML отображаются перед файлами Markdown.

Чтобы управлять порядком шаблонов, префиксируйте имена файлов числом. Например: 1-bug.yml, 2-feature-request.ymlи 3-epic.yml.

Если у вас есть 10 или более шаблонов, буквенно-цифровое упорядочение означает, что 11-bug.yml оно будет расположено между 1-feature.yml и 2-support.yml. Вы можете сохранить предполагаемое упорядочение, префиксируя числовые имена файлов с дополнительным 0. Например: 01-feature.yml, 02-support.ymlи 11-bug.yml.

Дополнительные материалы