我正在尝试使用this REST API在VSTS的信息中心上创建(或更新...同一问题)“Markdown”小部件。
lib/index.js
使用下面的POST https://{accountName}.visualstudio.com/{project}/{team}/_apis/dashboard/dashboards/{dashboardId}/widgets?api-version=5.0-preview.2
正文,根据示例,我经常遇到JSON
错误?我也尝试过更新现有的Markdown Widget而没有运气,这就是为什么我转向删除&创建
eTag
请参阅下面的Fiddler {
"name": "Markdown",
"position": {
"row": 1,
"column": 4
},
"size": {
"rowSpan": 2,
"columnSpan": 2
},
"settings": "# AK Markdown\nAdd content using the markdown widget.\n- **Bold**\n- *Italic*\n- [Links]()",
"settingsVersion": {
"major": 1,
"minor": 0,
"patch": 0
},
"dashboard": {
"eTag": "18"
},
"contributionId": "ms.vss-dashboards-web.Microsoft.VisualStudioOnline.Dashboards.MarkdownWidget"
}
/ Request
屏幕截图。
我的目标是在各种构建/发布结束时,我想创建/更新带有markdown的小部件,该小部件显示我们的用户/利益相关者的特定数据。许多不熟悉VSTS的人。
答案 0 :(得分:0)
在添加/创建新窗口小部件,位置和eTag时,有一些原因会引发407冲突错误,例如,如果已经有一个窗口小部件在同一位置,如果添加/创建一个窗口小部件,它将抛出错误新窗口小部件再次到达该位置,因此您需要确保目标位置没有窗口小部件
注意:窗口小部件的大小可以影响其他位置,例如,窗口小部件的位置是列:1; row:2,size是rowSpan:2,那么下一个widget的位置可以是column:3;行:2,但不能列:2;行:2
处理此问题的简单方法是从json数据中删除position属性。
关于eTag值,您可以调用insert
,结果包含 eTag 属性,只需在其他REST API上使用此值,您也可以在创建时从json数据中删除仪表板属性小部件。
关于更新小部件,您可以调用Get a dashboard REST API,然后结果包含 eTags 和信息中心属性,然后在更新小部件REST API中使用这些值。