posted at 2022-03-06
updated at 2022-03-15
背景
Tag 用のメンションが対応されたけど、予想とちょっと違ったので現時点での比較
会社で使えるコネクター部分をまとめておく
制約
Tag への登録数などの制限もあるので注意
概要
- Teams Channel 内 Tag を使った Mention (メンション)
- HTML タグを利用した、メンション比較
- <at>
- UserID, UserEMail を囲むことでメンション可能
<at>{UserId}</at>
<at>{UserEmail}</at>
- UserID, UserEMail を囲むことでメンション可能
- <atTag>
- TagID, TeamID を囲むことで、タグメンション可能
<atTag><tagId>{id}</tagId><groupId>{teamId}</groupId></atTag>
- TagID, TeamID を囲むことで、タグメンション可能
- <at>
List Tags は、以下とかで使えそう
- 役割を Tag 設定しておいて、自動応答での役割担当へのメンション
<atTag> は、現状 Post as を User 以外で使うと以下エラーが出ます
atTagError
{ "error": { "code": 400, "message": "Mentioning tags is currently only supported when posting as a user. Please change the poster type to user or remove the at mentions for tags.", "source": "japan-001.azure-apim.net", "path": "choose[22]\\when[1]", "policyId": "", "clientRequestId": "8bb1de33-5a77-4d97-b061-1bf73980a539" } }
Teams Channel Tag のメンション
以下二点のコネクターの利用例
DEPRECATED (廃止) がついてるのは、すぐに Version 2 とかにあがる?
直接取得して Tag メンション
- Team, Tag
を選択して、
- 動的コンテンツから選択してしまえば
- こんな感じで使える
adaptive card の例だが、message でも同様
名称を指定して使う場合(tag 一覧から、名称一致を選択)
-
対象チームの Tag 一覧を取得して JSON 解析
[displayName] で名称を抽出して
以下では Filter array を利用しているのでそのまま使うなら First()?['id'] や [0]?['id'] という指定が必要[ID] を使って、メンションタグを生成
動的コンテンツ、もしくは、<atTag><tagId>{id}</tagId><groupId>{teamId}</groupId></atTag> で手書きする
利用例
<at> vs <atTag>
Tag Mention と User Mention を Adaptive Card と Message の二種類で実施した例が以下
何故か adaptive card の書式が変ではある
あとがき
そのうち以下も対応されるといいね。
- @team
- @channel
<at>, <atTag> で TeamID や ChannelID を囲ってみたけど、全然ダメ。<atTag> は応答すら返ってこない。
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
What you can do with signing up