我无法确定问题的原因。我正在尝试使用 Create Widget Rest API (https://learn.microsoft.com/en-us/rest/api/azure/devops/dashboard/widgets/create?view=azure-devops-rest-7.1&tabs =HTTP)
我面临的问题是,当我尝试添加设置参数以引用特定小部件的查询时,我收到错误。
{'$id': '1',
'innerException': None,
'message': 'Value cannot be null.\r\nParameter name: widget',
'typeName': 'System.ArgumentNullException, mscorlib',
'typeKey': 'ArgumentNullException',
'errorCode': 0,
'eventId': 0
}
这是我用于 POST Create Widget API 的有效负载
payload = {
"name": "Open Issues",
"position": {
"row": 2,
"column": 6
},
"size": {
"rowSpan": 1,
"columnSpan": 1
},
"settings": {
"defaultBackgroundColor":"#51399f",
"queryId":"2d5d4371-bb0d-4984-b277-f71eca948d34",
"queryName":"Open Issues",
"colorRules":[{
"isEnabled":True,
"backgroundColor":"#339947",
"thresholdCount":0,
"operator":"<="}],
"lastArtifactName": "Open Issues"
},
"settingsVersion": {
"major": 1,
"minor": 0,
"patch": 0
},
"contributionId": "ms.vss-dashboards-web.Microsoft.VisualStudioOnline.Dashboards.QueryScalarWidget"
}
如果我设置“settings”:“null”,它会毫无问题地创建小部件(但缺少查询引用)。
我已经使用了 Get Widgets,以确保我使用正确的格式,但仍然收到错误。通过 Get Widget 调用,我得到以下格式(这正是我正在使用的格式):
{
"id": "8d8697f3-a2db-4df8-8c15-26374c1191d9",
"eTag": "14",
"name": "Open Issues",
"position": {
"row": 2,
"column": 6
},
"size": {
"rowSpan": 1,
"columnSpan": 1
},
"settings": {
"defaultBackgroundColor": "#51399f",
"queryId": "f525ec14-3d75-4798-b014-9513c79fd0aa",
"queryName": "Open Issues",
"colorRules": [
{
"isEnabled": true,
"backgroundColor": "#339947",
"thresholdCount": 0,
"operator": "<="
}
],
"lastArtifactName": "Open Issues"
},
"settingsVersion": {
"major": 1,
"minor": 0,
"patch": 0
}
}
还有其他人遇到过这个问题吗?或者有人设法让它发挥作用吗?
非常欢迎任何帮助:)谢谢!
使用相同的请求正文时,我可以重现相同的问题。
问题原因是设置字段的格式有问题。
设置字段的值作为整个字符串而不是作为对象传递。
要解决此问题,您可以更改为使用以下请求正文:
{
"name": "Open Issues",
"position": {
"row": 2,
"column": 6
},
"size": {
"rowSpan": 1,
"columnSpan": 1
},
"settings": "{\"defaultBackgroundColor\":\"#51399f\",\"queryId\":\"2d5d4371-bb0d-4984-b277-f71eca948d34\",\"queryName\":\"Open Issues\",\"colorRules\":[{\"isEnabled\":true,\"backgroundColor\":\"#339947\",\"thresholdCount\":0,\"operator\":\"<=\"}],\"lastArtifactName\":\"Open Issues\"}",
"settingsVersion": {
"major": 1,
"minor": 0,
"patch": 0
},
"contributionId": "ms.vss-dashboards-web.Microsoft.VisualStudioOnline.Dashboards.QueryScalarWidget"
}