【发布时间】:2022-01-11 21:50:31
【问题描述】:
我正在使用 gitpython 和 pymsteams 向 Microsoft Teams 发布 git commit 消息。本地日志输出按预期显示颜色差异。但是,无论我指定的 --color 参数如何,Teams 都不会显示颜色。
有谁知道如何保留此处的颜色以完整发布到 Teams?
代码:
import pymsteams
from git import Repo
myTeamsMessage = pymsteams.connectorcard("Teams Webhook URL")
repo = Repo(os.environ[ "OX_REPO_NAME" ])
diff = repo.git.show("--color",os.environ[ "OX_REPO_COMMITREF" ])
msg = '''\
Changes to `%s`:
```diff
%s```
''' % ( os.environ[ "OX_NODE_NAME" ],
diff,
)
myTeamsMessage.text(msg)
myTeamsMessage.send()
更新自适应卡
我尝试使用 Microsoft 的自适应卡片示例,但在 Teams 中获得了完全相同的输出。 [没有颜色,而是显示了奇怪的格式 33m][1]
url="Teams Webhook URL"
payload2 = {
"type":"message",
"attachments":[
{
"contentType":"application/vnd.microsoft.card.adaptive",
"content":{
"$schema":"http://adaptivecards.io/schemas/adaptive-card.json",
"type":"AdaptiveCard",
"version":"1.2",
"body":[
{
"type": "TextBlock",
"text": msg
},
]
}
}
]
}
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers, data=json.dumps(payload2))
[1]: https://i.stack.imgur.com/mv0t4.png
【问题讨论】:
-
也许您分享您想要突出显示的输出?
-
您能否分享一下重现步骤并截取您想要实现的目标?
-
我只想显示 git commit 差异(红色表示减去,绿色表示添加配置)。这是一个例子。 dropbox.com/s/swu3wj8svadow5n/…
-
重现的步骤仅包括运行该脚本并查看 Teams 中的输出未着色。
标签: python git colors microsoft-teams