Freigeben über


GitHub-Integration – Verbesserte AB#-Validierung

Mit diesem Update freuen wir uns, eine private Vorschau der neuesten Verbesserungen in unseren Azure Boards + GitHub-Integration anzubieten!

Darüber hinaus ist es jetzt für Administratoren möglich, ausgeführte Genehmigungen zu umgehen und überprüfungen, um einen Hotfix in Azure Pipelines abzuschließen.

Weitere Informationen finden Sie in den Versionshinweisen.

Allgemein

Azure Boards

Azure Pipelines

Reporting

Allgemein

Neue Version des Azure DevOps Web Extension SDK

Mit diesem Update veröffentlichen wir eine neue Version des Azure DevOps Web Extension SDK. Das Client-SDK ermöglicht weberweiterungen die Kommunikation mit dem Hostframe. Es kann verwendet werden, um:

  • Benachrichtigen des Hosts, dass die Erweiterung geladen wird oder Fehler aufweist
  • Abrufen grundlegender kontextbezogener Informationen zur aktuellen Seite (aktuelle Benutzer-, Host- und Erweiterungsinformationen)
  • Abrufen von Designinformationen
  • Abrufen eines Autorisierungstokens zur Verwendung in REST-Aufrufen zurück zu Azure DevOps
  • Abrufen von Remotediensten, die vom Hostframe angeboten werden

Eine vollständige API-Referenz finden Sie in der Dokumentation zum Azure-devops-extension-sdk-Paket. Diese neue Version bietet Unterstützung für die folgenden Module:

  • ES-Modulunterstützung: SDK unterstützt jetzt ZUSÄTZLICH zu den vorhandenen AMD-Modulen (asynchrone Moduldefinition) ES (ECMAScript)-Module. Sie können nun SDK mithilfe der ES-Modulsyntax importieren, die Leistungsverbesserungen bietet und die Anwendungsgröße reduziert.

  • Abwärtskompatibilität für AMD-Module: Vorhandene Unterstützung für AMD-Module bleibt intakt. Wenn Ihr Projekt AMD-Module verwendet, können Sie diese weiterhin wie zuvor ohne Änderungen verwenden.

Verwendung:

Für ES-Module können Sie unsere Module mithilfe der Import-Anweisung importieren:

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

Wenn Sie AMD-Module verwenden, können Sie das SDK weiterhin mithilfe der require Funktion importieren:

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

  // Use the module here
});

Azure Boards

GitHub-Integration – Verbesserte AB#-Überprüfung (private Vorschau)

Wichtig

Ab dem 8.6.2024 überprüft die Azure Boards-App in GitHub keine AB#-Links mehr. Sie können die AB# Syntax weiterhin verwenden, um Arbeitsaufgaben in Ihren GitHub-Pullanforderungen, Commits und Problemen zu verknüpfen, wie sie vor dieser Änderung möglich sind.

Wir beginnen unsere Entwicklung von Boards + GitHub-Integrationsverbesserungen, indem wir die Bot-Antworten beim Verknüpfen mit Arbeitsaufgaben mithilfe der AB#-Syntax behandeln. Wenn Sie eine Verknüpfung mit einer Pullanforderung mithilfe der AB#{ID} Syntax herstellen, können Sie nur wissen, ob der Link erfolgreich war, indem Sie sich die Arbeitsaufgabe ansehen oder die AB#{ID} Umwandlung in einen Link notieren.

Heute starten wir eine private Vorschau mit mehreren Verbesserungen an der GitHub-App von Azure Boards, um Sie besser darüber zu informieren, wann ein Link zu einer Arbeitsaufgabe gültig oder ungültig ist. Dadurch können fehlerhafte Links identifiziert und behoben werden, bevor die Pullanforderung zusammengeführt wird.

Screenshots der Teameinstellungen.

Wenn Sie an der privaten Vorschau teilnehmen möchten, wenden Sie sich direkt per E-Mail an uns. Achten Sie darauf, ihren Organisationsnamen (dev.azure.com/{organization}) einzuschließen.

Sehen Sie sich die öffentliche Roadmap an, um mehr über bevorstehende Azure Boards + GitHub-Integrationsfeatures zu erfahren.

Azure Pipelines

Azure Pipelines-Aufgaben verwenden Node 16

