Картинка для привлечения внимания

Вышел релиз GitLab 17.10 с новыми фичами Duo Code Review и Root Cause Analysis

Мы с радостью объявляем о новом релизе GitLab 17.10 с бета-версией Duo Code Review, анализатором ошибок Root Cause Analysis для GitLab Duo с самостоятельным хостингом, бета-версией представлений в GitLab Query Language (GLQL), новыми метриками DORA для визуализации производительности DevOps и многими другими фичами!

Это лишь несколько из более 120 улучшений, добавленных в этом релизе. Читайте дальше, чтобы узнать обо всех основных изменениях.

Мы благодарны сообществу GitLab за более чем 205 изменений, которые вы внесли в релиз 17.10!

Основные улучшения в GitLab 17.10

Бета-версия Duo Code Review

(SaaS: ULTIMATE, DUO ENTERPRISE; self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: Create

Ревью кода — это один из основных этапов разработки ПО. Оно обеспечивает поддержку и улучшение качества и безопасности кода в результате внесения изменений в проект. В процессе ревью разработчики делятся своим опытом и дают фидбек. Также это одно из самых трудоёмких действий в процессе разработки ПО.

Ревью кода от GitLab Duo — это следующая ступень эволюции процесса ревью кода.

Duo Code Review поможет ускорить ваш процесс разработки ПО. Когда Duo Code Review выполняет предварительное ревью вашего мерж-реквеста, оно может выявить потенциальные ошибки и предложить дальнейшие улучшения, причём некоторые из них вы можете принимать прямо в вашем браузере. Используйте Duo Code Review, чтобы улучшить ваш код до того, как его будет оценивать ревьюер.

Попробуйте эту фичу:

Вы можете следить за дальнейшим развитием Duo Code Review в эпике 13008 и связанных дочерних эпиках. Фидбек можно оставить в тикете 517386.

https://youtu.be/FlHqfMMfbzQ

Документация по ревью при помощи Duo Code Review и оригинальный эпик.

Анализатор ошибок Root Cause Analysis доступен для Gitlab Duo с самостоятельным хостингом

(self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: AI-powered Теперь вы можете использовать фичу анализа причин неудачного завершения заданий (GitLab Duo Root Cause Analysis) в GitLab Duo с самостоятельным хостингом. Эта фича доступна в бета-версии для инстансов GitLab с самостоятельным управлением в и с поддержкой GitLab Duo. Она позволяет работать с GPT-моделями семейств Mistral, Anthropic и OpenAI. Благодаря самостоятельному хостингу GitLab Duo вы можете быстрее искать ошибки в заданиях CI/CD, завершившихся с ошибкой, не жертвуя при этом безопасностью данных. Root Cause Analysis анализирует лог задания, быстро определяет причину ошибки и предлагает исправление. Мы будем рады вашему фидбеку по этой фиче. Вы можете оставить его в тикете 523912. Документация по возможностям GitLab Duo и оригинальный эпик.

Root Cause Analysis available on Gitlab Duo Self-Hosted

Бета-версия создания представлений с GitLab Query Language

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan

Чтобы следить за всеми находящимися в работе задачами по всему GitLab, вам приходится переключаться между несколькими локациями, что снижает эффективность работы команды и отнимает много времени. В этом релизе мы добавили в GitLab Query Language (GLQL) бета-версию создания представлений, которые помогут вам отслеживать работу в реальном времени, не выходя за рамки существующих рабочих процессов. Представления GLQL встраивают запросы к данным в реальном времени в формате markdown-кода в вики-страницы, описания эпиков, комментарии к тикетам и мерж-реквесты. Эта фича ранее была экспериментальной, а теперь становится доступной в бета-версии. В ней добавлена поддержка сложной фильтрации при помощи логических выражений и операторов по ключевым полям, таким как assignee (исполнитель), author (автор), label (метка) и milestone (майлстоун). Вы можете выбрать в качестве представления таблицу или список, выбрать отображаемые поля и настроить ограничения, чтобы ваша команда получала точечные и применимые инсайты. Таким образом команды смогут получать нужную информацию, не теряя представление о текущем контексте, что способствует общему пониманию и более продуктивной совместной работе, и всё это — в рамках их рабочего процесса. Мы будем рады вашему фидбеку по представлениям GLQL по мере того, как мы продолжаем развивать эту фичу.

https://youtu.be/CML0hefVwSA

Документация по представлениям GLQL и оригинальный эпик.

Улучшения GitLab Flavored Markdown

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan Мы добавили в GitLab Flavored Markdown несколько крутых улучшений:

Enhanced markdown experience

Бета-версия нового дизайна тикетов

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan Тикеты теперь работают в рамках единого фреймворка с эпиками и заданиями, что включает в себя обновления в реальном времени и улучшения рабочего процесса:

New issues look now in beta

Шаблоны описаний для эпиков, тикетов, задач, целей и ключевых результатов

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan Теперь вы можете использовать шаблоны описаний рабочих элементов GitLab (эпиков, задач, целей и ключевых результатов), чтобы оптимизировать свой рабочий процесс и поддерживать единообразие во всех своих проектах. Эта новая фича позволит вам создать стандартные шаблоны основных рабочих элементов. В шаблонах будет вся важная информация, и вам не придётся тратить лишнее время на повторное заполнение. Документация по шаблонам описаний и оригинальный эпик.

Description templates for epics, issues, tasks, objectives and key results

Другие улучшения в GitLab 17.10

Групповое редактирование элементов списка to-do

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Foundations Теперь управлять вашими списками to-do стало намного удобнее с нашей расширенной фичей группового редактирования. Вы можете выбрать несколько элементов в списке to-do и отметить их как завершённые или отложить одним кликом. Это упростит вам управление своими задачами и организацию рабочего процесса.

Bulk edit to-do items

Документация по групповому редактированию элементов в списке to-do и оригинальный тикет.

Возможность отключить уведомления для списка to-do

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Foundations Теперь вы можете отключить уведомления по заданиям из списка to-do, что позволит временно скрыть эти задания и сфокусироваться на более важных на данный момент вещах. Вы можете отключить уведомления хоть на час, хоть на день, или точно настроить, через какое время уведомления они снова будут отображаться.

Snooze to-do items Документация по отключению уведомлений и оригинальный тикет.

Аутентификация на приватных страницах Pages с токенами доступа

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan

You can now authenticate to private GitLab Pages sites programmatically using access tokens, making it easier to automate interactions with your Pages content. Previously, accessing restricted Pages sites required interactive authentication through the GitLab UI. Ранее для получения доступа к приватным страницам Pages требовалось выполнять аутентификацию через графический интерфейс. Теперь аутентификацию можно выполнять с использованием токенов доступа. Это упростит автоматизацию взаимодействия с содержимым этих страниц и его распространения, предоставляя разработчикам больше гибкости и повышая продуктивность их работы, но, в то же время, сохраняя безопасность данных. Документация по аутентификации на GitLab Pages с токенами доступа и оригинальный тикет.

Настройки правил склейки (squash) коммитов в правилах ветки

(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create Для разных рабочих процессов Git требуются разные стратегии решения конфликтов при мерже коммитов из разных веток. В предыдущих версиях GitLab вы могли задать только одну стратегию, которая определяла, нужно ли склеивать коммиты при мерже и насколько строго это должно выполняться. Такая настройка могла вызывать ошибки или требовать от разработчиков принятия определённых решений, чтобы следовать единому соглашению по работе с разными целевыми ветками данного проекта. Теперь вы можете настроить правила склейки (squash) коммитов для каждой защищённой ветки проекта через правила ветки. Например, можно задать:

Документация по настройке правил склейки коммитов и оригинальный эпик.

Исключения путей в файле CODEOWNERS

(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create Когда команды выполняют настройку файла CODEOWNERS, зачастую в него включают записи с шаблоном наиболее широкого поиска путей и файлов. Это может вызывать проблемы, если ваша документация, файлы автоматической сборки или другие элементы проекта не требуют наличия определённого владельца кода. Теперь вы можете задать в файле CODEOWNERS исключения, чтобы игнорировать определённые пути. Это может быть полезно, если вам нужно исключить определённые файлы или пути, чтобы они не требовали подтверждения от владельца кода.

Path exclusions for CODEOWNERS Документация по шаблонам исключений в файле CODEOWNERS и оригинальный тикет.

Аутентификация в прокси-сервере зависимостей GitLab через Docker Hub

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package

Прокси-сервер зависимостей GitLab для образов контейнеров теперь поддерживает аутентификацию с помощью Docker Hub, что поможет избежать сбоев конвейера из-за ограничений скорости и предоставит доступ к приватным образам контейнеров. Начиная с 1 апреля 2025 года Docker Hub будет применять более строгие ограничения на пулл (10 пуллов на один IP-адрес) для неаутентифицированных пользователей. Без аутентификации ваши конвейеры могут завершиться неудачно, как только эти лимиты будут превышены. Начиная с этого релиза, вы сможете настроить аутентификацию через Docker Hub при помощи API GraphQL, используя ваши учётные данные Docker Hub, личный токен доступа или токены доступа организации. Поддержка соответствующей настройки пользовательского интерфейса будет доступна в GitLab 17.11. Документация по аутентификации через Docker Hub и оригинальный тикет.

Настраиваемый срок действия токена при использовании поставщика OIDC от GitLab

(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

При использовании GitLab в качестве поставщика OpenID Connect (OIDC) теперь можно настроить срок действия ID-токенов с помощью атрибута id_token_expiration. Раньше они действовали 120 секунд.

Документация по настройке срока действия ID-токенов и оригинальный тикет.

Идентификация и отзыв токенов с помощью API

(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

Администраторы GitLab теперь могут использовать единый API для идентификации и отзыва токенов. Раньше администраторам приходилось использовать отдельные конечные точки, связанные с определённым типом токена. Этот API позволяет отзывать токены независимо от их типа. Список поддерживаемых типов токенов можно найти в API информации о токенах.

Документация по API информации о токенах и оригинальный эпик.

Выбор дефолтного фреймворка соответствия из выпадающего списка на странице «Фреймворки»

(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

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

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

Документация по настройке фреймворка по умолчанию в центре соответствия и оригинальный эпик.

Более широкое распространение уведомлений об истечении срока действия токена

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

Раньше письма с уведомлением об истечении срока действия токена доступа отправлялись только непосредственным участникам группы и проекта, в которых истекал срок действия токена. Теперь эти уведомления также отправляются унаследованным участникам группы и проекта, если эта настройка включена. Такое более широкое распространение упрощает управление токеном до истечения срока действия.

Документация по настройке уведомлений о токенах для групп и проектов и оригинальный тикет.

Возможность менять размер чата GitLab Duo

(SaaS: PREMIUM, ULTIMATE, DUO PRO, DUO ENTERPRISE; self-managed: PREMIUM, ULTIMATE, DUO PRO, DUO ENTERPRISE) Стадия цикла DevOps: Software Supply Chain Security

В пользовательском интерфейсе GitLab теперь можно изменять размер панели Duo Chat. Это облегчает просмотр кода или позволяет держать чат открытым во время работы с GitLab в фоновом режиме.

GitLab Duo Chat is now resizable

Документация по настройке интерфейса чата GitLab Duo и оригинальный тикет.

Управление несколькими обсуждениями в чате GitLab Duo

(SaaS: PREMIUM, ULTIMATE, DUO PRO, DUO ENTERPRISE) Стадия цикла DevOps: AI-powered

Поддерживать контекст между различными темами в чате GitLab Duo теперь стало проще: появилась возможность одновременно вести несколько обсуждений. Можно создавать новые обсуждения, просматривать их историю и переключаться между ними.

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

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

Для обеспечения конфиденциальности, обсуждения, в которых вы не участвовали в течение 30 дней, автоматически удаляются. Также вы в любое время можете вручную удалить любое обсуждение.

В настоящее время эта фича доступна только в веб-интерфейсе GitLab.com. Она недоступна в инстансах GitLab с самостоятельным управлением или в интеграциях с IDE.

Поделитесь с нами своим опытом в тикете 526013.

https://youtu.be/h9ooN05cNbw

Документация по поддержке нескольких обсуждений в чате GitLab Duo и оригинальный эпик.

Новая навигация по проектам в разделе «Ваша работа»

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Tenant Scale

Мы рады объявить о значительных улучшениях обзора проектов в разделе Ваша работа (Your Work), где упростились поиск и доступ к вашим проектам. В этом обновлении представлена более интуитивная система навигации на основе вкладок, которая лучше отражает то, как пользователи взаимодействуют со своими проектами.

Кроме того, если у вас есть соответствующие права, вы теперь можете редактировать или удалять проекты непосредственно из обзора проектов Ваша работа. Эти изменения отражают наше стремление создать более эффективный и удобный интерфейс GitLab. Новый дизайн помогает вам сосредоточиться на проектах, которые наиболее важны для вашей работы, и быстрее перемещаться между различными категориями проектов.

Мы ценим ваши отзывы об этом обновлении! Присоединяйтесь к обсуждению в эпике 16662, и делитесь впечатлениями о новой навигации.

New navigation experience for projects in Your Work

Документация по работе с проектами и оригинальный тикет.

Переназначение с помощью CSV-файла

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Foundations

В этом релизе отображение вкладов пользователей теперь поддерживает массовое переназначение с помощью CSV-файла. Если у вас большая база пользователей с большим количеством «пользователей-заглушек», участники группы с ролью Owner могут:

  1. Загрузить предварительно заполненный CSV-шаблон.

  2. Добавить имена пользователей GitLab или публичные адреса email из целевого инстанса.

  3. Загрузить готовый файл, чтобы переназначить все вклады сразу.

Этот метод избавляет от утомительного ручного переназначения через пользовательский интерфейс. Чтобы ещё больше упростить крупномасштабные миграции, теперь также доступна поддержка API для переназначения на основе CSV.

Документация по запросам переназначения с помощью CSV-файла и оригинальный эпик.

Временные метки создания «пользователей-заглушек»

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Foundations

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

Документация по атрибутам «пользователей-заглушек» и оригинальный тикет.

Возможность отслеживать тренды использования автодополнений кода и чата GitLab Duo по месяцам

(SaaS: ULTIMATE, DUO ENTERPRISE; self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: Plan

Панель сравнения метрик на панели влияния ИИ (AI Impact Dashboard) теперь обеспечивает отслеживание по месяцам (MoM) для метрик процента принятия автодополнений кода в GitLab Duo и использования чата GitLab Duo (MoM%). Эти новые основанные на тенденциях инсайты дополняют существующие плашки для автодополнений кода и чата Duo, которые предоставляют 30-дневный снимок этих показателей. С помощью этих дополнительных показателей менеджеры могут лучше измерять влияние ИИ на свои процессы разработки программного обеспечения и выявлять закономерности, сравнивая процент принятия Code Suggestions и использование Duo Chat с другими показателями SDLC с течением времени.

New insights into GitLab Duo Code Suggestions and GitLab Duo Chat trends

Документация по аналитике использования ИИ и оригинальный тикет.

Возможность игнорировать определённые ревизии в Git blame

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create

При просмотре истории репозитория могут быть коммиты, которые не имеют отношения к значимым изменениям в проекте. Это может произойти во время:

Когда вы просматриваете историю проекта с помощью git blame, такие коммиты мешают понимать произошедшие изменения. Git поддерживает идентификацию таких коммитов с помощью файла .git-blame-ignore-revs в вашем проекте. Теперь GitLab позволяет переключать представление результата git blame, чтобы показывать или скрывать эти ревизии в выпадающем списке «Настройки blame» (“Blame preferences”), что упрощает понимание истории вашего проекта.

Документация по настройке просмотра git blame и оригинальный эпик.

В реестр пакетов добавили события аудита

(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Package

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

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

События аудита для проектов хранятся либо в пространстве имён группы, либо в самом проекте для отдельных владельцев проектов. Группы могут отключать события аудита, чтобы сэкономить место в хранилище.

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

Дополнительные вебхук-триггеры для токенов с истекающим сроком действия

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

Теперь можно создавать вебхуки, которые будут срабатывать за 60 и 30 дней до истечения срока действия токена доступа проекта или группы. Раньше эти события вебхука инициировались только за 7 дней до истечения срока действия. Это необязательный параметр, который соответствует существующему расписанию уведомлений по email для токенов с истекающим сроком действия.

Документация по вебхук-триггерам для токенов с истекающим сроком действия и оригинальный тикет.

Сопоставление атрибутов профиля OmniAuth с пользователем

(self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

Теперь можно сопоставить атрибуты Organization и Title профиля из провайдера удостоверений OmniAuth (IdP) с профилем пользователя GitLab. Это позволяет IdP быть единственным источником достоверной информации для этих атрибутов, и пользователи больше не смогут их изменять.

Документация по обновлению профилей пользователей OmniAuth и оригинальный тикет.

Улучшены настройки разрешений на создание проектов

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Tenant Scale

Мы улучшили настройки разрешений на создание проектов, чтобы они были более интуитивно понятными и соответствовали нашим принципам безопасности. Вот некоторые из этих улучшений:

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

Improved project creation permission settings

Документация по настройке того, какие роли могут создавать проекты и оригинальный тикет.

Модели Meta Llama 3 доступны для самостоятельного развертывания и использования с автодополнениями кода и чатом GitLab Duo

(self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: AI-powered

Теперь можно использовать некоторые модели Meta Llama 3 с GitLab Duo с самостоятельным управлением. Эти модели находятся в стадии бета-тестирования для GitLab Duo с самостоятельным управлением, для поддержки чата GitLab Duo и автодополнения кода (Code Suggestions).

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

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

Выбор моделей для ИИ-фич в GitLab Duo с самостоятельным управлением

(self-managed: ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: AI-powered

В GitLab Duo с самостоятельным управлением теперь можно выбирать отдельные поддерживаемые модели для каждой функции чата GitLab Duo на вашем инстансе с самостоятельным управлением. Выбор и настройка моделей для функций чата Duo сейчас находятся в бета-версии.

Чтобы оставить отзыв, перейдите в тикет 524175.

Select models for AI-powered features on GitLab Duo Self-Hosted

Документация по настройке фич Duo для инстансов с самостоятельным управлением и оригинальный тикет.