TeamsFx-Befehlszeilenschnittstelle

Die TeamsFx-CLI ist eine textbasierte Befehlszeilenschnittstelle, die die Entwicklung von Teams-Anwendungen beschleunigt. Das Ziel besteht darin, beim Erstellen von Teams-Anwendungen eine tastaturzentrierte Erfahrung zu bieten.

Weitere Informationen finden Sie unter:

TeamsFx-Bibliothek

Microsoft Teams Framework (TeamsFx) ist eine Bibliothek, die allgemeine Funktionen und Integrationsmuster kapselt, z. B. den vereinfachten Zugriff auf Microsoft Identity. Sie können Apps für Microsoft Teams ohne Konfiguration erstellen.

Im Folgenden finden Sie eine Liste der wichtigsten TeamsFx-Features:

  • TeamsFx-Zusammenarbeit: Ermöglicht Entwicklern und Projektbesitzern, andere Mitarbeiter zum TeamsFx-Projekt einzuladen. Sie können zusammenarbeiten, um ein TeamsFx-Projekt zu debuggen und bereitzustellen.

  • TeamsFx CLI: Beschleunigt die Entwicklung von Teams-Anwendungen. Außerdem wird ein CI/CD-Szenario ermöglicht, in dem Sie die CLI zur Automatisierung in Skripts integrieren können.

  • TeamsFx SDK: Bietet Zugriff auf die Datenbank, z. B. die primäre TeamsFx-Codebibliothek mit einfacher Authentifizierung für client- und serverseitigen Code, der auf Teams-Entwickler zugeschnitten ist.

Erste Schritte

Installieren Sie teamsfx-cli über npm, und führen Sie teamsfx -h aus, um alle verfügbaren Befehle zu überprüfen:

  npm install -g @microsoft/teamsfx-cli
  teamsfx -h

Unterstützte Befehle

Befehl Beschreibung
teamsfx new Erstellen Sie eine neue Teams Anwendung.
teamsfx add Fügt Ihrer Teams-Anwendung Features hinzu.
teamsfx account Verwalten Sie Clouddienstkonten. Die unterstützten Clouddienste sind „Azure“ und „Microsoft 365“.
teamsfx env Verwalten Sie Umgebungen.
teamsfx provision Stellen Sie Cloudressourcen in der aktuellen Anwendung bereit.
teamsfx deploy Stellen Sie die aktuelle Anwendung bereit.
teamsfx package Erstellen Sie Ihre Teams-App in einem Paket für die Veröffentlichung.
teamsfx validate Überprüfen Sie die aktuelle Anwendung.
teamsfx publish Veröffentlichen Sie die App in Teams.
teamsfx preview Zeigen Sie eine Vorschau der aktuellen Anwendung an.
teamsfx config Verwalten Sie die Konfigurationsdaten.
teamsfx permission Arbeiten Sie mit anderen Entwicklern im selben Projekt zusammen.

teamsfx new

Standardmäßig befindet sich teamsfx new im interaktiven Modus und Anleitungen zum Erstellen einer neuen Teams-Anwendung. Sie können im nicht interaktiven Modus arbeiten, indem Sie das Flag auf falsefestlegen--interactive.

Befehl Beschreibung
teamsfx new template <template-name> Erstellen einer App aus einer vorhandenen Vorlage
teamsfx new template list Auflisten aller verfügbaren Vorlagen

Parameter für teamsfx new

Parameter Anforderung Beschreibung
--app-name Ja Name Ihrer Teams-Anwendung.
--interactive Nein Wählen Sie die Optionen interaktiv aus. Die Optionen sind true und false, und der Standardwert ist true.
--capabilities Nein Wählen Sie Teams-Anwendungsfunktionen aus. Die Optionen sind tab, tab-non-sso, tab-spfx, bot, message-extension, notification, command-bot, sso-launch-page, . search-app Der Standardwert ist tab.
--programming-language Nein Programmiersprache für das Projekt. Die Optionen sind javascript oder typescript, und der Standardwert ist javascript.
--folder Nein Projektverzeichnis. Unter diesem Verzeichnis wird ein Unterordner mit Ihrem App-Namen erstellt. Der Standardwert ist ./.
--spfx-framework-type Nein Gilt, wenn die Funktion SPFx tab ausgewählt ist. Front-End-Framework. Die Optionen sind none, react und minimal, und der Standardwert ist none.
--spfx-web part-name Nein Gilt, wenn die Funktion SPFx tab ausgewählt ist. Der Standardwert ist „helloworld“.
--bot-host-type-trigger Nein Gilt, wenn die Funktion Notification bot ausgewählt ist. Die Optionen sind http-restify, http-functionsund timer-functions. Der Standardwert ist http-restify.