Aufgaben in der Pipeline werden mithilfe eines Läufers ausgeführt, wobei in den meisten Fällen Node.js verwendet werden. Azure Pipelines-Aufgaben, die einen Knoten als Läufer nutzen, verwenden jetzt alle Node 16. Da Node 16 die erste Node-Version ist, die Apple Silicon nativ unterstützt, wird auch die vollständige Aufgabenunterstützung für macOS auf Apple Silicon abgeschlossen. Agents, die auf Apple Silicon laufen, müssen Rosetta nicht laufen.

Da sich das Ende des Lebenszyklus von Node 16 verschoben hat, haben wir die Arbeit zum Ausführen von Aufgaben mit Node 20 begonnen.

Ankündigung der Einstellung veralteter Aufgaben

Azure-Pipelines weist viele veraltete Aufgaben auf. Veraltete Vorgänge werden am 31. Januar 2024 eingestellt. Um Pipelines zu identifizieren, die veraltete Vorgänge verwenden, werden Warnungen angezeigt, wenn ein solcher Vorgang verwendet wird. Wir haben den Vorgangsverweis aktualisiert, um den Status und den Ruhestand deutlich zu vermitteln.

Die folgenden Aufgaben sind veraltet und beginnen mit dem Ausgeben von Warnungen:

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

Aktualisieren Sie Ihre Pipelines, um eine neuere Aufgabenversion oder eine Alternative vor dem 31. Januar 2024 zu verwenden.

AzureRmWebAppDeployment-Aufgabe unterstützt die Microsoft Entra ID-Authentifizierung

Die Aufgaben "AzureRmWebAppDeploymentV3" und "AzureRmWebAppDeployment@4 " wurden aktualisiert, um den App-Dienst mit deaktivierter Standardauthentifizierung zu unterstützen. Wenn die Standardauthentifizierung für den App-Dienst deaktiviert ist, verwenden die AzureRmWebAppDeploymentV3/4-Aufgaben die Microsoft Entra ID-Authentifizierung, um Bereitstellungen am App Service Kudu-Endpunkt durchzuführen. Dies erfordert eine aktuelle Version von msdeploy.exe auf dem Agent installiert, was bei den windows-2022/windows-latest Hosted Agents der Fall ist (siehe Aufgabenreferenz).

Verbesserungen an der REST-API für Genehmigungen

Wir haben das Auffinden von Genehmigungen verbessert, die einem Benutzer zugewiesen wurden, indem die Gruppen eingeschlossen werden, zu denen der Benutzer in die Suchergebnisse gehört.

Genehmigungen enthalten jetzt Informationen zur Pipelineausführung, zu der sie gehören.

Der folgende GET-REST-API-Aufruf gibt z. B https://dev.azure.com/fabrikam/FabrikamFiber/_apis/pipelines/approvals?api-version=7.2-preview.2&top=1&assignedTo=john@fabrikam.com&state=pending . zurück.

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

Umgehen von Genehmigungen und Überprüfungen

Genehmigungen und Überprüfungen schützen den Zugriff auf wichtige Ressourcen, z. B. Dienstverbindungen, Repositorys oder Agentpools. Ein gängiger Anwendungsfall ist die Verwendung von Genehmigungen und Überprüfungen bei der Bereitstellung in der Produktion, und Sie möchten die ARM-Dienstverbindung schützen.

Angenommen, Sie haben die folgenden Überprüfungen für die Dienstverbindung hinzugefügt: eine Genehmigung, eine Überprüfung der Geschäftszeiten und eine Überprüfung der Azure-Funktion aufrufen (um eine Verzögerung zwischen verschiedenen Regionen zu erzwingen).

Stellen Sie sich nun vor, Sie müssen eine Hotfixbereitstellung durchführen. Sie starten eine Pipelineausführung, aber es wird nicht fortgesetzt, es wartet auf die meisten Überprüfungen, bis sie abgeschlossen ist. Sie können nicht warten, bis die Genehmigungen und Überprüfungen abgeschlossen sind.

In diesem Sprint haben wir es ermöglicht, die Ausführung von Genehmigungen und Überprüfungen zu umgehen, damit Sie Ihren Hotfix abschließen können.

