TeamsのAdaptive Cardの横幅をMaxにする

Teamsで利用していたIncomming WebhookやRSSなどなど、これまではO365コネクタを利用していましたがリタイヤするということで、Power AutomateベースのWebhookへ切り替えをしていました。

RSSもまとめて移行したいけど、まとめて移行する手段を今のところ見つけられておらず、一応手作業で100本ほど移行してみた...

Webhookに関してはpython経由でpostしていたこともあって、jsonを以下のように変更。最初はただのテキストメッセージなのに横幅が100%にならず、途中で「...」の三点リーダーで省略されてしまうということで、width指定を入れました。


def send_teams_message(webhook_ur1, message):
    headers = {"Content-Type": "application/json"}
    payload = {
        "type": "message",
        "attachments": [
            {
                "contentType": "application/vnd.microsoft.card.adaptive",
                "contentUrl": "",
                "content": {
                    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
                    "team_id": "",
                    "channel_id": "",
                    "type": "AdaptiveCard",
                    "version": "1.2",
                    "body": [{"type": "TextBlock", "text": message}],
                    "msteams": {"width": "Full"},
                },
            }
        ],
    }
    response = requests.post(webhook_url, data=json.dumps(payload), headers=headers)
    # responseに対する処理があれば...

bodyに渡すmessageはmarkdown形式で渡すっぽい。HTMLタグも利用出来るかもしれないけど。

リンクであれば


[リンクテキスト](https://example.com)

の形式で記述したら、良さそうな感じに表示された。

改行については、いままで通常の改行コードを入れていたけど改行されなくなったのでCRLFコードへ変更


\n -> \r\n

これでしばらくは様子を見ようと思います

Share:

0 コメント:

コメントを投稿