我使用Ansible ProjectD
模块发送通知,其中包括针对须予通知的人的@mentions。我的多字显示名称有问题,但单字显示名称可以正常工作。
例如:
projectB
然后slack
与爱丽丝和鲍勃一起工作。而他,因为他的Ghengis Khan,当然会选择一个多字显示名称。给出以下消息:
ok: [localhost] => {
"msg": "message: `SANDPIT` started ELMS and LACM MapGuide\nFYI <@alice> <@bob>"
}
<@Genghis Khan>
已被识别,ok: [localhost] => {
"msg": "message: `SANDPIT` started ELMS and LACM MapGuide\nFYI <@Ghenkis Khan> <@bob>"
}
不是
我也按照https://api.slack.com/changelog/2017-09-the-one-about-usernames的建议尝试了用户ID,但他们不能更好地工作,所以我还原了显示名称。但是为了完整性,这里是消息内容的一个示例,其中包含有效的用户ID但结果无效:
@bob
如上所述,Slack也没有购买这些用户ID。
这里是将消息发送给Slack的Ansible任务。所有令牌等都按预期工作,这都发生在同一个工作区中。
<@Ghenkis Khan>
答案 0 :(得分:-1)
根据slack插件的msg属性的official documentation,所有尖括号和&符号都需要使用HTML表示法进行转义:
要发送的消息。请注意,该模块不处理转义 字符。应该是纯文本尖括号和&符号 在发送之前转换为HTML实体(例如&amp; to&amp;)。看到 Slack的文档(https://api.slack.com/docs/message-formatting) 更多。
所以你想尝试这样的事情:
TASK [slack : debug]
***********************************************************
ok: [localhost] => {
"msg": "message: `SANDPIT` started ELMS and LACM MapGuide\nFYI <@U12345DK> <@U12345TT>"
}