Используя VSTS Rest API, как создать виджет Markdown? - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь использовать этот REST API для создания (или обновления ... та же проблема) виджета "Уценка" на панели инструментов в VSTS.

POST https://{accountName}.visualstudio.com/{project}/{team}/_apis/dashboard/dashboards/{dashboardId}/widgets?api-version=5.0-preview.2

Используя приведенное ниже тело JSON, для каждого образца я постоянно получаю eTag ошибки?Я также безуспешно пытался обновить существующий виджет Markdown, поэтому я решил удалить и создать.

{
    "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"
  }

См. Скриншот ниже для 1015 * / Response. * 1017 Фиддлера.*

Screenshot

Моя цель в конце различных сборок / выпусков, я хочу создать / обновить виджет с уценкой, который показывает конкретные данные для наших пользователей / заинтересованных лиц,Многие, кто не разбирается в VSTS.

1 Ответ

0 голосов
/ 16 мая 2018

Есть несколько причин, по которым возникает ошибка конфликта 407 при добавлении / создании нового виджета, позиции и eTag, например, если уже есть виджет в той же позиции, он выдаст ошибку, если вы добавите / создадитеСнова добавьте новый виджет в эту позицию, поэтому вам нужно убедиться, что виджет не находится в целевой позиции

примечание: размер виджета может влиять на положение других, например, позиция виджета - столбец: 1;row: 2 и size: rowSpan: 2, тогда позиция следующего виджета может быть столбцом: 3;строка: 2, но не может столбец: 2;row: 2

Простой способ решения этой проблемы - удалить свойство position из данных json.

Что касается значения eTag, вы можете вызвать Получить REST API приборной панели , результат содержит свойство eTag , просто используйте это значение в другом API REST, также вы можетеудалить свойство dashboard из данных json при создании виджета.

Что касается виджета обновления, вы можете вызвать Get Widget REST API , тогда результат содержит eTags и свойств панели инструментов , после чего используйте эти значения в виджете обновления REST API.

...