如何在Azure DevOps self-hosted agent启动的Python脚本中无参读取管道信息
在Azure DevOps自托管代理的Python脚本中读取管道信息(无需传参)
Azure DevOps会自动将管道相关变量注入到自托管代理进程的环境变量中,Python脚本可以直接通过os.environ读取这些变量,无需手动传参。对应你需要的信息,变量映射关系如下:
build.definitionName→ 环境变量名:BUILD_DEFINITIONNAMEsystem.teamProjectId→ 环境变量名:SYSTEM_TEAMPROJECTIDsystem.pipelineStartTime→ 环境变量名:SYSTEM_PIPELINESTARTTIME
Python示例代码
import os # 读取管道环境变量 build_def_name = os.environ.get("BUILD_DEFINITIONNAME") team_project_id = os.environ.get("SYSTEM_TEAMPROJECTID") pipeline_start_time = os.environ.get("SYSTEM_PIPELINESTARTTIME") # 输出信息(可根据需求调整逻辑) if build_def_name: print(f"构建定义名称: {build_def_name}") if team_project_id: print(f"团队项目ID: {team_project_id}") if pipeline_start_time: print(f"管道启动时间: {pipeline_start_time}")
注意事项
- 这些环境变量由Azure DevOps代理自动生成,只要脚本是在管道任务(如
script或PythonScript任务)中执行,就能直接读取。 - 环境变量名遵循全大写规则,原变量中的点号会被替换为下划线。
内容的提问来源于stack exchange,提问作者Ostpanaka
相关产品推荐
相关产品推荐

