我正在开展一个项目,我们将把 Lighthouse CI 集成到我们的 TeamCity Pipeline 中。这是可行的,但我想使用官方 Slack Notifier 和系统消息将结果发布到我们的 Slack 频道中(Slack Notifier 本身尚无法使用消息模板)。
我通过 Lighthouse CI 服务器 API 提取有关报告的链接和元信息,该 API 工作完美,唯一的事情是想象项目的名称(Git、TeamCity 和 LHCI)是“MyApp”,并且 Lighthouse CI 报告存储在链接看起来像 http://192.168.1.3:9001/app/projects/myApp/compare/6c216h396311
通知者在我们的 Slack 频道中发布的链接突然看起来像这样:
http://192.168.1.3:9001/app/projects/********/compare/6c216h396311
我尝试在不使用 Slack Notifier 的情况下将“MyApp”发布为默认系统消息,这很有效。使用 Slack Notifier 会使我的项目名称不可读。我无法找到任何信息来防止这种行为。
让 TeamCity 通过系统消息和官方 Slack 通知程序从本地托管的 LHCI 服务器发布 LHCI 报告。
其实唯一应该防止的就是postURL,这是有道理的,但是哪里可以防止项目名称被审查呢?
我终于想明白了..
TeamCity 似乎只是解析 Slack Notifier(官方)发送的所有通知消息,如果某些内容与内部使用的帐户名匹配,它只是对其进行审查。出于多种安全原因,这绝对有意义,但在我们的例子中,帐户名与我们的项目和域名相匹配。因此,实际上没有必要防止这种“泄漏”,但最终为 TeamCity 选择这样的帐户名可能并不明智维护帐户。
我所做的不是更改帐户名,这是我想要的,但我是公司的新人,不想一次混淆太多事情。所以我只是编写了一个小的 php 脚本来在 URL 中使用禁止的名称并重定向。
你也应该这么做吗?
不,您不应该。 使用与您想要在任何类型的外部应用程序中显示的内容无关的 TeamCity 用户名。
最美好的祝愿