Partager via


Intégration GitHub - Amélioration de la validation AB#

Avec cette mise à jour, nous sommes ravis d’offrir une préversion privée des dernières améliorations de notre intégration Azure Boards + GitHub !

En outre, il est désormais possible pour les administrateurs de contourner les approbations en cours d’exécution et les case activée pour terminer un correctif logiciel dans Azure Pipelines.

Pour plus d’informations, consultez les notes de publication.

Général

Azure Boards

Azure Pipelines

Reporting

Général

Nouvelle version du Kit de développement logiciel (SDK) d’extension web Azure DevOps

Avec cette mise à jour, nous publions une nouvelle version du Kit de développement logiciel (SDK) d’extension web Azure DevOps. Le Kit de développement logiciel (SDK) client permet aux extensions web de communiquer avec l’image hôte. Il peut être utilisé pour :

  • Avertir l’hôte que l’extension est chargée ou a des erreurs
  • Obtenir des informations contextuelles de base sur la page active (informations sur l’utilisateur actuel, l’hôte et l’extension)
  • Obtenir des informations sur le thème
  • Obtenir un jeton d’autorisation à utiliser dans les appels REST à Azure DevOps
  • Obtenir les services distants proposés par la trame hôte

Vous trouverez une référence d’API complète dans la documentation du package azure-devops-extension-sdk. Cette nouvelle version prend en charge les modules suivants :

  • Prise en charge des modules ES : le SDK prend désormais en charge les modules ES (ECMAScript) en plus des modules AMD (définition de module asynchrone) existants. Vous pouvez maintenant importer le SDK à l’aide de la syntaxe du module ES, qui offre des améliorations des performances et réduit la taille de l’application.

  • Compatibilité descendante pour les modules AMD : la prise en charge existante des modules AMD reste intacte. Si votre projet utilise des modules AMD, vous pouvez continuer à les utiliser comme avant sans aucune modification.

Comment utiliser :

Pour les modules ES, vous pouvez importer nos modules à l’aide de l’instruction import :

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

Si vous utilisez des modules AMD, vous pouvez continuer à importer le Kit de développement logiciel (SDK) à l’aide de la require fonction :

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

  // Use the module here
});

Azure Boards

Intégration GitHub - Amélioration de la validation AB# (préversion privée)

Nous commençons notre parcours d’améliorations de l’intégration de Boards + GitHub en traitant les réponses du bot lors de la liaison à des éléments de travail à l’aide de la syntaxe AB#. Lorsque vous créez un lien vers une demande de tirage à l’aide de la AB#{ID} syntaxe, la seule façon de savoir si le lien a réussi consiste à examiner l’élément de travail ou à noter le AB#{ID} tour en lien.

Aujourd’hui, nous allons lancer une préversion privée avec plusieurs améliorations apportées à l’application GitHub Azure Boards pour mieux vous informer lorsqu’un lien vers un élément de travail est valide ou non valide. Cela permet d’identifier les liens incorrects et de les corriger avant la fusion de la demande de tirage.

Screenshots of Team Settings.

Si vous souhaitez participer à la préversion privée, contactez-nous directement par e-mail. Veillez à inclure le nom de votre organisation (dev.azure.com/{organisation})

Consultez la feuille de route publique pour en savoir plus sur les fonctionnalités d’intégration Azure Boards + GitHub à venir.

Azure Pipelines

Les tâches Azure Pipelines utilisent le nœud 16

Les tâches du pipeline sont exécutées à l’aide d’un exécuteur, avec Node.js utilisé dans la plupart des cas. Les tâches Azure Pipelines qui utilisent un nœud en tant qu’exécuteur utilisent désormais le nœud 16. Comme Node 16 est la première version de Node à prendre en charge apple silicon en mode natif, cela complète également la prise en charge complète de macOS sur apple silicon. Les agents qui s’exécutent sur apple silicon n’ont pas besoin de Rosetta pour s’exécuter.

Comme la date de fin de vie du nœud 16 a été déplacée vers l’avant, nous avons démarré le travail pour exécuter des tâches avec Node 20.

Annonce de la mise hors service des tâches déconseillées

Azure Pipelines a de nombreuses tâches déconseillées. Les tâches déconseillées seront supprimées le 31 janvier 2024. Pour vous aider à identifier les pipelines qui utilisent des tâches déconseillées, les pipelines affichent des avertissements si une telle tâche est utilisée. Nous avons mis à jour la référence de tâche pour indiquer clairement l’état de dépréciation et la date de mise hors service.

Les tâches suivantes ont été déconseillées et commencent à émettre des avertissements :

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

Mettez à jour vos pipelines pour utiliser une version de tâche plus récente ou une alternative avant le 31 janvier 2024.

La tâche AzureRmWebAppDeployment prend en charge l’authentification Microsoft Entra ID

Les tâches AzureRmWebAppDeploymentV3 et AzureRmWebAppDeployment@4 ont été mises à jour pour prendre en charge App Service avec l’authentification de base désactivée. Si l’authentification de base est désactivée sur App Service, les tâches AzureRmWebAppDeploymentV3/4 utilisent l’authentification d’ID Microsoft Entra pour effectuer des déploiements sur le point de terminaison Kudu App Service. Cela nécessite une version récente de msdeploy.exe installée sur l’agent, qui est le cas sur les agents hébergés windows-2022/windows-latest (voir la référence de tâche).