Szenarien für teamsfx new

Sie können den interaktiven Modus verwenden, um eine Teams-App zu erstellen. Die folgende Liste enthält Szenarien zum Steuern aller Parameter mit teamsfx new:

  • Http-ausgelöster Benachrichtigungsbot mit Restify-Server.

    teamsfx new --interactive false --capabilities "notification" --bot-host-type-trigger "http-restify" --programming-language "typescript" --folder "./" --app-name       MyAppName
    
  • Teams-Befehls- und -Antwortbot.

    teamsfx new --interactive false --capabilities "command-bot" --programming-language "typescript" --folder "./" --app-name myAppName
    
  • Registerkarten-App, die in SPFx mit React gehostet wird.

    teamsfx new --interactive false --app-name newspfxapp --capabilities tab-spfx --spfx-framework-type react
    

teamsfx add

In der folgenden Tabelle sind die verschiedenen Features Ihrer Teams-Anwendung zusammen mit deren Beschreibung aufgeführt.

Befehl Beschreibung
teamsfx add notification Senden von Benachrichtigungen an Microsoft Teams über verschiedene Trigger.
teamsfx add command-and-response Reagieren Sie auf einfache Befehle in Microsoft Teams-Chat.
teamsfx add sso-tab Identitätsfähige Teams-Webseiten, die in Microsoft Teams eingebettet sind.
teamsfx add tab Hello World-Webseiten, die in Microsoft Teams eingebettet sind.
teamsfx add bot Hallo Welt Chatbot, um einfache und sich wiederholende Aufgaben nach Benutzer auszuführen.
teamsfx add message-extension Die Nachrichtenerweiterung "Hallo Welt" ermöglicht Interaktionen über Schaltflächen und Formulare.
teamsfx add azure-function Eine serverlose, ereignisgesteuerte Computelösung, mit der Sie weniger Code schreiben können.
teamsfx add azure-apim Eine hybride Multi-Cloud-Verwaltungsplattform für APIs in allen Umgebungen.
teamsfx add azure-sql Ein immer aktueller relationaler Datenbankdienst, der für die Cloud erstellt wurde.
teamsfx add azure-keyvault Ein Clouddienst zum sicheren Speichern und Zugreifen auf Geheimnisse.
teamsfx add sso Entwickeln Sie ein Feature für einmaliges Anmelden (Single Sign-On, SSO) für Teams-Startseiten und Botfunktionen.
teamsfx add api-connection [auth-type] Stellen Sie mithilfe des TeamsFx SDK eine Verbindung mit einer API mit Authentifizierungsunterstützung her.
teamsfx add cicd Fügen Sie CI/CD-Workflows für GitHub, Azure DevOps oder Jenkins hinzu.

teamsfx account

In der folgenden Tabelle sind die Clouddienstkonten aufgeführt, z. B. Azure und Microsoft 365.

Befehl Beschreibung
teamsfx account login <service> Melden Sie sich beim ausgewählten Clouddienst an. Dienstoptionen sind Microsoft 365 oder Azure.
teamsfx account logout <service> Melden Sie sich beim ausgewählten Clouddienst ab. Dienstoptionen sind Microsoft 365 oder Azure.
teamsfx account set --subscription Aktualisieren Sie die Kontoeinstellungen, um eine Abonnement-ID festzulegen.

teamsfx env

In der folgenden Tabelle sind die verschiedenen Umgebungen aufgeführt.

Befehl Beschreibung
teamsfx env add <new_env_name> --env <existing_env_name> Fügen Sie eine neue Umgebung hinzu, indem Sie sie aus der angegebenen Umgebung kopieren.
teamsfx env list Listen Sie alle Umgebungen auf.

Szenarien für teamsfx env

