Поделиться через


Интеграция GitHub — улучшенная проверка AB#

С помощью этого обновления мы рады предложить частную предварительную версию новых улучшений в нашей интеграции Azure Boards + GitHub!

Кроме того, теперь администраторы могут обойти выполнение утверждений и проверить, чтобы завершить исправление в Azure Pipelines.

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

Общие

Azure Boards

Azure Pipelines

Отчетность

Общие

Новая версия пакета SDK для веб-расширения Azure DevOps

В этом обновлении мы выпускаем новую версию пакета SDK для веб-расширений Azure DevOps. Клиентский пакет SDK позволяет веб-расширениям взаимодействовать с кадром узла. Его можно использовать для:

  • Сообщите узлу, что расширение загружено или имеет ошибки
  • Получение основных контекстных сведений о текущей странице (сведения о текущем пользователе, узле и расширении)
  • Получение сведений о теме
  • Получение маркера авторизации для использования в вызовах REST обратно в Azure DevOps
  • Получение удаленных служб, предлагаемых фреймом узла

Полный справочник по API можно найти в документации по пакету sdk для azure-devops-extension-sdk. Эта новая версия обеспечивает поддержку следующих модулей:

  • Поддержка модулей ES: пакет SDK теперь поддерживает модули ES (ECMAScript) в дополнение к существующим модулям AMD (асинхронное определение модуля). Теперь пакет SDK можно импортировать с помощью синтаксиса модуля ES, который обеспечивает улучшения производительности и уменьшает размер приложения.

  • Обратная совместимость для модулей AMD: существующая поддержка модулей AMD остается нетронутой. Если проект использует модули AMD, вы можете продолжать использовать их, как и раньше, без каких-либо изменений.

Практическое руководство.

Для модулей ES можно импортировать наши модули с помощью инструкции импорта:

import * as SDK from 'azure-devops-extension-sdk';
// Use the module here

Если вы используете модули AMD, вы можете продолжать импортировать пакет SDK с помощью require функции:

require(['azure-devops-extension-sdk'], function(SDK) {

  // Use the module here
});

Azure Boards

Интеграция GitHub — улучшенная проверка AB# (частная предварительная версия)

Внимание

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

Мы начинаем наш путь к улучшениям интеграции Boards + GitHub, обращаясь к ответам бота при связывании с рабочими элементами с помощью синтаксиса AB#. При связывании с запросом на вытягивание с помощью AB#{ID} синтаксиса единственный способ узнать, была ли ссылка успешно выполнена, глядя на рабочий элемент или замечая AB#{ID} поворот в ссылку.

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

Снимок экрана: параметры команды.

Если вы заинтересованы в участии в частной предварительной версии, обратитесь к нам напрямую по электронной почте. Обязательно укажите имя организации (dev.azure.com/{организация})

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

Azure Pipelines

Задачи Azure Pipelines используют узел 16

Задачи в конвейере выполняются с помощью средства выполнения с Node.js, используемыми в большинстве случаев. Задачи Azure Pipelines, использующие узел в качестве бегуна, теперь используют узел 16. Так как Node 16 является первой версией Node для поддержки apple silicon, это также завершает полную поддержку задач для macOS в Apple silicon. Агенты, работающие на Кремнии Apple, не нуждаются в Розетте для запуска.

По мере того как дата окончания жизни узла 16 перемещена вперед, мы начали работу по выполнению задач с node 20.

Объявление об отмене устаревших задач

Azure Pipelines имеет множество устаревших задач. Устаревшие задачи будут прекращены 31 января 2024 г. Чтобы определить конвейеры, использующие устаревшие задачи, конвейеры будут отображать предупреждения, если такая задача используется. Мы обновили ссылку на задачу, чтобы четко передать состояние нерекомендуемого состояния и дату выхода на пенсию.

Следующие задачи устарели и начнут выдавать предупреждения:

  • AppCenterDistributeV1,
  • AppCenterDistributeV2
  • AzureMonitorV0
  • ChefKnifeV1
  • ChefV1
  • CondaEnvironmentV1
  • DeployVisualStudioTestAgentV2
  • DotNetCoreInstallerV1
  • IISWebAppDeployment
  • QuickPerfTestV1
  • RunJMeterLoadTestV1
  • RunLoadTestV1
  • SqlServerDacpacDeploymentV1
  • XamarinTestCloudV1

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

