Slack
Slack 集成 {#slack}
Section titled “Slack 集成 {#slack}”如果您的组织使用 Slack,您可以将 Tuist 集成以直接在您的频道中显示洞察。这将监控从团队需要记住做的事情转变为自动发生的行为。例如,您的团队可以接收每日构建性能、缓存命中率或打包大小趋势的摘要。
设置 {#setup}
Section titled “设置 {#setup}”连接您的 Slack 工作区 {#connect-workspace}
Section titled “连接您的 Slack 工作区 {#connect-workspace}”首先,在 Integrations 选项卡中将您的 Slack 工作区连接到您的 Tuist 账户:

点击 Connect Slack 以授权 Tuist 向您的工作区发布消息。这将重定向到 Slack 的授权页面,您可以在其中批准连接。
[!NOTE] SLACK 管理员审批
如果您的 Slack 工作区限制应用安装,您可能需要请求 Slack 管理员的审批。Slack 将在授权过程中引导您完成审批请求流程。
项目报告 {#project-reports}
Section titled “项目报告 {#project-reports}”连接 Slack 后,在项目设置的通知选项卡中为每个项目配置报告:

您可以配置:
- Channel:选择接收报告的 Slack 频道
- Schedule:选择一周中的哪几天接收报告
- Time:设置一天中的时间
[!WARNING] 私有频道
要让 Tuist Slack 应用在私有频道中发布消息,您必须首先将 Tuist 机器人添加到该频道。在 Slack 中,打开私有频道,点击频道名称打开设置,选择 “Integrations”,然后点击 “Add apps” 并搜索 Tuist。
配置完成后,Tuist 会向您选择的 Slack 频道发送自动每日报告:
告警规则 {#alert-rules}
Section titled “告警规则 {#alert-rules}”通过 Slack 中的告警规则在关键指标显著退化时收到通知,帮助您尽快发现更慢的构建、缓存退化或测试变慢,最大限度地减少对团队生产力的影响。
要创建告警规则,请转到项目的通知设置并点击 Add alert rule:
您可以配置:
- Name:告警的描述性名称
- Category:要测量的内容(构建时长、测试时长或缓存命中率)
- Metric:如何聚合数据(p50、p90、p99 或平均值)
- Deviation:触发告警的百分比变化
- Rolling window:要与多少个最近运行进行比较
- Slack channel:发送告警的位置
例如,您可以创建一个告警,当 p90 构建时长与前 100 次构建相比增加超过 20% 时触发。
当告警触发时,您将在 Slack 频道中收到类似这样的消息:
[!NOTE] 冷却期
告警触发后,同一规则在 24 小时内不会再触发。这可以防止指标持续升高时的通知疲劳。
不稳定测试告警 {#flaky-test-alerts}
Section titled “不稳定测试告警 {#flaky-test-alerts}”当测试变得不稳定时立即收到通知。与基于指标的比较滚动窗口的告警规则不同,不稳定测试告警在 Tuist 检测到新的不稳定测试时立即触发,帮助您在测试不稳定影响团队之前发现它。
要创建不稳定测试告警规则,请转到项目的通知设置并点击 Add flaky test alert rule:
您可以配置:
- Name:告警的描述性名称
- Trigger threshold:在最近 30 天内触发告警所需的最少不稳定运行次数
- Slack channel:发送告警的位置
当测试变得不稳定并达到您的阈值时,您将收到一条包含直接链接的通知,以便调查测试用例:
自托管部署 {#on-premise}
Section titled “自托管部署 {#on-premise}”对于自托管的 Tuist 部署,您需要创建自己的 Slack 应用并配置必要的环境变量。
创建 Slack 应用 {#create-slack-app}
Section titled “创建 Slack 应用 {#create-slack-app}”- 转到 Slack API Apps 页面 并点击 Create New App
- 选择 From an app manifest 并选择要安装应用的工作区
- 粘贴以下清单,将重定向 URL 替换为您的 Tuist 服务器 URL:
{ "display_information": { "name": "Tuist", "description": "Get regular updates and alerts for your builds, tests, and caching.", "background_color": "#6f2cff" }, "features": { "bot_user": { "display_name": "Tuist", "always_online": false } }, "oauth_config": { "redirect_urls": [ "https://your-tuist-server.com/integrations/slack/callback" ], "scopes": { "bot": [ "chat:write", "chat:write.public" ] } }, "settings": { "org_deploy_enabled": false, "socket_mode_enabled": false, "token_rotation_enabled": false }}- 审核并创建应用
配置环境变量 {#configure-environment}
Section titled “配置环境变量 {#configure-environment}”在您的 Tuist 服务器上设置以下环境变量:
SLACK_CLIENT_ID- 来自您 Slack 应用的 Basic Information 页面的 Client IDSLACK_CLIENT_SECRET- 来自您 Slack 应用的 Basic Information 页面的 Client Secret