Связывание коммитов GitHub и pull-запросов с рабочими элементами в Azure Boards — обновление Sprint 144

В обновлении Sprint 144 Azure DevOps мы продолжаем расширять интеграцию с GitHub. Теперь вы сможете связать коммиты GitHub и пулл-реквесты с рабочими элементами в Azure Boards. Подключив GitHub и Azure Boards, вы можете получить широкие возможности управления проектами с доступом к функциям, таким как невыполненные работы, доски, средства планирования спринтов и несколько типов рабочих элементов.

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

Функции

Azure Boards:

Azure Repos.

Azure Pipelines.

Артефакты Azure:

Общие сведения:

Вики

Администрация:

Azure Boards

Teams, использующие GitHub для кода и желающие получить широкие возможности управления проектами, теперь могут интегрировать свои репозитории с Azure Boards. Подключив GitHub и Azure Boards, вы можете получить все функции, такие как невыполненные работы, доски, средства планирования спринта, несколько типов рабочих элементов и по-прежнему имеют рабочий процесс, который интегрируется с рабочими процессами разработчиков в GitHub.

Связывание коммитов и пулл-реквестов с рабочими элементами просто. Укажите рабочий элемент с помощью следующего синтаксиса:

AB#{work item ID}

Упомяните рабочий элемент в сообщении коммита, заголовке pull request или описании pull request, и Azure Boards создаст ссылку на этот артефакт. Например, рассмотрим такое сообщение коммита:

Adds support for deleting connections. Fixes AB#20.

Это создаст ссылку из рабочего элемента #20 на фиксацию в GitHub, которая появится в разделе разработки рабочего элемента. ​

Ссылка из рабочего элемента на коммит.

Если слова "исправление", "исправления" или "исправлены" предшествуют упоминанию рабочего элемента (как показано выше), рабочий элемент будет перемещен в состояние завершено, когда коммит объединен с ветвью по умолчанию.

Команды, работающие с Azure Pipelines для сборки кода в GitHub, также увидят рабочие элементы, связанные с их коммитами в GitHub, в сводке сборки.

Приобретение Azure Boards в качестве службы

Теперь Azure Boards можно легко получить и использовать в качестве собственной службы. Независимо от того, находится ли ваш код в Azure Repos или GitHub, вы можете быстро приступить к работе, выбрав https://www.azure.com/boardsкоманду "Начало работы с Досками Azure". Новые пользователи получат проект, включающий только Azure Boards, а также вводный курс, чтобы помочь им быстро начать работу.

Начало работы с Azure Boards.

Azure Repos

Повторное выполнение просроченной сборки для автозаполнения пулл-запросов

Azure Repos теперь автоматически будут ставить в очередь сборки с истекшим сроком действия, которые были инициированы политикой pull request. Это относится к пул-реквестам, которые соответствуют всем другим политикам и настроены для автоматического завершения. Ранее, когда pull-запросы имели такие политики, как обязательные рецензенты, процесс утверждения мог занять слишком много времени, и связанная сборка могла истечь до того, как рецензент утвердил запрос. Если для запроса на вытягивание установлено автозавершение, он останется заблокированным до тех пор, пока пользователь вручную не поставит в очередь истекшую сборку. При этом изменении сборка будет автоматически помещена в очередь, чтобы запрос на вытягивание автоматически завершался после успешной сборки.

Замечание

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

Azure Pipelines (система конвейеров Azure)

Управление выпусками GitHub с помощью конвейеров

Выпуски GitHub — это отличный способ упаковки и предоставления пользователям программного обеспечения. Мы рады сообщить, что теперь вы можете автоматизировать процесс с помощью задачи выпуска GitHub в Azure Pipelines. С помощью задачи можно создать новый выпуск, изменить существующие черновики или опубликованные выпуски или отменить старые. Она поддерживает такие функции, как отправка нескольких ресурсов, маркировка выпуска как предварительная версия, сохранение выпуска в виде черновика и многое другое. Эта задача также помогает создавать примечания к выпуску. Он также может автоматически вычислить изменения (фиксации и связанные проблемы), внесенные в этом выпуске, и добавить их в заметки о выпуске в удобном для пользователя формате.

Ниже приведен простой YAML для задачи:

