Ограничение переходов состояния рабочего элемента

После нескольких спринтов в предварительной версии мы объявляем общий выпуск правил ограничения перехода состояния для всех клиентов в рамках обновления Sprint 172.

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

Функции

Azure Boards

Azure Pipelines

Azure Artifacts

Azure Boards

Правила ограничения перехода состояния

После нескольких спринтов частной предварительной версии правила ограничения перехода состояния теперь общедоступны для всех клиентов. Это новое правило типа рабочего элемента позволяет ограничить перемещение рабочих элементов из одного состояния в другое. Например, можно ограничить переход с нового на разрешение ошибок. Вместо этого они должны перейти из New —> Active —> Resolved

В этом примере ошибки ограничиваются переходом из нового состояния в активное, а затем на

Вы также можете создать правило для ограничения переходов состояния по членству в группах. Например, только пользователи в группе "Утверждающие" могут перемещать истории пользователей из new -> Approved.

Копирование рабочего элемента для копирования дочерних элементов

Одним из наиболее запрошенных функций для Azure Boards является возможность копирования рабочего элемента, который также копирует дочерние рабочие элементы. В этом спринте мы добавили новый параметр "Включить дочерние рабочие элементы" в диалоговое окно копирования рабочего элемента. При выборе этот параметр будет копировать рабочий элемент и копировать все дочерние рабочие элементы (до 100).

На этой странице показан новый параметр в Azure Boards для включения дочерних рабочих элементов в скопированный рабочий элемент.

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

До сих пор правила для активированных, активированных дат, разрешенных и разрешенных дат были загадкой. Они задаются только для типов рабочих элементов системы и относятся к значению состояния "Активный" и "Разрешено". В спринте 172 мы изменили логику, чтобы эти правила больше не были для определенного состояния. Вместо этого они активируются категорией (категорией состояния), в которой находится состояние. Например, предположим, что у вас есть настраиваемое состояние "Запросы тестирования" в категории "Разрешено". При изменении рабочего элемента с "Активный" на "Требуется тестирование", активируются правила разрешенных и разрешенных дат.

Это позволяет клиентам создавать пользовательские значения состояния и создавать поля "Активированная дата", "Активированная дата", "Разрешено по" и "Разрешенная дата" без необходимости использовать пользовательские правила.

Системные типы рабочих элементов в невыполненных работах и досках (частная предварительная версия)

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

Обработка Тип рабочего элемента
Гибкая методика (Agile) Проблема
Scrum Препятствие
CMMI Запрос на изменение
Проблема
Отзыв
Риск

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

Используйте эту страницу Azure Boards, чтобы добавить ранее исключенные типы рабочих элементов в доски и невыполненные работы.

Если вы заинтересованы в предварительной версии этой функции, отправьте нам электронное письмо с именем вашей организации, и мы можем предоставить вам доступ.

Azure Pipelines

Эксклюзивная политика блокировки развертывания

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

На странице

Фильтры этапов для триггеров ресурсов конвейера

В этом спринте мы добавили поддержку "этапов" в качестве фильтра для ресурсов конвейера в YAML. С помощью этого фильтра вам не нужно ждать завершения всего конвейера CI, чтобы активировать конвейер CD. Теперь вы можете активировать конвейер CD после завершения определенного этапа в конвейере CI.

resources:
  pipelines:
  - pipeline: MyCIAlias  
    project: Fabrikam  
    source: Farbrikam-CI  
    trigger:    
      stages:            ### This stage filter is used when evaluating conditions for triggering your CD pipeline
      - PreProduction    ### stages are AND'ed. On successful completion of all the stages provided, your CD pipeline will be triggered. 
      - Production

Когда этапы, указанные в фильтре триггеров, успешно завершены в конвейере CI, новый запуск автоматически активируется для конвейера CD.

Универсальные триггеры на основе веб-перехватчика для конвейеров YAML

