使用VSTS Rest API,您如何创建Markdown小部件?

时间:2018-05-15 22:47:50

标签: json rest azure-devops azure-pipelines-release-pipeline azure-devops-rest-api

我正在尝试使用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屏幕截图。

Screenshot

我的目标是在各种构建/发布结束时,我想创建/更新带有markdown的小部件,该小部件显示我们的用户/利益相关者的特定数据。许多不熟悉VSTS的人。

1 个答案:

答案 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中使用这些值。