Erstellen Sie eine neue Umgebung, indem Sie aus der vorhandenen Entwicklungsumgebung kopieren:

teamsfx env add staging --env dev

teamsfx provision

Stellen Sie die Cloudressourcen in der aktuellen Anwendung bereit.

Befehl teamsFx provision Beschreibung
teamsfx provision manifest Stellen Sie eine Teams-App im Teams-Entwicklerportal mit entsprechenden Informationen bereit, die in der angegebenen Manifestdatei angegeben sind.

Parameter für teamsfx provision

Parameter Anforderung Beschreibung
--env Ja Wählen Sie eine Umgebung für das Projekt aus.
--subscription Nein Geben Sie eine Azure-Abonnement-ID an.
--resource-group Nein Legen Sie den Namen einer vorhandenen Ressourcengruppe fest.
--sql-admin-name Nein Anwendbar, wenn das Projekt eine SQL-Ressource enthält. Administratorname von SQL.
--sql-password Nein Anwendbar, wenn das Projekt eine SQL-Ressource enthält. Administratorkennwort von SQL.

teamsfx deploy

Dieser Befehl wird verwendet, um die aktuelle Anwendung bereitzustellen. Standardmäßig wird das gesamte Projekt bereitgestellt, aber es ist auch möglich, teilweise bereitzustellen. Die Optionen sind frontend-hosting, function, apim, bot, spfx, aad-manifestund manifest.

Parameter für teamsfx deploy

Parameter Anforderung Beschreibung
--env Ja Wählen Sie eine vorhandene Umgebung für das Projekt aus.
--open-api-document Nein Anwendbar, wenn das Projekt eine APIM-Ressource enthält. Der Pfad der geöffneten API-Dokumentdatei.
--api-prefix Nein Anwendbar, wenn das Projekt eine APIM-Ressource enthält. Das API-Namenspräfix. Der eindeutige Standardname der API ist {api-prefix}-{resource-suffix}-{api-version}.
--api-version Nein Anwendbar, wenn das Projekt eine APIM-Ressource enthält. Die API-Version.
--include-app-manifest Nein Gibt an, ob das App-Manifest auf der Teams-Plattform bereitgestellt werden soll. Optionen sind yes und not. Der Standardwert ist no.
--include-aad-manifest Nein Gibt an, ob ein aad-Manifest bereitgestellt werden soll. Optionen sind yes und not. Der Standardwert ist no.

teamsfx validate

Überprüfen Sie die aktuelle Anwendung. Mit diesem Befehl wird die Manifestdatei Ihrer Anwendung überprüft.

Parameter für teamsfx validate

--env: Wählen Sie eine vorhandene Umgebung für das Projekt aus.

teamsfx publish

Veröffentlichen Sie die App in Teams.

Parameter für teamsfx publish

--env: Wählen Sie eine vorhandene Umgebung für das Projekt aus.

teamsfx package

Erstellen Sie Ihre Teams-App in einem Paket für die Veröffentlichung.

teamsfx preview

Zeigen Sie eine Vorschau der aktuellen Anwendung lokal oder remote an.

Parameter für teamsfx preview

Parameter Anforderung Beschreibung
--local Nein Zeigen Sie eine Vorschau der Anwendung lokal an. --local und --remote schließen sich aus.
--remote Nein Zeigen Sie eine Vorschau der Anwendung remote an. --remote und --local schließen sich aus.
--env Nein Wählen Sie eine vorhandene Umgebung für das Projekt aus, wenn der Parameter --remote angefügt wird.
--folder Nein Stammverzeichnis des Projekts. Der Standardwert ist ./.
--browser Nein Der Browser zum Öffnen des Teams-Webclients. Die Optionen sind chrome, edge und default, z. B. der Standardbrowser des Systems, und der Wert ist default.
--browser-arg Nein Das Argument, das an den Browser übergeben werden soll, erfordert „--browser“ und kann mehrmals verwendet werden, z. B.: --browser-args="--guest".
--sharepoint-site Nein SharePoint-Website-URL, z. B. {your-tenant-name}.sharepoint.com für die SPFx-Projektremotevorschau.
--m365-host Zeigen Sie eine Vorschau der Anwendung in Teams, Outlook oder Microsoft 365 (offiziell als Office-App bezeichnet) an. Optionen sind teams, outlook und office. Der Standardwert ist teams.

