REST API Azure DevOps - как списки выбора связаны с полем? - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь использовать rest для создания полей и списков выбора, на веб-сайте я создал поле типа String picklist и добавил некоторые элементы в список: custom field as picklist String with some picklist items

URL для поля: https://dev.azure.com/{org}/_apis/work/processes/{processId}/workitemtypes/CMMI2.Bug/fields/Custom.AppType?api-version=5.0-preview.2

это возвращает это:

{
referenceName: "Custom.AppType",
name: "AppType",
type: "string",
description: "",
url: "https://dev.azure.com/{org}/_apis/work/processes/bd96307e-3d16-44ac-b498-be1a8daff2d5/behaviors",
customization: "custom"
}

URL отдыха для списка выбора: https://dev.azure.com/{org}/_apis/work/processes/lists/{picklistId}?api-version=5.0-preview.1 это возвращает:

{
items: [
"All",
"Item2",
"Item3"
],
id: "{picklistId}",
name: "picklist_{diffGuidFromPickListId}",
type: "String",
isSuggested: false,
url: "https://dev.azure.com/{org}/_apis/work/processes/lists/{picklistId}"
}

Вот документация для этого: https://docs.microsoft.com/zh-cn/rest/api/azure/devops/processes/fields/get?view=azure-devops-rest-5.0#processworkitemtypefield

Во-первых - почему тип строки поля, когда она должна быть picklistString (согласно ссылке на документацию)?

Во-вторых, как список выбора связан с полем?

спасибо

1 Ответ

0 голосов
/ 20 мая 2019

picklistString ссылается на имя типа, его фактическое свойство является строкой, поэтому тип поля, отображаемого в типе, является строкой.

Во-вторых, как список выбора связан с полем?

(1) Для этого вы можете использовать API :

POST  https://dev.azure.com/{organizationName}/{projectName}/_apis/wit/fields?api-version=5.1-preview.2

Вот мое тело запроса для справки:

{
  "name": "{FieldName}",
  "referenceName": "{the reference name of WIT},
  "type": "string",
  "usage": "workItem",
  "readOnly": false,
  "canSortBy": true,
  "isQueryable": true,
  "supportedOperations": [
    {
      "referenceName": "{the reference name of WIT}"
      "name": "="
    }
  ],
  "isIdentity": true,
  "isPicklist": true,
  "isPicklistSuggested": false,
  "url": null
}

Примечание : установите isPicklist как true, и вы можете связать список выбора с этим новым полем.

(2) Для работы с пользовательским интерфейсом просто добавьте новое поле, откройте раскрывающийся список , напечатайте и выберите список выбора (строка) / список выбора (целое число) в качестве необходимого.

Разница между picklist(string) и picklist(Integer) заключается в том, что picklist(string) разрешают список выбора значений короткой текстовой строки (255 символов или менее), а picklist(Integer) содержит список выбора целочисленных значений .

...