You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中正确格式化带变量的Azure DevOps Pipeline API JSON请求

Azure DevOps Python API传参额外引号问题解决方案

问题原因

Azure DevOps 的Build REST API 要求templateParameters字段接收的是JSON序列化后的字符串,而非直接传入Python嵌套字典。你之前直接传递嵌套字典时,服务端会将内部的键值对整体识别为字符串类型,导致输出时自动带上额外双引号;GUI输入时服务端会直接解析输入的原始值,因此不会产生多余引号。

解决方法

引入json模块,手动将templateParameters对应的字典序列化为JSON字符串后再传入请求体即可。
修改后的代码如下:

import json
import requests
from requests.auth import HTTPBasicAuth

# Api function
def auth_restapi():
    auth = HTTPBasicAuth(username, password)
    return auth

url = "https://[ORG].visualstudio.com/[PROJECT]/_apis/build/builds?api-version=6.0"
build_version = "1.2.3"
# 手动序列化templateParameters的内容为JSON字符串
data = {
    "templateParameters": json.dumps({"build_version": build_version}),
    "definition": {"id": 4}
}
requests.post(url, auth=auth_restapi(), json=data)

修改后再次请求,日志输出就会和GUI输入效果一致,得到无额外引号的build_version: 1.2.3。


内容的提问来源于stack exchange,提问作者Josh Hyde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 08:24:02