TeamsFx コマンド ライン インターフェイス

TeamsFx は、Teams アプリケーションの開発を加速するテキスト ベースのコマンド ライン インターフェイスです。 これは、Teams アプリケーションを構築する際にキーボード中心のエクスペリエンスを提供することを目的としています。

詳細については、以下を参照してください。

TeamsFx ライブラリ

Microsoft Teams Framework (TeamsFx) は、Microsoft ID への簡単なアクセスなど、一般的な機能と統合パターンをカプセル化するライブラリです。 構成なしで Microsoft Teams 用のアプリを構築できます。

TeamsFx の主な機能の一覧を次に示します。

  • TeamsFx コラボレーション: 開発者とプロジェクト所有者が他のコラボレーターを TeamsFx プロジェクトに招待できるようにします。 TeamsFx プロジェクトをデバッグおよび展開するために共同作業を行うことができます。

  • TeamsFx CLI: Teams アプリケーション開発を高速化します。 また、自動化用のスクリプトに CLI を統合できる CI/CD シナリオも可能になります。

  • TeamsFx SDK: Teams 開発者向けに調整されたクライアント側とサーバー側のコードの両方に対する単純な認証を含むプライマリ TeamsFx コード ライブラリなど、データベースへのアクセスを提供します。

はじめに

npm から teamsfx-cli をインストールし、teamsfx -h を実行して、使用可能なすべてのコマンドを確認します。

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

サポート対象コマンド

コマンド 説明
teamsfx new 新しい Teams アプリケーションを作成します。
teamsfx add Teams アプリケーションに機能を追加します。
teamsfx account クラウド サービス アカウントを管理します。 サポートされているクラウド サービスは、'Azure' と 'Microsoft 365' です。
teamsfx env 環境を管理する。
teamsfx provision 現在のアプリケーションでクラウド リソースをプロビジョニングします。
teamsfx deploy 現在のアプリケーションをデプロイします。
teamsfx package Teams アプリを発行用のパッケージにビルドします。
teamsfx validate 現在のアプリケーションを検証します。
teamsfx publish アプリを Teams に公開する。
teamsfx preview 現在のアプリケーションをプレビューします。
teamsfx config 構成データを管理します。
teamsfx permission 同じプロジェクトで他の開発者と共同作業を行います。

teamsfx new

既定では、対話型モードであり、 teamsfx new 新しい Teams アプリケーションを作成するためのガイドです。 フラグを にfalse設定--interactiveすることで、非対話型モードで作業できます。

コマンド 説明
teamsfx new template <template-name> 既存のテンプレートからアプリを作成する
teamsfx new template list 使用可能なすべてのテンプレートを一覧表示する

teamsfx new のパラメーター

パラメーター 要件 説明
--app-name はい Teams アプリケーションの名前です。
--interactive いいえ オプションを対話形式で選択します。 オプションは truefalse で、既定値は true です。
--capabilities いいえ Teams アプリケーション機能を選択します。オプションは tabtab-non-sso、、、tab-spfxnotificationbotcommand-botmessage-extensionsso-launch-pagesearch-appです。 既定値は tab です。
--programming-language いいえ プロジェクトのプログラミング言語です。 オプションは javascript または typescript で、デフォルト値は javascript です。
--folder いいえ プロジェクト ディレクトリ。 このディレクトリの下に、アプリ名を持つサブ フォルダーが作成されます。 既定値は ./ です。
--spfx-framework-type いいえ SPFx tab 機能が選択されている場合に適用されます。 フロントエンド フレームワーク。 オプションは、nonereact、、、minimal、既定値は ですnone
--spfx-web part-name いいえ SPFx tab 機能が選択されている場合に適用されます。 既定値は "helloworld" です。
--bot-host-type-trigger なし Notification bot 機能が選択されている場合に適用されます。 オプションは、 http-restifyhttp-functions、および timer-functionsです。 既定値は http-restify です。

teamsfx new のシナリオ

