在TeamCity中如何检查上一次构建是否失败?(版本2020.1.2)
解决方案:在TeamCity 2020.1.2中检测构建修复状态
一、使用TeamCity内置参数设置构建步骤条件
TeamCity提供了直接可用的内置参数来获取上一次构建状态,可用来控制通知步骤的执行:
- 核心参数:
teamcity.build.previous.status,返回值包括SUCCESS、FAILURE、ERROR等状态标识 - 配置步骤条件:
- 添加负责发送通知的构建步骤(比如邮件脚本、消息推送任务)
- 在步骤的「执行条件」中选择「自定义条件」
- 输入条件表达式:
teamcity.build.previous.status == 'FAILURE' && teamcity.build.status == 'SUCCESS'
只有当上一次构建失败且当前构建成功时,该步骤才会触发,精准实现“修复通知”逻辑
二、在Python脚本中读取状态参数
TeamCity会将所有构建参数注入为环境变量,你可以在Python中通过os.environ直接读取:
import os # 环境变量名称为大写格式,原参数的点号替换为下划线 prev_build_status = os.environ.get('TEAMCITY_BUILD_PREVIOUS_STATUS') curr_build_status = os.environ.get('TEAMCITY_BUILD_STATUS') if prev_build_status == 'FAILURE' and curr_build_status == 'SUCCESS': # 此处编写你的通知逻辑,比如调用Slack机器人、发送邮件等 print("构建已修复:上一次失败,当前成功!")
三、额外注意点
- 默认情况下构建配置已允许访问上一次构建的参数,若出现参数获取失败,可检查构建配置的「参数」设置
teamcity.build.previous.status针对同一分支的上一次构建,适配分支级别的修复检测需求
内容的提问来源于stack exchange,提问作者Stephen Oberauer
相关产品推荐
相关产品推荐