Szenarien für teamsfx preview

Die folgende Liste enthält die gängigen Szenarien für'teamsfx preview:

  • Lokale Vorschau

    Abhängigkeiten:

    • Node.js
    • .NET SDK
    • Azure Functions Core Tools
    teamsfx preview --local
    teamsfx preview --local --browser chrome
    
  • Remotevorschau

    teamsfx preview --remote
    teamsfx preview --remote --browser edge
    

    Hinweis

    Die Protokolle der Hintergrunddienste, z. B. React, werden in ~/.fx/cli-log/local-preview/ gespeichert.

teamsfx config

Die Konfigurationsdaten befinden sich entweder im Benutzer- oder Projektbereich.

Befehl Beschreibung
teamsfx config get [option] Zeigen Sie den Konfigurationswert der Option an.
teamsfx config set <option> <value> Aktualisieren Sie den Konfigurationswert der Option.

Parameter für teamsfx config

Parameter Anforderung Beschreibung
--env Ja Wählen Sie eine vorhandene Umgebung für das Projekt aus.
--folder Nein Projektverzeichnis, das zum Abrufen oder Festlegen der Projektkonfiguration verwendet wird. Der Standardwert ist ./.
--global Nein Bereich der Konfiguration. Bei "true" ist der Bereich auf den Benutzerbereich und nicht auf den Projektbereich beschränkt. Der Standardwert ist false. Zu den unterstützten globalen Konfigurationen gehören telemetryjetzt , validate-dotnet-sdk, validate-func-core-tools, validate-node.

Szenarien für teamsfx config

Die Geheimnisse in der .userdata Datei sind verschlüsselt und können Ihnen helfen, teamsfx config erforderliche Werte anzuzeigen oder zu aktualisieren.

  • Senden von Telemetriedaten beenden

    teamsfx config set telemetry off
    
  • Deaktivieren der Umgebungsprüfung

    Es gibt drei Konfigurationen zum Aktivieren oder Deaktivieren von Node.js, .NET SDK und Azure Functions Core Tools-Überprüfung, und alle sind standardmäßig aktiviert. Sie können die Konfiguration auf „Aus“ festlegen, wenn Sie die Abhängigkeitsüberprüfung nicht benötigen und die Abhängigkeiten selbst installieren möchten. Überprüfen Sie die folgenden Handbücher:

    Verwenden Sie den folgenden Befehl, um die Überprüfung des .NET SDK zu deaktivieren:

    teamsfx config set validate-dotnet-sdk off
    

    Verwenden Sie den folgenden Befehl, um die Überprüfung des .NET SDK zu aktivieren:

    teamsfx config set validate-dotnet-sdk on
    
  • Anzeigen der gesamten Konfiguration des Benutzerbereichs

    teamsfx config get -g
    
  • Anzeigen der gesamten Konfiguration im Projekt

    teamsfx config get --env dev
    

    Hinweis

    Das Geheimnis wird automatisch entschlüsselt.

  • Aktualisieren der Geheimniskonfiguration im Projekt

    teamsfx config set fx-resource-aad-app-for-teams.clientSecret xxx --env dev
    

teamsfx permission

TeamsFx CLI stellt Befehle für Zusammenarbeitsszenarien bereit teamsFx permission .

Befehl Beschreibung
teamsfx permission grant --env --email Erteilen Sie die Berechtigung für das Microsoft 365-Konto des Mitarbeiters für das Projekt einer angegebenen Umgebung.
teamsfx permission status Berechtigungsstatus für das Projekt anzeigen

Parameter für teamsfx permission grant

Parameter Anforderung Beschreibung
--env Ja Geben Sie den Namen einer Umgebung an.
--email Ja Geben Sie die Microsoft 365-E-Mail-Adresse des Mitarbeiters an. Stellen Sie sicher, dass sich das Konto des Mitarbeiters im selben Mandanten wie der Ersteller befindet.

Parameter für teamsfx permission status

Parameter Anforderung Beschreibung
--env Ja Geben Sie den Namen einer Umgebung an.
--list-all-collaborators Nein Mit diesem Flag druckt die Teams Toolkit-CLI alle Projektmitarbeiter für das Projekt aus.

