Skip to main content

О качестве кода на GitHub

GitHub Code Quality Отмечает проблемы с качеством кода в pull requests и сканировании репозиториев, применяет Copilotавтофиксы на базе -и обеспечивает соблюдение стандартов с помощью наборов правил.

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

GitHub Team или GitHub Enterprise Cloud

Примечание.

          GitHub Code Quality сейчас доступен Публичный предварительный просмотр и станет доступен в общем доступе 20 июля 2026 года.

Во время Публичный предварительный просмотр, Code Quality счета не будет, хотя Code Quality сканирование займёт GitHub Actions несколько минут. С 20 июля 2026 года использование будет взимать плату. См . раздел AUTOTITLE.

Обзор

GitHub Code Quality Это помогает убедиться, что ваша кодовая база надёжна, поддерживаемая и эффективная. Будь то создание новой функции, снижение технической задолженности или отчётность о состоянии репозитория, Code Quality программа предоставляет практические инсайты и автоматизированные исправления, чтобы вы могли эффективно улучшать и поддерживать состояние кода вашего репозитория.

Ключевые функции и преимущества

С помощью Code Quality:

  • Выявляйте риски и возможности для качества кода в запросах на вытягивание и с помощью сканирования репозитория.
  • Прочитайте чёткие объяснения находок и применяйте автофиксы с помощью одного кликаCopilot.
  • Используйте панели мониторинга репозитория для отслеживания показателей надежности и удобства обслуживания, выявления областей, требующих внимания, и определения приоритетов для исправления.
  • Отслеживайте панели управления организации, чтобы быстро понять состояние кода ваших репозиториев и определить, какие репозитории стоит исследовать дальше.
  • Настройте наборы правил для запросов на вытягивание, чтобы обеспечить соблюдение стандартов качества кода и заблокировать изменения, которые не соответствуют вашим критериям. Вы также можете устанавливать пороги покрытия с помощью правил, блокирующих pull request, которые не соответствуют минимальному проценту покрытия или вызывают снижение покрытия более чем разрешено.
  • Загружайте отчёты о покрытии кода , чтобы видеть метрики покрытия тестов непосредственно в pull requests, помогая рецензентам выявлять непроверенный код.
  • Легко назначьте работы по восстановлению , Copilot облачный агент если у вас есть Copilot лицензия.

Доступность и стоимость использования

GitHub Code Quality доступна для репозиториев, принадлежащих организациям, на GitHub Team и GitHub Enterprise Cloud планах.

GitHub Code Quality сейчас доступен Публичный предварительный просмотр и станет доступен в общем доступе 20 июля 2026 года. Во время Публичный предварительный просмотр, Code Quality сканирование займёт GitHub Actions несколько минут, но вам не будут выставлять счета за другое использование. С 20 июля 2026 года использование повлечёт дополнительные расходы. См . раздел AUTOTITLE.

Если хотите избежать штрафов, отключите Code Quality его до 20 июля 2026 года. См . раздел AUTOTITLE.

Примечание.

Вам не нужна CopilotCode Security лицензия или лицензия, чтобы использовать Code Quality или применять Copilotавтофиксы на базе данных.

Поддерживаемые языки

Code Quality выполняет анализ на основе правил следующих языков с использованием CodeQL:

  • C#
  • Go
  • Ява
  • JavaScript
  • Питон
  • Руби
  • Машинописный текст

Code Quality также выполняет анализ на базе ИИ, результаты которых отображаются отдельно на панели управления репозитория "Выводы ИИ" В отличие от анализа на CodeQL основе правил, который сканирует всю кодовую базу и pull requests, этот анализ на базе искусственного интеллекта рассматривает только файлы, недавно отправленные на стандартную ветку, и может выявлять проблемы на языках, выходящих за пределы вышеуказанных. Дополнительные сведения см. в разделе Карта приложения: функции безопасности GitHub и качества ИИ.

Где появятся результаты?

После включения Code Quality репозитория вы увидите CodeQL сканы для:

  • Каждый новый запрос на вытягивание, открытый в ветке по умолчанию
  • Все существующие запросы на вытягивание в ветвь по умолчанию при их обновлении, что запускает новый запуск тестов CI
  • Вся кодовая база на ветке по умолчанию на момент и дату, показанные на странице настроек "Качество кода"

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

Результаты запроса на вытягивание

Когда CodeQL вы находите проблемы с правилами в pull requests, вы увидите комментарии от github-code-quality[бот]. По возможности в каждом комментарии будет Автофикс второго пилота содержаться предложение по решению проблемы. См . раздел AUTOTITLE.

Если вы настроили покрытие кода, он github-code-quality[бот] также публикует сводку покрытия, показывающую совокупный процент покрытия для филиала PR по сравнению с стандартным. См . раздел AUTOTITLE.

Результаты ветви по умолчанию

Code Quality Результаты на ветке по умолчанию отображаются на страницах «Качество кода» во Security and quality вкладке репозитория:

  • Стандартные выводы показывает результаты CodeQL анализа качества. См . раздел AUTOTITLE.
  • Выводы ИИ показывает результаты анализа файлов с помощью искусственного интеллекта, недавно отправленных в ветку по умолчанию. См . раздел AUTOTITLE.

Информация о сканировании

Каждый CodeQL анализ будет использовать GitHub Actions минуты и отображаться на вкладке «Действия » репозитория как запуск динамического рабочего процесса «Качество кода».

Как работает включение в вашей организации