Sie können die Ausführung von Genehmigungen, Geschäftszeiten, Aufrufen der Azure-Funktion und Rest-API-Überprüfungen umgehen.

Umgehen einer Genehmigung.

Screenshot der Umgehung einer Genehmigung.

Überprüfung der Geschäftszeiten umgehen.

Screenshot der Überprüfung

Umgehung der Azure-Funktionsüberprüfung. Überprüfung der Geschäftszeiten umgehen.

Screenshot der Überprüfung der Azure-Funktion

Wenn eine Überprüfung umgangen wird, können Sie sie im Kontrollkästchen sehen.

Screenshot der umgangenen Überprüfung.

Sie können eine Überprüfung nur umgehen, wenn Sie ein Administrator der Ressource sind, für die die Prüfungen definiert wurden.

Unterstützung für GitHub Enterprise Server bei der erforderlichen Vorlagenüberprüfung

Vorlagen sind ein Sicherheitsmechanismus, mit dem Sie die Phasen, Aufträge und Schritte von Pipelines in Ihrer Organisation steuern können.

Mit der Vorlageüberprüfung "Anfordern" können Sie erzwingen, dass eine Pipeline aus einer Reihe genehmigter Vorlagen erweitert wird, bevor Sie auf eine geschützte Ressource zugreifen, z. B. einen Agentpool oder eine Dienstverbindung.

Ab diesem Sprint können Sie Vorlagen angeben, die sich in GitHub Enterprise Server-Repositorys befinden.

Screenshot der erforderlichen YAML-Vorlage.

Erneutes Ausführen von Azure-Funktionsüberprüfungen

Stellen Sie sich vor, Dass Sie Ihr System in mehreren Phasen bereitstellen. Vor der Bereitstellung der zweiten Phase gibt es eine Genehmigungs- und eine Aufruf-Azure-Funktionsüberprüfung, die eine Sanity-Prüfung für den bereits bereitgestellten Teil des Systems ausführt.

Bei der Überprüfung der Genehmigungsanforderung bemerken Sie, dass die Sanity-Prüfung zwei Tage früher ausgeführt wurde. In diesem Szenario sind Sie möglicherweise einer anderen Bereitstellung bewusst, die das Ergebnis der Sanity-Überprüfung beeinflusst hat.

Mit diesem Update können Sie die Azure-Funktion und REST-API-Überprüfungen erneut aufrufen. Diese Funktionalität ist nur für Überprüfungen verfügbar, die erfolgreich waren und keine Wiederholungen aufweisen.

Screenshot der dynamischen Überprüfung.

Hinweis

Sie können eine Überprüfung nur dann erneut ausführen, wenn Sie ein Administrator der Ressource sind, für die die Prüfungen definiert wurden.

Reporting

Arbeitsaufgabenfilterung

Wir freuen uns über die Filterung von Arbeitsaufgabendiagrammen. Mit diesem Feature können Sie mit dem Mauszeiger auf Ihr Arbeitselementdiagramm zeigen, um eine schnelle Übersicht zu erhalten und einen Drilldown zu bestimmten Diagrammsegmenten zu erhalten, um detaillierte Einblicke zu erhalten. Sie müssen keine benutzerdefinierten Abfragen mehr erstellen, um auf die genauen Daten zuzugreifen, die Sie benötigen. Sie können nun ihre Arbeitsaufgaben in Arbeitsaufgabendiagrammen in wenigen Klicks eintauchen.

GIF zum Demo-Arbeitsaufgabenfiltern.

Ihr Feedback ist von unschätzbarem Wert bei der Gestaltung der Zukunft dieses Features. Probieren Sie es jetzt aus, und teilen Sie uns ihre Meinung in unserer Azure DevOps-Community mit.

Nächste Schritte

Hinweis

Diese Features werden in den nächsten zwei bis drei Wochen eingeführt.

Wechseln Sie zu Azure DevOps, und sehen Sie sich an.

Senden von Feedback

Wir würden uns freuen zu hören, was Sie zu diesen Features halten. Verwenden Sie das Hilfemenü, um ein Problem zu melden oder einen Vorschlag bereitzustellen.

Screenshot: Vorschlag erstellen

Sie können auch Ratschläge und Ihre Fragen von der Community in Stack Overflow beantworten lassen.

Vielen Dank,

Silviu Andrica