Skip to main content

Автоматическое создание заметок о выпуске

Вы можете автоматически генерировать заметки к релизам для ваших релизов на GitHub

Кто может использовать эту функцию?

Repository collaborators and people with write access to a repository can generate and customize automated release notes for a release.

Сведения об автоматическом создании заметок о выпуске

Автоматическое создание заметок о выпуске — это альтернатива написанию заметок о выпуске на GitHub вручную. С помощью этой функции можно быстро создавать обзор содержимого выпуска. Автоматически созданные заметки о выпуске включают список объединенных запросов на вытягивание, список участников выпуска и ссылку на полный журнал изменений.

Автоматические заметки о выпуске можно также настроить с помощью меток, который позволяют создать пользовательские категории для упорядочения включаемых запросов на вытягивание. Кроме того, можно исключить определенные метки и пользователей из выходных данных.

Автоматическое создание заметок о выпуске для нового выпуска

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

  2. Справа от списка файлов щелкните Выпуски.

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

  3. В верхней части страницы нажмите кнопку "Черновик" нового выпуска.

  4. Чтобы выбрать тег выпуска, выберите раскрывающееся меню " Выбрать тег ".

    • Чтобы использовать существующий тег, щелкните тег.
    • Чтобы создать новый тег, введите номер версии для выпуска и нажмите кнопку "Создать новый тег".
  5. Если вы создали новый тег, выберите раскрывающееся меню "Целевой объект", а затем щелкните ветвь, содержащую проект, который вы хотите освободить.

  6. При необходимости над полем описания выберите раскрывающееся меню "Предыдущий тег ", а затем выберите тег, определяющий предыдущий выпуск.

    Снимок экрана: форма "Новый выпуск". Раскрывающееся меню с надписью "Предыдущий тег: авто", выделено оранжевым контуром.

  7. В поле "Название выпуска" введите название выпуска.

  8. Над полем описания нажмите кнопку "Создать заметки о выпуске".

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

  10. Если в выпуск необходимо включить двоичные файлы, например скомпилированные программы, перетащите или вручную выберите файлы в области двоичных файлов.

  11. При необходимости, чтобы уведомить пользователей о том, что выпуск не готов к рабочей среде и может быть неустойчивым, выберите это предварительная версия.

  12. При необходимости выберите "Задать в качестве последнего выпуска". Если этот параметр не выбран, последняя метка выпуска будет автоматически назначена на основе семантического управления версиями.

  13. При необходимости, если для репозитория включен параметр GitHub Discussions, создайте обсуждение выпуска.

    • Выберите " Создать обсуждение" для этого выпуска.
    • Выберите раскрывающееся меню "Категория", а затем выберите категорию для обсуждения выпуска.
  14. Если вы готовы опубликовать выпуск, нажмите кнопку Опубликовать выпуск. Чтобы поработать над релизом позже, нажмите «Сохранить черновик». Если вы включили иммутабельные релизы для репозитория, создание черновика сначала позволяет прикрепить все ассеты до того, как релиз станет неизменным. Затем вы можете просмотреть опубликованные или черновики выпусков в веб-канале выпусков для репозитория. Дополнительные сведения см. в разделе Просмотр выпусков и тегов репозитория.

Настройка автоматически созданных заметок о выпуске

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

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

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

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

  3. В поле имени файла введите .github/release.yml. При этом будет создан новый файл, который вызывается release.yml в каталоге .github .

  4. Используя приведенные ниже параметры конфигурации, укажите в коде YAML файла метки запросов на вытягивание и авторов, которых следует исключить из этого выпуска. Вы также можете создать новые категории и перечислить метки запросов на вытягивание, которые должны быть включены в каждую из них.

Варианты конфигурации

ПараметрОписание
changelog.exclude.labelsСписок меток, исключающих запрос на вытягивание из заметок о выпуске.
changelog.exclude.authorsСписок дескрипторов входа пользователей или ботов, запросы на вытягивание которых должны быть исключены из заметок о выпуске.
changelog.categories[*].title
          **Обязательно**. Название категории изменений в заметках о выпуске. |

| changelog.categories[*].labels| Обязательно. Метки, которые относят запрос на вытягивание к этой категории. Символу * будут соответствовать все запросы на вытягивание, которые не относятся ни к одной из предыдущих категорий. | | changelog.categories[*].exclude.labels | Список меток, исключающих запрос на вытягивание из данной категории. | | changelog.categories[*].exclude.authors | Список дескрипторов входа пользователей или ботов, запросы на вытягивание которых должны быть исключены из данной категории. |

Примеры конфигураций

Конфигурация для репозитория, который метки выпусков semver

YAML
# .github/release.yml

changelog:
  exclude:
    labels:
      - ignore-for-release
    authors:
      - octocat
  categories:
    - title: Breaking Changes 🛠
      labels:
        - Semver-Major
        - breaking-change
    - title: Exciting New Features 🎉
      labels:
        - Semver-Minor
        - enhancement
    - title: Other Changes
      labels:
        - "*"

Конфигурация для репозитория, который не помечает запросы на вытягивание, но где мы хотим разделить Dependabot автоматические запросы на вытягивание в заметках о выпуске (labels: '*' требуется для отображения категории catchall)

YAML
# .github/release.yml

changelog:
  categories:
    - title: 🏕 Features
      labels:
        - '*'
      exclude:
        labels:
          - dependencies
    - title: 👒 Dependencies
      labels:
        - dependencies

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