task: GithubRelease@0 
displayName: 'Create GitHub Release'      
inputs:
  githubConnection: zenithworks
  repositoryName: zenithworks/pipelines-java
  assets: $(build.artifactstagingdirectory)/*.jar

Задача GitHub по выпуску.

Пример выпуска GitHub, созданный с помощью этой задачи:

Образец релиза GitHub.

Расширение VS Code для конвейеров на основе YAML

Чтобы ускорить процесс написания кода, мы добавили расширение VS Code для конвейеров YAML. Расширение поддерживает выделение синтаксиса и IntelliSense (завершение кода) для проверки правильности структуры файла и использования допустимых ключевых слов. Кроме того, он также поддерживает встроенные задачи и может проверить необходимые входные данные.

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

Веб-редактор с IntelliSense для конвейеров YAML

Если вы используете YAML для определения конвейеров, теперь вы можете воспользоваться новыми функциями редактора, представленными в этом выпуске. Независимо от того, создаете ли вы новый конвейер YAML или редактируете существующий конвейер YAML, вы сможете изменить файл YAML в веб-редакторе конвейера. При редактировании YAML-файла используйте поддержку CTRL+SPACE для IntelliSense. Вы увидите выделенные синтаксические ошибки, а также получите справку по исправлению этих ошибок.

Веб-редактор для конвейеров YAML.

Интеграция управления изменениями ServiceNow

Устранение задержек в рабочих развертываниях с помощью простой интеграции с ServiceNow. Azure Pipelines в партнерстве со ServiceNow объявляет общедоступную доступность расширения ServiceNow Change Management, что позволяет конвейерам выпуска учитывать процесс управления изменениями в ServiceNow.

Используя ServiceNow Change Management в качестве шлюза выпуска, можно инициировать процесс управления изменениями в ServiceNow и удерживать конвейер между двумя этапами, пока изменение не будет готово к реализации.

Управление изменениями ServiceNow

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

Интеграция Между ServiceNow и Azure Pipelines.

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

Ссылка на определенные строки в журнале сборки.

Укажите многоплатформенный поток обработки в одном файле

Azure Pipelines предлагает размещенные пулы для агентов операционных систем Linux, macOS и Windows. Ранее, чтобы повторно использовать одни и те же шаги конвейера во всех трех размещаемых пулах, вам нужно было задать ваши шаги в отдельном файле шаблона. Мы удалили это требование, чтобы разрешить указать многоплатформенный конвейер и стратегию матрицы в одном файле:

strategy:
  matrix:
    win:
      vm: windows-latest
    mac:
      vm: macOS-latest
    linux:
      vm: ubuntu-latest

pool:
  vmImage: $(vm)

steps:
- script: npm install
- script: npm run test

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

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

Автоматическое повторное развертывание при сбое.

Azure Artifacts

Общедоступная предварительная версия PyPI

Теперь артефакты Azure могут размещать пакеты Python. Сюда входят создаваемые вами пакеты и внешние пакеты, сохраненные с общедоступного PyPI. Дополнительные сведения см. в записи блога объявлений и документации.

Теперь вы можете разместить все ваши пакеты NuGet, npm, Maven, Python и Universal в одном канале.

Размещение пакетов Python.

General

Портал состояния служб

Мы добавили новый сайт состояния сервиса Azure DevOps, который обеспечит лучший опыт для отслеживания работоспособности наших сервисов. Если у вас возникла проблема с любой из наших служб, вы можете проверить работоспособность службы здесь.

Портал состояния сервисов.

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

Вики

Шаблоны Markdown для формул и видео

При редактировании вики-сайта больше не требуется запоминать синтаксис Markdown для добавления формул, видео и тегов YAML. Теперь можно щелкнуть контекстное меню на панели инструментов и выбрать нужный вариант.

Шаблоны Markdown для формул и видео.

Administration

Восстановление удаленных проектов

В этом выпуске мы добавили возможность восстановления удаленных проектов. По состоянию на сегодняшний день пользователи с разрешением на удаление проекта могут восстановить удаленные проекты через наши REST API. Для этого создайте запрос на обновление проекта с { "state" : "wellFormed" }. В будущей версии мы добавим пользовательский интерфейс, который будет доступен на странице общего обзора организации. Дополнительные сведения о REST API см. в документации.

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

GET https://dev.azure.com/{organization}/_apis/projects?stateFilter=deleted&api-version=5.0-preview.3

Чтобы восстановить удаленный проект, используйте следующий запрос.

PATCH https://dev.azure.com/{organization}/_apis/projects/{projectId}?api-version=5.0-preview.3

Тело запроса

{
    "state" : "wellFormed"
}

Замечание

Для восстановления удаленного проекта потребуется только 28 дней. Через 28 дней проект будет окончательно удален.

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

Замечание

Эти функции будут развернуты в течение следующих двух-трех недель.

Ознакомьтесь с новыми функциями, приведенными ниже, и перейдите к Azure DevOps, чтобы попробовать их самостоятельно.

Как предоставить отзыв

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

Внести предложение

Вы также можете получить советы и ответы на ваши вопросы от сообщества на Stack Overflow.

Спасибо

Аарон Бьорк