gpt4 book ai didi

python - 如何使用 python api 添加 azure devops 迭代路径选项

转载 作者:行者123 更新时间:2023-12-02 06:55:19 30 4
gpt4 key购买 nike

我有一个具有多个迭代路径的 Azure DevOps 项目: image

如果我使用此 Azure Python API ( https://github.com/microsoft/azure-devops-python-api ) 创建一个新工作项,并将 /fields/System.IterationPath 设置为已存在的值,例如 RTC-ADS\PI28\Sprint 28-3 它将毫无问题地创建工作项。

但是,如果我尝试创建一个具有尚不存在的迭代的工作项,例如 RTC-ADS\PI27,它将失败并出现错误

ERROR:root:Error creating ADS work item: TF401347: Invalid tree name given for work item -1, field 'System.IterationPath'.

我可以在 Azure 项目设置中手动创建 PI27,但是有没有办法可以使用此 Azure Python API 通过发出 POST 请求或其他方式来为 PI27 创建新的迭代值?

我找到了支持如何执行此操作的文档,我相信: https://learn.microsoft.com/en-us/rest/api/azure/devops/work/iterations/post-team-iteration?view=azure-devops-rest-6.0

但是是否可以使用此 API 添加新的迭代值? https://github.com/microsoft/azure-devops-python-api

谢谢

编辑

我一直在尝试获取 POST 请求来添加新的迭代路径:

pat = CONFIG.personal_access_token
authorization = str(base64.b64encode(bytes(':'+pat, 'ascii')), 'ascii')

headers = {
'Accept': 'application/json',
'Authorization': 'Basic '+authorization
}

response = requests.post(
url="https://dev.azure.com/ADSP-Org-A03/RTC-ADS/_apis/work/teamsettings/iterations?api-version=6.0&iteration=apple&startDate=2021-01-01&endDate=2021-01-11",
headers=headers
)

print(response.text)

但这会导致错误:


{"$id":"1","innerException":null,"message":"Value cannot be null.\r\nParameter name: iteration","typeName":"System.ArgumentNullException, mscorlib","typeKey":"ArgumentNullException","errorCode":0,"eventId":0}

我正在尝试解决这个问题,我的请求格式是否不正确?我无法在线找到向 ADS 项目添加迭代路径的工作示例

最佳答案

您采取的第一种方法应该是正确的,但我认为您错误地传递了请求数据。应该是这样的

pat = CONFIG.personal_access_token
authorization = str(base64.b64encode(bytes(':'+pat, 'ascii')), 'ascii')

iteration_id = "" # add id here
headers = {
'Accept': 'application/json',
'Authorization': 'Basic '+authorization
}
attributes = {"startDate":"2021-01-01", "endDate": "2021-01-11"}
data = {"id": iteration_id, "attributes": attributes}

let url = "https://dev.azure.com/ADSP-Org-A03/RTC-ADS/_apis/work/teamsettings/iterations?api-version=6.0"
response = requests.post(url=url, headers=headers, json=data)

print(response.text)

或者,对于分类节点方法,您使用的数据不正确。应该是

data = {
"name":"Wk 18.02 - 18.03",
"attributes": {
"startDate":"8 january 2018 GMT",
"finishDate":"21 january 2018 GMT"
}
}

关于python - 如何使用 python api 添加 azure devops 迭代路径选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72470781/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com