Code Quality управляется на трех уровнях, поэтому вы можете решить, сколько автономии предоставить организациям и репозиториям:

  • Предприятия: Владелец предприятия должен сначала разрешить Code Quality для предприятия. Пока они не будут делать, владельцы организации не могут включить его.
  • Организация: Владельцы организации контролируют, какие репозитории включили Code Quality или отключили, предоставив доступ ко всем репозиториям, выбранному списку или репозиториям, соответствующим фильтру. Они также могут применять эти параметры, чтобы администраторы репозитория не могли их изменить.
  • Репозиторий: Администраторы репозитория могут включать или отключать Code Quality для отдельных репозиториев, если не применяется принудительное применение на уровне организации.

Если Code Quality этот параметр включен в репозитории, CodeQL анализ выполняется через GitHub Actions и отображает результаты в запросах на вытягивание и в ветви по умолчанию. Разработчики видят проверки качества и заметки по запросам на вытягивание.

Доступ к репозиторию на уровне организации

На уровне организации вы управляете Code Quality одним параметром доступа к репозиторию . Этот параметр определяет, какие репозитории включены и какие из них отключены Code Quality : репозитории в выбранном выборе включены, а репозитории за пределами выбранного варианта отключены.

Внимание

Изменение параметра доступа к репозиторию может включать и отключать Code Quality одновременно множество репозиториев. Например, если включить Code Quality для репозиториев, соответствующих фильтру, любой репозиторий, который не соответствует фильтру, отключен. Перед применением изменения в диалоговом окне отображается общее количество включенных и отключенных репозиториев, а также влияние на выставление счетов.

Параметры доступа к репозиторию

Вы можете применить один из следующих вариантов одновременно.

ОпцияBehavior
Нет репозиториевОтключает все текущие и будущие репозитории Code Quality в организации.
Разрешить репозиториям решатьОрганизация не включает и не отключает Code Quality. Администраторы репозитория выбирают, следует ли включить его для собственных репозиториев. Этот параметр нельзя применить.
Все репозитории
Code Quality Включает для всех текущих и будущих репозиториев.
Выбранные репозитории
Code Quality Включает определенный список репозиториев, которые вы выбрали. Репозитории, которые не выбираются, отключены, а новые репозитории не включены автоматически. Лучше всего подходит для пилотов или исключений.
Сопоставление фильтра
Code Quality Включает для репозиториев, которые соответствуют определенному фильтру, теперь и в будущем. Репозитории, которые не соответствуют, отключены. См. статью "Фильтрация репозиториев".

Фильтрация репозиториев

При выборе сопоставления фильтра создается динамический фильтр, который автоматически включает Code Quality существующие и будущие репозитории, соответствующие вашим критериям. Это полезно для постоянного управления в масштабе.

Вы можете отфильтровать любое сочетание следующих критериев:

  • Видимость: Являются ли репозитории общедоступными, частными или внутренними. Полезно для широких политик, таких как включение Code Quality для всех частных репозиториев.
  • Состояние вилки: Являются ли репозитории вилками. Полезно, если вилки не должны использовать ресурсы анализа.
  • Пользовательское свойство: Имеет ли репозитории определенное значение пользовательского свойства. Например, можно использовать репозитории с team:platform помощью свойства.

Все условия в фильтре объединяются, ANDпоэтому репозиторий должен соответствовать каждому условию для включения. Вы также можете исключить репозитории, соответствующие определенным условиям.

Принудительное применение доступа

По умолчанию администраторы репозитория могут изменять Code Quality параметры для собственных репозиториев. Чтобы предотвратить это, включите принудительное доступ.

Блокировки принудительного применения в включенных и отключенных состояниях, заданных параметром доступа к репозиторию , поэтому администраторы репозитория не могут переопределить их. Это повышает согласованность в организации, но снижает гибкость для отдельных администраторов репозитория.

  • Принудительное применение применяется к большинству параметров доступа к репозиторию , которые вы выбираете, включая репозитории No, которые применяются Code Quality как отключенные.
  • Принудительное применение недоступно при принятии решения о том, что репозитории позволяют решить, что намеренно оставляет выбор администраторам репозитория.

Планирование развертывания

Так как включение может повлиять на несколько репозиториев одновременно, и каждый анализ потребляет Code Quality минуты, спланируйте GitHub Actions его развертывание в организации:

  • Начните с пилотной группы. Сначала включите небольшой репрезентативный набор репозиториев , например, выбрав их по отдельности или сопоставив пользовательское свойство, чтобы можно было проверить результаты перед расширением.
  • GitHub Actions Проверьте емкость. Убедитесь, что бегуники могут поглощать дополнительную нагрузку, прежде чем включить Code Quality широко.
  • Определите, следует ли применять включение. Принудительное применение обеспечивает согласованное покрытие и предотвращает отказ администраторов репозитория, но устраняет их гибкость. Выход из принудительного применения во время пилотного проекта позволяет командам отказаться от участия и выхода, как они учатся.
  • Разверните после того, как результаты являются доверенными. Убедившись, что анализ выполняется плавно, и разработчики понимают результаты, расширяйте выбор или фильтр, чтобы покрыть больше репозиториев.

Дальнейшие шаги

  • Для вашего репозитория или организации: Включите Code Quality , чтобы начать получать результаты. См . раздел AUTOTITLE.
  • Для вашего предприятия: Убедитесь, что репозитории в вашем бизнесе могут поддерживать Code Quality. См . раздел AUTOTITLE.