Szenarien für teamsfx permission

Die folgende Liste enthält die erforderlichen Berechtigungen für TeamsFx Projekte:

  • Erteilen von Berechtigungen

    Projektersteller und Mitarbeiter können den Befehl teamsfx permission grant verwenden, um dem Projekt einen neuen Mitarbeiter hinzuzufügen:

    teamsfx permission grant --env dev --email user-email@user-tenant.com
    

    Nachdem sie die erforderliche Berechtigung erhalten haben, können Projektersteller und Projektmitarbeiter das Projekt für den neuen Projektmitarbeiter von GitHub freigeben, und der neue Mitarbeiter kann über alle Berechtigungen für Microsoft 365-Konto verfügen.

  • Anzeigen des Berechtigungsstatus

    Projektersteller und Projektmitarbeiter können den Befehl verwendenteamsfx permission status, um Microsoft 365-Kontoberechtigung für bestimmte env anzuzeigen:

    teamsfx permission status --env dev
    
  • Auflisten aller Mitarbeiter

    Projektersteller und Mitarbeiter können den Befehl teamsfx permission status verwenden, um alle Mitarbeiter für eine bestimmte Umgebung anzuzeigen:

    teamsfx permission status --env dev --list-all-collaborators
    
  • Workflow der E2E-Zusammenarbeit in CLI

    • Als Projektersteller

      • So erstellen Sie ein neues TeamsFx-Registerkarten- oder Botprojekt und Azure als Hosttyp:

        teamsfx new --interactive false --app-name newapp --host-type azure
        
      • So melden Sie sich bei Microsoft 365-Konto und dem Azure-Konto an:

        teamsfx account login azure
        teamsfx account login Microsoft 365
        
      • So stellen Sie Ihr Projekt bereit

        teamsfx provision
        
      • So zeigen Sie Mitarbeiter an

        teamsfx permission status --env dev --list-all-collaborators
        

        permission-1

      • So fügen Sie ein weiteres Konto als Mitarbeiter hinzu. Stellen Sie sicher, dass sich das hinzugefügte Konto unter demselben Mandanten befindet:

        teamsfx permission grant --env dev --email user-email@user-tenant.com
        

        permission

      • So übertragen Sie Ihr Projekt auf GitHub

    • Als Projektmitarbeiter:

      • Klonen Sie das Projekt von GitHub.

      • Melden Sie sich bei Microsoft 365-Konto an. Stellen Sie sicher, dass dasselbe Microsoft 365-Konto hinzugefügt wird:

        teamsfx account login Microsoft 365
        
      • Melden Sie sich mit der Berechtigung "Mitwirkender" für alle Azure-Ressourcen beim Azure-Konto an:

        teamsfx account login azure
        
      • Berechtigungsstatus überprüfen:

        teamsfx permission status --env dev
        

        Hinweis

        Stellen Sie sicher, dass Die Projektbesitzer über die Berechtigung verfügen.

        Überprüfen des Berechtigungsstatus

      • Aktualisieren Sie den Registerkartencode, und stellen Sie das Projekt remote bereit.

      • Starten Sie remote und das Projekt.

Manuelles Bereitstellen in Einer Azure-Web-App

  1. Erstellen Sie eine Registerkarte zum Aktivieren des einmaligen Anmeldens.

  2. Bereitstellen Ihres Projekts:

    teamsfx provision
    
  3. Führen Sie npm install und npm run build:teamsfx:dev in tabs oder api folder aus, um hinzugefügte Pakete zu installieren.

  4. Erstellen Sie einen Windows-App-Dienst im selben Betriebssystem wie Ihr Computer.

  5. Führen Sie $ az webapp up --name --html --subscription in , oder buildoder ausfoldertabs.

  6. Ändern Sie templates/azure/provision/frontendHosting.bicep.

  7. Erneutes Bereitstellen. Das Teams-Toolkit aktualisiert Azure Active Directory (Azure AD) und das Manifest für Sie.

  8. Suchen Sie Ihre appPackage.dev.zip im Ordner "build" oder "AppPackage", und fügen Sie sie Teams hinzu.

Siehe auch