対話型モードを使用して、Teams アプリを作成できます。 次の一覧では、 を使用してすべてのパラメーター teamsfx newを制御するシナリオを示します。

  • RESTify サーバーを使用して HTTP によってトリガーされた通知ボット。

    teamsfx new --interactive false --capabilities "notification" --bot-host-type-trigger "http-restify" --programming-language "typescript" --folder "./" --app-name       MyAppName
    
  • Teams コマンドと応答ボット。

    teamsfx new --interactive false --capabilities "command-bot" --programming-language "typescript" --folder "./" --app-name myAppName
    
  • Reactを使用して SPFx でホストされるタブ アプリ。

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

teamsfx add

次の表に、Teams アプリケーションのさまざまな機能とその説明を示します。

コマンド 説明
teamsfx add notification さまざまなトリガーを使用してMicrosoft Teams に通知を送信します。
teamsfx add command-and-response Teams チャットで簡単なコマンドに応答Microsoft。
teamsfx add sso-tab Microsoft Teams に埋め込まれた Teams ID 対応 Web ページ。
teamsfx add tab Microsoft Teams に埋め込まれた Hello world Web ページ。
teamsfx add bot ユーザーが簡単で反復的なタスクを実行する Hello world chatbot。
teamsfx add message-extension ボタンとフォームを介した対話を許可する Hello world メッセージ拡張機能。
teamsfx add azure-function より少ないコードを記述できるサーバーレスのイベント ドリブン コンピューティング ソリューション。
teamsfx add azure-apim すべての環境にわたる API 用のハイブリッドマルチクラウド管理プラットフォーム。
teamsfx add azure-sql クラウド用に構築された常に最新のリレーショナル データベース サービス。
teamsfx add azure-keyvault シークレットを安全に格納してアクセスするためのクラウド サービス。
teamsfx add sso Teams 起動ページとボット機能のシングル サインオン (SSO) 機能を開発します。
teamsfx add api-connection [auth-type] TeamsFx SDK を使用した認証サポートを使用して API に接続します。
teamsfx add cicd GitHub、Azure DevOps、または Jenkins 用の CI/CD ワークフローを追加します。

teamsfx account

次の表に、Azure や Microsoft 365 などのクラウド サービス アカウントを示します。

コマンド 説明
teamsfx account login <service> 選択したクラウド サービスにログインします。 サービス オプションは、Microsoft 365 または Azure です。
teamsfx account logout <service> 選択したクラウド サービスからログアウトします。 サービス オプションは、Microsoft 365 または Azure です。
teamsfx account set --subscription アカウント設定を更新してサブスクリプション ID を設定します。

teamsfx env

次の表に、さまざまな環境を示します。

コマンド 説明
teamsfx env add <new_env_name> --env <existing_env_name> 指定した環境からコピーして、新しい環境を追加します。
teamsfx env list すべての環境を一覧表示します。

teamsfx env のシナリオ

既存の開発環境からコピーして、新しい環境を作成します。

teamsfx env add staging --env dev

teamsfx provision

現在のアプリケーションでクラウド リソースをプロビジョニングします。

teamsFx provisionコマンド 説明
teamsfx provision manifest Teams 開発者ポータルで、指定されたマニフェスト ファイルで指定された対応する情報を使用して Teams アプリをプロビジョニングします。

teamsfx provision のパラメーター

パラメーター 要件 説明
--env はい プロジェクトの環境を選択します。
--subscription いいえ Azure サブスクリプション ID を指定します。
--resource-group いいえ 既存のリソース グループの名前を設定します。
--sql-admin-name なし プロジェクトに SQL リソースがある場合に適用されます。 SQL の管理者名。
--sql-password なし プロジェクトに SQL リソースがある場合に適用されます。 SQL の管理者パスワード。

teamsfx deploy

このコマンドは、現在のアプリケーションをデプロイするために使用されます。 既定では、プロジェクト全体がデプロイされますが、部分的にデプロイすることもできます。 オプションは、frontend-hostingbotapimspfxfunctionaad-manifestおよび manifestです。

teamsfx deploy のパラメーター

パラメーター 要件 説明
--env はい プロジェクトの既存の環境を選択します。
--open-api-document いいえ プロジェクトに APIM リソースがある場合に適用されます。 開いている API ドキュメント ファイルパス。
--api-prefix なし プロジェクトに APIM リソースがある場合に適用されます。 API 名プレフィックス。 API の既定の一意の名前は {api-prefix}-{resource-suffix}-{api-version} です。
--api-version なし プロジェクトに APIM リソースがある場合に適用されます。 API バージョン。
--include-app-manifest いいえ アプリ マニフェストを Teams プラットフォームにデプロイするかどうか。 オプションは yesnotです。 既定値は no です。
--include-aad-manifest いいえ aad マニフェストをデプロイするかどうか。 オプションは yesnotです。 既定値は no です。

