アダプティブ カードのユーザー ピッカー

Peopleピッカーは、ユーザーがアダプティブ カードでユーザーを検索して選択するのに役立ちます。 入力コントロールとしてPeopleピッカーをアダプティブ カードに追加できます。これは、チャット、チャネル、ダイアログ (TeamsJS v1.x のタスク モジュールと呼ばれます)、タブ間で機能します。 People ピッカーでは、次の機能がサポートされています。

  • 1 人または複数のユーザーを検索します。
  • 1 つまたは複数のユーザーを選択します。
  • 1 人または複数のユーザーに再割り当てします。
  • 選択したユーザーの名前を事前入力します。

次の表に、アダプティブ カードのPeople ピッカーの一般的なシナリオと、対応するアクションを示します。

シナリオ アクション
承認ベースのシナリオ 要件に基づいて、目的のユーザーに承認を要求、割り当て、再割り当てします。
インシデント管理 インシデントを追跡し、通知、割り当て、目的のユーザーに再割り当てして、直ちに対処します。
プロジェクト管理 特定のユーザーにチケットまたはバグを割り当てるには。
ユーザー参照 organization全体でユーザーを検索します。

Web クライアントとデスクトップ クライアントは、アダプティブ カードのPeopleピッカーをサポートします。 Web での検索中に、People ピッカーにはインライン入力エクスペリエンスが含まれます。

再割り当てシナリオの例

ユーザー A (Robert) は、チャネル内のタスクのチケットを受け取り、間違った担当者を認識します。 ユーザー A は、ボットに情報を送信するタスクを再割り当てします。

タスクを再割り当てするには:

  1. [ユーザー 選択フィールドに名前が事前入力されている場所を 再割り当て する] を選択して、目的のユーザーにタスクを再割り当てします。
  2. 正しくないユーザーの名前を削除します。
  3. イメージ シナリオ、ユーザー B (Mona)、タスクのユーザー C (Robin) に従って、目的のユーザーを選択します。
  4. [割り当て] を選択します。 割り当て後、情報がボットに送信されます。 ボットはアダプティブ カードを更新し、目的のユーザーに通知します。

次の図は、再割り当てシナリオを示しています。

デスクトップ上のPeopleピッカー

People ピッカーを実装する

Peopleピッカーは、Input.ChoiceSet コントロールの拡張機能として実装されます。 入力コントロールには、次の選択項目が含まれます。

  • 展開された選択などのドロップダウン。
  • 1 つの選択など、ラジオ ボタン。
  • 複数の選択などのチェック ボックス。

注:

コントロールはInput.ChoiceSet、 プロパティと isMultiSelect プロパティにstyle基づいています。

スキーマの更新

次のプロパティは、カードでInput.ChoiceSetPeopleピッカー エクスペリエンスを有効にするためにスキーマに追加されています。

Input.ChoiceSet コントロール

プロパティ 必須 説明
choices.data Data.Query いいえ 指定したデータセットから結果をフェッチすることで、さまざまなユーザーの種類に対して動的オートコンプリートを有効にします。

Data.Query

プロパティ 必須 説明
データセット String はい 動的にフェッチする必要があるデータの種類。

データセット

次の表に、ユーザー 選択ウィンドウの データセット として定義済みの値を示します。

データセット 検索スコープ
graph.microsoft.com/users organization全体のすべてのメンバーを検索します。
graph.microsoft.com/users?scope=currentContext 特定のカードが送信されるチャットやチャネルなど、現在の会話のメンバー内を検索します。

organization検索を使用してPeopleピッカーを作成するコード例は次のとおりです。

{
 "type": "AdaptiveCard",
 "body": [
  {
   "type": "TextBlock",
   "size": "Medium",
   "weight": "Bolder",
   "text": "People Picker with Org search enabled"
  },
  {
   "type": "Input.ChoiceSet",
   "choices": [],
   "choices.data": {
    "type": "Data.Query",
    "dataset": "graph.microsoft.com/users"
   },
   "id": "people-picker",
   "isMultiSelect": true
  }
 ],
 "actions": [
  {
   "type": "Action.Submit",
   "title": "Submit"
  }
 ],
 "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
 "version": "1.2"
}

次の図は、organization検索を使用したアダプティブ カードのPeopleピッカーを示しています。

ピッカーの組織検索People

会話メンバーの一覧内で検索を有効にするには、データセット テーブルで定義されている適切な データセット を使用します。 isMultiSelect プロパティは、コントロール内の複数のユーザーの選択を有効にするために使用されます。 既定では false に設定されており、この設定では 1 人のユーザーのみを選択できます。

データ送信

