问题描述
我现在很安静。
我想从我的 sqlite3 数据库中加载一些数据,然后根据这些数据创建一些验收标准并使用这些 acc 更新相应的问题。
我遇到的问题是我不明白我的问题出在哪里关于包含验收标准数据的列表元素的“构建”
for entry in accDict:
strAcc = (
strAcc
+ '{"name":'
+ entry["NAME"]
+ ',"checked": False,"Mandatory":'
+ entry["MANDATORY"]
+ ',"option": False,"id":'
+ str(cnt_id)
+ ',"rank": '
+ str(cnt_rank)
+ ",} "
)
cnt_id += 1
cnt_rank += 1
strAcc = "[{" + strAcc + "}]"
接下来我想插入这个字符串并更新相应问题的自定义字段。
new_issue.update(fields={"customfield_11100": [strAcc]})
strAcc 中的代码如下
[{
{"name":Create Testcases,"Mandatory":True,"id":1,"rank": 0,},{"name":Request Testdata,"id":2,"rank": 1,{"name":Verify Testressources,"id":3,"rank": 2,}]
这意味着完整的插入看起来像这样
new_issue.update(fields={"customfield_11100":[{
{"name":Create Testcases,}]})
我收到的错误是
响应文本 = {"errorMessages":["内部服务器错误"],"errors":{}}
如果我手动创建字符串并将其放置在最后一个代码块中,它可以完美地工作...
解决方法
我认为您在“名称”属性中缺少引号...
此外,我建议您编写实际的 python dicts,而不是 json 字符串,因为它们可以轻松翻译,并提高可读性:
strAcc = []
for entry in accDict:
strAcc.append({
"name": entry["NAME"],"checked": False,"mandatory": entry["MANDATORY"],"option": False,"id": str(cnt_id),"rank": str(cnt_rank)
})
cnt_id += 1
cnt_rank += 1