teamsfx validate

現在のアプリケーションを検証します。 このコマンドは、アプリケーションのマニフェスト ファイルを検証します。

teamsfx validate のパラメーター

--env: プロジェクトの既存の環境を選択します。

teamsfx publish

アプリを Teams に公開する。

teamsfx publish のパラメーター

--env: プロジェクトの既存の環境を選択します。

teamsfx package

Teams アプリを公開用のパッケージにビルドします。

teamsfx preview

ローカルまたはリモートから現在のアプリケーションをプレビューします。

teamsfx preview のパラメーター

パラメーター 要件 説明
--local いいえ ローカルからアプリケーションをプレビューします。 --local--remote 専用です。
--remote なし リモートからアプリケーションをプレビューします。 --remote--local 専用です。
--env いいえ パラメーター --remote が追加されたときに、プロジェクトの既存の環境を選択します。
--folder なし プロジェクトのルート ディレクトリ。 既定値は ./ です。
--browser いいえ Teams Web クライアントを開くためのブラウザー。 オプションはシステムの既定ブラウザなどの chromeedgedefault で、値は default です。
--browser-arg いいえ ブラウザに渡す引数。--browser が必要です。たとえば、--browser-args="--guest" のように、複数回使用できます。
--sharepoint-site いいえ SPFx プロジェクトのリモート プレビュー用の {your-tenant-name}.sharepoint.com などの SharePoint サイトの URL。
--m365-host Teams、Outlook、または Microsoft 365 (正式には Office アプリ) でアプリケーションをプレビューします。 オプションは、teamsoutlook、および officeです。 既定値は teams です。

teamsfx preview のシナリオ

次の一覧は、teamsfx プレビューの一般的なシナリオを示しています。

  • ローカル プレビュー

    依存関係:

    • Node.js
    • .NET SDK
    • Azure Functions Core Tools
    teamsfx preview --local
    teamsfx preview --local --browser chrome
    
  • リモート プレビュー

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

    注:

    React などのバックグラウンド サービスのログは ~/.fx/cli-log/local-preview/ に保存されます。

teamsfx config

構成データは、ユーザー スコープまたはプロジェクト スコープ内にあります。

コマンド 説明
teamsfx config get [option] オプションの構成値を表示します。
teamsfx config set <option> <value> オプションの構成値を更新します。

teamsfx config のパラメーター

パラメーター 要件 説明
--env はい プロジェクトの既存の環境を選択します。
--folder いいえ プロジェクト構成の取得または設定に使用されるプロジェクト ディレクトリ。 既定値は ./ です。
--global いいえ 構成のスコープ。 true の場合、スコープはプロジェクト スコープではなくユーザー スコープに制限されます。 既定値は false です。 現在、サポートされているグローバル構成には、、、validate-dotnet-sdkvalidate-func-core-toolsvalidate-nodeが含まれますtelemetry

teamsfx config のシナリオ

ファイル内の .userdata シークレットは暗号化され、 teamsfx config 必要な値を表示または更新するのに役立ちます。

  • テレメトリ データの送信を停止する

    teamsfx config set telemetry off
    
  • 環境チェッカーを無効にする

    Node.jsをオンまたはオフにする構成は 3 つあり、.NET SDK と Azure Functions Core Tools の検証は既定で有効になっています。 依存関係の検証が不要で、自分で依存関係をインストールする場合は、構成を "オフ" に設定できます。 次のガイドを確認してください。

    .NET SDK の検証を無効にするには、次のコマンドを使用します。

    teamsfx config set validate-dotnet-sdk off
    

    .NET SDK 検証を有効にするには、次のコマンドを使用します。

    teamsfx config set validate-dotnet-sdk on
    
  • すべてのユーザー スコープ構成を表示する

    teamsfx config get -g
    
  • プロジェクト内のすべての構成を表示する

    teamsfx config get --env dev
    

    注:

    シークレットは自動的に暗号化解除されます。

  • プロジェクト内のシークレット構成を更新する

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