Сегодня у нас есть различные ресурсы (например, конвейеры, контейнеры, сборка и пакеты), с помощью которых можно использовать артефакты и включить автоматические триггеры. Однако до сих пор не удалось автоматизировать процесс развертывания на основе других внешних событий или служб. В этом выпуске мы представляем поддержку триггера веб-перехватчика в конвейерах YAML, чтобы обеспечить интеграцию автоматизации конвейеров с любой внешней службой. Вы можете подписаться на любые внешние события через веб-перехватчики (GitHub, GitHub Enterprise, Nexus, Artifactory и т. д.) и активировать конвейеры.

Ниже приведены действия по настройке триггеров веб-перехватчика.

  1. Настройте веб-перехватчик во внешней службе. При создании веб-перехватчика необходимо указать следующие сведения:

    • Url-адрес запроса : "https://dev.azure.com/<ADO Organization>
    • Секрет — это необязательно. Если необходимо защитить полезные данные JSON, укажите значение Секрета.
  2. Создайте подключение службы "Входящий веб-перехватчик". Это недавно представленный тип подключения службы, который позволит определить три важных фрагмента информации:

    • Имя веб-перехватчика: имя веб-перехватчика должно соответствовать веб-перехватчику, созданному во внешней службе.
    • Заголовок HTTP — имя заголовка HTTP в запросе, который содержит хэш-значение полезных данных для проверки запроса. Например, в случае GitHub заголовок запроса будет "X-Hub-Signature"
    • Секрет — секрет используется для анализа хэша полезных данных, используемого для проверки входящего запроса (это необязательно). Если вы использовали секрет при создании веб-перехватчика, вам потребуется предоставить тот же секретный ключ.

    На странице

  3. В конвейерах YAML представлен новый тип webhooks ресурса. Для подписки на событие веб-перехватчика необходимо определить ресурс веб-перехватчика в конвейере и указать его на подключение службы входящих веб-перехватчиков. Вы также можете определить дополнительные фильтры в ресурсе веб-перехватчика на основе полезных данных JSON, чтобы дополнительно настроить триггеры для каждого конвейера, и вы можете использовать полезные данные в виде переменных в заданиях.

resources:
  webhooks:
    - webhook: MyWebhookTrigger          ### Webhook alias
      connection: MyWebhookConnection    ### Incoming webhook service connection
      filters:
        - path: repositoryName      ### JSON path in the payload
          value: maven-releases     ### Expected value in the path provided
        - path: action
          value: CREATED
steps:
- task: PowerShell@2
  inputs:
    targetType: 'inline'
    ### JSON payload data is available in the form of ${{ parameters.<WebhookAlias>.<JSONPath>}}
    script: |
      Write-Host ${{ parameters.MyWebhookTrigger.repositoryName}}
      Write-Host ${{ parameters.MyWebhookTrigger.component.group}}
  1. Всякий раз, когда событие веб-перехватчика получено подключением к службе входящих веб-перехватчиков, новое выполнение будет активировано для всех конвейеров, подписанных на событие веб-перехватчика.

Проблемы с триггером ресурсов YAML поддерживают и трассировку

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

Триггеры ресурсов могут не выполняться по двум причинам.

  1. Если источник предоставленного подключения к службе недопустим или в триггере возникают ошибки синтаксиса, триггер не будет настроен вообще. Они отображаются как ошибки.

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

    Эта страница определения конвейера с именем

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

Azure Artifacts

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

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

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

Создайте веб-каналы с областью организации, выбрав артефакты, а затем создайте веб-канал и выберите тип веб-канала в области.

Хотя мы рекомендуем использовать веб-каналы с областью проекта в соответствии с остальными предложениями Azure DevOps, вы можете снова создавать, управлять и использовать веб-каналы с областью организации с помощью пользовательского интерфейса и различных ИНТЕРФЕЙСов REST API. Дополнительные сведения см. в документации по веб-каналам.

Следующие шаги

Примечание.

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

Перейдите к Azure DevOps и посмотрите.

Отправка отзыва

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

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

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

Thanks,

Аарон Холлберг