または Action.Execute を使用Action.Submitして、選択したデータをボットに送信できます。 ボットで受信したペイロードはinvoke、Microsoft Entra ID または静的リストで提供される ID の一覧です。 People ピッカーで、コントロールでユーザーが選択されている場合、Microsoft Entra IDユーザーの は戻される値です。 Microsoft Entra IDは文字列であり、ディレクトリ内のユーザーを一意に識別します。

ボットに送信される値の形式は、 プロパティの isMultiSelect 値によって異なります。

の値 isMultiSelect フォーマット
false (単一選択) <selected_Azure_AD_ID>
true (複数選択) <>selected_Azure_AD_ID_1,selected_Azure_AD_ID_2,selected_Azure_AD_ID_3<><>

を使用すると、Microsoft Entra IDPeople ピッカーは、対応するユーザーを事前に選択します。

ユーザーの事前選択

People ピッカーでは、アダプティブ カードを作成して送信するときに、コントロール内のユーザーの事前選択がサポートされます。 Input.ChoiceSet は、ユーザーの value 事前選択に使用される プロパティをサポートします。 この value プロパティの形式は、 データ送信で送信された値の形式と同じです。
次の一覧では、ユーザーの事前選択に関する情報を示します。

  • コントロール内の単一ユーザーの場合は、 としてユーザーの を指定 Microsoft Entra ID します value
  • is などの isMultiSelect 複数のユーザーの場合は true、 のコンマ区切り文字列を Microsoft Entra ID指定します。

次の例では、1 人のユーザーの事前選択について説明します。

{
 "type": "AdaptiveCard",
 "body": [
  {
   "type": "TextBlock",
   "size": "Medium",
   "weight": "Bolder",
   "text": "People Picker with Org search enabled"
  },
  {
   "type": "Input.ChoiceSet",
   "choices": [],
   "choices.data": {
    "type": "Data.Query",
    "dataset": "graph.microsoft.com/users"
   },
   "id": "people-picker",
   "value": "<Microsoft Entra ID 1>"
  }
 ],
 "actions": [
  {
   "type": "Action.Submit",
   "title": "Submit"
  }
 ],
 "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
 "version": "1.2"
}

次の例では、複数のユーザーの事前選択について説明します。

{
 "type": "AdaptiveCard",
 "body": [
  {
   "type": "TextBlock",
   "size": "Medium",
   "weight": "Bolder",
   "text": "People Picker with Org search enabled"
  },
  {
   "type": "Input.ChoiceSet",
   "choices": [],
   "choices.data": {
    "type": "Data.Query",
    "dataset": "graph.microsoft.com/users"
   },
   "id": "people-picker",
   "isMultiSelect": true,
   "value": "<Microsoft Entra ID 1>,<Microsoft Entra ID 2>,<Microsoft Entra ID 3>"
  }
 ],
 "actions": [
  {
   "type": "Action.Submit",
   "title": "Submit"
  }
 ],
 "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
 "version": "1.2"
}

静的な選択肢

静的な選択肢では、定義済みのデータセットにカスタム プロファイルを挿入する必要があるシナリオがサポートされています。 Input.ChoiceSet では、json での静的な指定 choices がサポートされています。 静的な選択は、ユーザーが選択できる選択肢を作成するために使用されます。

注:

静的 choices は動的データセットで使用されます。

選択肢は、 と でtitlevalue構成されます。 Peopleピッカーと共に使用すると、これらの選択肢は、 を名前として、識別子として をvalue持つtitleユーザー プロファイルに変換されます。 これらのカスタム プロファイルは、検索クエリが指定 titleされた と一致する場合にも検索結果の一部です。 次の例では、静的な選択肢について説明します。

{
 "type": "AdaptiveCard",
 "body": [
  {
   "type": "TextBlock",
   "size": "Medium",
   "weight": "Bolder",
   "text": "People Picker with Org search enabled"
  },
  {
   "type": "Input.ChoiceSet",
   "choices": [
    {
     "title": "Custom Profile 1",
     "value": "Profile1"
    },
    {
     "title": "Custom Profile 2",
     "value": "Profile2"
    }
   ],
   "choices.data": {
    "type": "Data.Query",
    "dataset": "graph.microsoft.com/users"
   },
   "id": "people-picker",
   "isMultiSelect": true
  }
 ],
 "actions": [
  {
   "type": "Action.Submit",
   "title": "Submit"
  }
 ],
 "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
 "version": "1.2"
}

次の図は、アダプティブ カードのPeopleピッカーと、organization検索の静的な選択肢を示しています。

people-picker-static-choice

People ピッカーを実装して、さまざまなシナリオで効率的なタスク管理を行うことができます。

コード サンプル

サンプルの名前 説明 .NET Node.js マニフェスト
アダプティブ カードでのピッカー コントロールのPeople このサンプルでは、アダプティブ カードでユーザー 選択コントロールを使用する方法を示します。 表示 表示 表示

関連項目