teamsfx permission

TeamsFx CLI には、コラボレーション シナリオ用のコマンドが用意 teamsFx permission されています。

コマンド 説明
teamsfx permission grant --env --email 指定された環境のプロジェクトに対して、共同編集者の Microsoft 365 アカウントにアクセス許可を付与します。
teamsfx permission status プロジェクトのアクセス許可の状態を表示する

teamsfx permission grant のパラメーター

パラメーター 要件 説明
--env はい env 名を指定します。
--email はい コラボレーターの Microsoft 365 メール アドレスを指定します。 コラボレーターのアカウントが作成者と同じテナントにあることを確認します。

teamsfx permission status のパラメーター

パラメーター 要件 説明
--env はい env 名を指定します。
--list-all-collaborators なし このフラグを使用すると、Teams Toolkit CLI によってプロジェクトのすべてのコラボレーターが出力されます。

teamsfx permission のシナリオ

次の一覧は、プロジェクトに必要なアクセス許可を TeamsFx 提供します。

  • アクセス許可の付与

    プロジェクトの作成者と共同作業者は、teamsfx permission grant コマンドを使用して、プロジェクトに新しい共同作業者を追加できます。

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

    必要なアクセス許可を受け取った後、プロジェクトの作成者とコラボレーターは GitHub によって新しいコラボレーターとプロジェクトを共有でき、新しいコラボレーターはMicrosoft 365 アカウントのすべてのアクセス許可を持つことができます。

  • アクセス許可の状態を表示する

    プロジェクト作成者とコラボレーターは、コマンドを使用teamsfx permission statusして、特定の env のMicrosoft 365 アカウントのアクセス許可を表示できます。

    teamsfx permission status --env dev
    
  • すべてのコラボレーターを一覧表示する

    プロジェクトの作成者と共同作業者は、teamsfx permission status コマンドを使用して、特定の環境のすべての共同作業者を表示できます。

    teamsfx permission status --env dev --list-all-collaborators
    
  • CLI での E2E コラボレーション作業フロー

    • プロジェクト作成者として

      • 新しい TeamsFx タブまたはボット プロジェクトを作成し、ホストの種類として Azure を作成するには:

        teamsfx new --interactive false --app-name newapp --host-type azure
        
      • Microsoft 365 アカウントと Azure アカウントにログインするには:

        teamsfx account login azure
        teamsfx account login Microsoft 365
        
      • プロジェクトをプロビジョニングするには:

        teamsfx provision
        
      • 共同作業者を表示するには:

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

        permission-1

      • 共同作業者として別のアカウントを追加する。 追加されたアカウントが同じテナントの下にあることを確認します。

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

        permission

      • プロジェクトを GitHub にプッシュするには

    • Project Collaborator として:

      • GitHub からプロジェクトを複製します。

      • Microsoft 365 アカウントにログインします。 同じ Microsoft 365 アカウントが追加されていることを確認します。

        teamsfx account login Microsoft 365
        
      • すべての Azure リソースの共同作成者アクセス許可を持つ Azure アカウントにログインします。

        teamsfx account login azure
        
      • アクセス許可の状態を確認する:

        teamsfx permission status --env dev
        

        注:

        プロジェクト所有者のアクセス許可を持っていることを確認します。

        アクセス許可の状態を確認する

      • Tab コードを更新し、プロジェクトをリモートにデプロイします。

      • リモートとプロジェクトを起動します。

Azure Web アプリに手動でデプロイする

  1. [SSO 有効化] タブを作成します。

  2. プロジェクトをプロビジョニングします。

    teamsfx provision
    
  3. または をtabsapi folder実行npm installしてnpm run build:teamsfx:dev、追加されたパッケージをインストールします。

  4. コンピューターと同じ OS に Windows アプリ サービスを作成します。

  5. 、、または buildtabs実行$ az webapp up --name --html --subscriptionしますfolder

  6. を変更します templates/azure/provision/frontendHosting.bicep

  7. もう一度プロビジョニングします。 Teams Toolkit では、Azure Active Directory (Azure AD) とマニフェストが更新されます。

  8. ビルド内のフォルダーまたは AppPackage フォルダーを appPackage.dev.zip 見つけて、Teams に追加します。

関連項目