Задача AzureRmWebAppDeployment поддерживает проверку подлинности идентификатора Microsoft Entra

Задачи AzureRmWebAppDeploymentV3 и AzureRmWebAppDeployment@4 были обновлены для поддержки Служба приложений с отключенной базовой проверкой подлинности. Если обычная проверка подлинности отключена в Служба приложений, задачи AzureRmWebAppDeploymentV3/4 используют проверку подлинности Идентификатора Microsoft Entra для выполнения развертываний в конечной точке Kudu Служба приложений. Для этого требуется последняя версия msdeploy.exe, установленной на агенте, которая относится к windows-2022/windows-latest Hosted agent (см . справочник по задачам).

Улучшения REST API утверждений

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

Теперь утверждения содержат сведения о запуске конвейера, к которому они относятся.

Например, следующий вызов https://dev.azure.com/fabrikam/FabrikamFiber/_apis/pipelines/approvals?api-version=7.2-preview.2&top=1&assignedTo=john@fabrikam.com&state=pending REST API GET возвращает

{
    "count": 1,
    "value":
    [
        {
            "id": "7e90b9f7-f3f8-4548-a108-8b80c0fa80e7",
            "steps":
            [],
            "status": "pending",
            "createdOn": "2023-11-09T10:54:37.977Z",
            "lastModifiedOn": "2023-11-09T10:54:37.9775685Z",
            "executionOrder": "anyOrder",
            "minRequiredApprovers": 1,
            "blockedApprovers":
            [],
            "_links":
            {
                "self":
                {
                    "href": "https://dev.azure.com/fabrikam/26dcfaeb-d8fe-495c-91cb-fec4acb44fbb/_apis/pipelines/approvals/7e80b987-f3fe-4578-a108-8a80c0fb80e7"
                }
            },
            "pipeline":
            {
                "owner":
                {
                    "_links":
                    {
                        "web":
                        {
                            "href": "https://dev.azure.com/buildcanary/26dcfaeb-d8fe-495c-91cb-fec4acb44fbb/_build/results?buildId=73222930"
                        },
                        "self":
                        {
                            "href": "https://dev.azure.com/buildcanary/26dcfaeb-d8fe-495c-91cb-fec4acb44fbb/_apis/build/Builds/73222930"
                        }
                    },
                    "id": 73222930,
                    "name": "20231109.1"
                },
                "id": "4597",
                "name": "FabrikamFiber"
            }
        }
    ]
}

Обход утверждений и проверок

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

Предположим, что вы добавили следующие проверки подключения к службе: утверждение, проверка рабочих часов и проверка функции Azure (для принудительной задержки между различными регионами).

Теперь представьте, что необходимо выполнить развертывание исправлений. Запуск конвейера не выполняется, но он не продолжается, он ожидает завершения большинства проверок. Вы не можете позволить себе ждать завершения утверждений и проверок.

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

Можно обойти выполнение утверждений, рабочих часов, вызов функции Azure и вызов проверок REST API.

Обход утверждения.

Снимок экрана: обход утверждения.

Обход проверки рабочих часов.

Снимок экрана: проверка обхода рабочих часов.

Обход проверки функции Azure. Обход проверки рабочих часов.

Снимок экрана: проверка функции обхода вызова Azure.

При обходе проверки его можно увидеть на панели проверок.

Снимок экрана: обход проверки.

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

Поддержка корпоративного сервера GitHub в обязательной проверке шаблона

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

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

Начиная с этого спринта, можно указать шаблоны, расположенные в репозиториях GitHub Enterprise Server.

Снимок экрана: обязательный шаблон YAML.

Повторное выполнение проверок функций Azure

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

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

С помощью этого обновления можно повторно запустить функцию Azure и вызвать проверки REST API. Эта функция доступна только для проверок, которые успешно выполнены и не имеют повторных попыток.

Снимок экрана: динамическая проверка.

Примечание.

Можно повторно выполнить проверку только в том случае, если вы являетесь администратором ресурса, на котором были определены проверки.

Отчетность

Фильтрация рабочих элементов

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

Gif для демонстрации фильтрации рабочих элементов.

Ваши отзывы бесценны в формировании будущего этой функции. Попробуйте сейчас и сообщите нам, что вы думаете в нашем сообществе Azure DevOps.

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

Примечание.

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

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

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

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

Снимок экрана: предложение.

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

Thanks,

Сильвиу Андреика