Améliorations apportées à l’API REST Approbations

Nous avons amélioré la localisation des approbations attribuées à un utilisateur en incluant les groupes auxquels appartient l’utilisateur dans les résultats de la recherche.

Approbations contiennent désormais des informations sur l’exécution du pipeline auquel elles appartiennent.

Par exemple, l’appel https://dev.azure.com/fabrikam/FabrikamFiber/_apis/pipelines/approvals?api-version=7.2-preview.2&top=1&assignedTo=john@fabrikam.com&state=pending d’API REST GET suivant retourne

{
    "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"
            }
        }
    ]
}

Contourner les Approbations et les vérifications

Approbations et les case activée permettent de protéger l’accès aux ressources importantes, telles que les connexions de service, les dépôts ou les pools d’agents. Un cas d’usage courant consiste à utiliser des Approbations et des vérifications lors du déploiement en production, et vous souhaitez protéger la connexion de service ARM.

Supposons que vous avez ajouté les case activée suivantes sur la connexion de service : approbation, heures d’ouverture case activée et appel d’une fonction Azure case activée (pour appliquer un délai entre différentes régions).

À présent, imaginez que vous devez effectuer un déploiement de correctif logiciel. Vous démarrez une exécution de pipeline, mais elle ne se poursuit pas, elle attend que la plupart des case activée se terminent. Vous ne pouvez pas vous permettre d’attendre la fin des approbations et des case activée.

Dans ce sprint, nous avons permis de contourner les approbations en cours d’exécution et les case activée, ce qui vous permet de terminer votre correctif logiciel.

Vous pouvez contourner l’exécution Approbations, les heures d’ouverture, l’appel de fonction Azure et l’API REST case activée s.

Ignorer une approbation.

Screenshot of Bypass an Approval.

Ignorer les heures de bureau case activée.

Screenshot of Bypass Business Hours check.

Ignorer l’appel de la fonction Azure case activée. Ignorer les heures de bureau case activée.

Screenshot of Bypass Invoke Azure Function check.

Lorsqu’un case activée est contourné, vous pouvez le voir dans le panneau case activée s.

Screenshot of check bypassed.

Vous pouvez contourner un case activée uniquement si vous êtes un Administration istrateur de la ressource sur laquelle les case activée ont été définies.

Prise en charge du serveur d’entreprise GitHub dans le modèle requis case activée

Les modèles sont un mécanisme de sécurité qui vous permet de contrôler les étapes, les travaux et les étapes des pipelines de votre organisation.

Le modèle Exiger case activée vous permet d’appliquer qu’un pipeline s’étend à partir d’un ensemble de modèles approuvés avant d’accéder à une ressource protégée, telle qu’un pool d’agents ou une connexion de service.

À compter de ce sprint, vous pouvez spécifier des modèles situés dans les dépôts GitHub Enterprise Server.

Screenshot of required YAML template.

Réexécuter la fonction Azure case activée s

Imaginez que vous déployez votre système en plusieurs étapes. Avant de déployer la deuxième étape, il existe une approbation et une fonction Azure Invoke case activée qui exécute une case activée d’intégrité sur la partie déjà déployée du système.

Lors de l’examen de la demande d’approbation, vous remarquez que la case activée a été exécutée deux jours plus tôt. Dans ce scénario, vous pouvez être conscient d’un autre déploiement qui a affecté le résultat de la case activée de la santé.

Avec cette mise à jour, vous pouvez réexécuter Invoke Azure Function et appeler l’API REST case activée s. Cette fonctionnalité est disponible uniquement pour les case activée qui ont réussi et n’ont aucune nouvelle tentative.

Screenshot of dynamic check.

Remarque

Vous pouvez réexécuter une case activée uniquement si vous êtes un Administration istrateur de la ressource sur laquelle les case activée ont été définies.

Reporting

Filtrage des éléments de travail

Nous sommes heureux d’annoncer le filtrage des graphiques d’éléments de travail. Cette fonctionnalité vous permet de pointer sur votre graphique d’éléments de travail pour obtenir une vue d’ensemble rapide et d’explorer des segments de graphique spécifiques pour obtenir des insights détaillés. Vous n’avez plus besoin de créer des requêtes personnalisées pour accéder à l’élément exact de données dont vous avez besoin. Vous pouvez maintenant explorer vos éléments de travail dans les graphiques d’éléments de travail en quelques clics.

Gif to demo work item filtering.

Vos commentaires sont précieux dans la mise en forme de l’avenir de cette fonctionnalité. Essayez-le maintenant et faites-nous savoir ce que vous pensez dans notre communauté Azure DevOps.

Étapes suivantes

Notes

Ces fonctionnalités seront déployées au cours des deux à trois prochaines semaines.

Accédez à Azure DevOps et jetez un coup d’œil.

Comment fournir des commentaires

Nous aimerions savoir ce que vous pensez de ces fonctionnalités. Utilisez le menu Aide pour signaler un problème ou faire une suggestion.

Screenshot Make a suggestion.

Vous pouvez également obtenir des conseils et répondre à vos questions par la communauté sur Stack Overflow.

Merci,

Silviu Andrica