発端
「開始時と終了時にChatにメッセージ投げてくれるのはいんだけど、同じ文字数で同じ色だとわかりにくいんだよね。」
と言われてしまった。俺もそう思ってた。
どうすればいい?
普通にChatにメッセージ投げる場合は
{
"text":"処理を開始しました"
}
と簡単なjsonをWebhookのurlにcurlでpostしれやればOK。文字を太くしたり、斜体にするのもおなじみのMarkdown表記で大丈夫だが、色を付けるとなると途端に面倒になる。
文字に色をつけてChatに投稿するにはCard V2をpostする必要がある。
最低限、一部の文字に色を付けるには以下のようなjsonにすればよい。
{
"cardsV2": [
{
"card": {
"sections": [
{
"widgets": [
{
"decoratedText": {
"text": "処理を<font color=\"#ff0000\">開始</font>しました"
}
}
]
}
]
}
}
]
}
一気に面倒になった。
[]
や{}
の具合が変更するときに面倒なら、こんな具合にjqを使ってみるのもいいかも。
jq -c -n '.cardsV2 = [.card.sections = [.widgets = [.decoratedText.text = "処理を<font color=\"#ff0000\">開始</font>しました"]]]'