Перечислите поля и атрибуты рабочих элементов

Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Поля рабочих элементов отслеживают сведения в Azure DevOps. Система определяет эти поля на уровне организации и делит их всеми проектами в организации. Чтобы просмотреть поля, определенные для вашей организации, можно использовать один из следующих двух средств, доступных для моделей процессов Наследуемого и размещенного XML:

Поля рабочих элементов отслеживают сведения в Azure DevOps. Система определяет эти поля на уровне коллекции и разделяет их во всех проектах в этой коллекции. Чтобы просмотреть поля, определенные для коллекции, используйте одно из следующих средств:

  • >: доступна для модели наследуемого процесса.
  • Обозреватель полей рабочих элементов: доступен как для моделей наследуемых, так и для локальных моделей XML-процессов.

Описание каждого поля, определенного системным процессом, см. в разделе "Индекс поля рабочего элемента".

Подсказка

Вы можете использовать ИИ, чтобы помочь с этой задачей позже в этой статье или ознакомиться с включение помощи ИИ в Azure DevOps MCP Server, чтобы начать работу.

Почему поля рабочих элементов имеют значение

Поля рабочих элементов служат нескольким критически важным функциям в Azure DevOps:

  • Отслеживание данных: сбор и хранение важных сведений о рабочих элементах
  • Функции запросов: включение мощных возможностей поиска и фильтрации
  • Отчеты: поддержка аналитики и создания панели мониторинга
  • Управление рабочими процессами: переходы состояния диска и бизнес-правила
  • Интеграция: подключение с внешними инструментами и системами

Общие сведения об атрибутах полей помогут вам:

  • Оптимизация запросов: выбор нужных полей для эффективного поиска
  • Настройка плана. Общие сведения об ограничениях и возможностях
  • Устранение неполадок: диагностика проблем с поведением полей
  • Процессы проектирования: создание эффективных типов рабочих элементов и рабочих процессов

Prerequisites

Category Requirements
Разрешения Чтобы просмотреть поля, определенные для организации или коллекции: член приложения группы допустимых пользователей коллекции проекта или разрешение Просмотр информации на уровне экземпляра установлено на Разрешить для организации или коллекции.

Список или проверка полей

Чтобы перечислить или просмотреть поля, используйте один из следующих средств в зависимости от вашей модели процесса—Inherited, Hosted XML или On-premises XML. Индекс полей, определенных в процессах по умолчанию, см. в разделе "Индекс поля рабочего элемента".

Tool Inheritance Хостируемый XML Локальный XML
Веб-портал: список наследуемых и настраиваемых полей ✔️ ✔️1
Обозреватель полей рабочих элементов ✔️ ✔️ ✔️
средство командной строки witadmin listfields ✔️ ✔️ ✔️

Note

  1. Поддерживается только для процессов по умолчанию (Agile, CMMI, Scrum).

Типы и имена данных поля

Каждый тип рабочего элемента указывает поля, включенные в рабочие элементы этого типа. Каждое поле имеет несколько атрибутов, многие из которых являются системными и неизменяемыми.

Три ключевых атрибута определяют поля:

Подробное описание каждого атрибута поля и инструкций по их перечислению см. в разделе "Атрибуты поля" и "Список" далее в этой статье. Общие сведения о типах рабочих элементов и рабочих элементах см. в разделе "Отслеживание работы с пользовательскими историями, проблемами, ошибками, функциями и эпопеями".

Что такое поле? Как работают имена полей?

Каждый тип рабочего элемента содержит 31 системных полей и несколько полей, относящихся к типу. Рабочие элементы помогают планировать и отслеживать проект.

Каждое поле записывает определенные сведения о выполняемой работе. Значения, назначенные этим полям, хранятся в хранилище данных отслеживания работы, что позволяет создавать запросы, определяющие состояние и тенденции.

Описание и использование каждого поля, определенного для основных системных процессов ( Agile, Basic, Scrum и CMMI), см. в индексе поля рабочего элемента.

Требования к именованию полей

Имя поля рабочего элемента однозначно определяет каждое поле рабочего элемента. Убедитесь, что имена полей соответствуют следующим рекомендациям:

  • Уникальность: имена полей должны быть уникальными в пределах учетной записи или коллекции проектов.
  • Длина: имена полей должны содержать 128 символов Юникода или меньше.
  • Интервал: имена полей не могут содержать начальные или конечные пробелы или содержать два или более последовательных пробелов.
  • Композиция: имена полей должны содержать по крайней мере один алфавитный знак.
  • Запрещенные символы: имена полей не могут содержать следующие символы: .,;':~/*|?" &%$!+=()[]{}<>'

Так как система определяет настраиваемые поля на уровне организации или коллекции, вы не можете добавить настраиваемое поле с одинаковым именем в несколько процессов.

Дополнительные сведения см. в разделе об ограничениях именования и соглашениях.

Системные и предопределенные поля

Система определяет поля рабочих элементов с определенными требованиями именования и структурными требованиями, чтобы обеспечить согласованность и функциональность:

  • Уникальность: имена полей должны быть уникальными в пределах учетной записи или коллекции проектов.
  • Длина: имена полей должны быть 128 символами Юникода или меньше.
  • Интервал: имена полей не могут содержать начальные или конечные пробелы или содержать несколько последовательных пробелов.
  • Композиция: имена полей должны содержать по крайней мере один алфавитный знак.
  • Запрещенные символы: имена полей не могут содержать следующие символы: .,;':~/*|?" &%$!+=()[]{}<>'

Так как система определяет настраиваемые поля на уровне организации или коллекции, вы не можете добавить настраиваемое поле с одинаковым именем в несколько процессов.

Дополнительные сведения см. в разделе об ограничениях именования и соглашениях.

Пользовательские поля

Так как система определяет настраиваемые поля на уровне организации или коллекции проектов, вы не можете добавить настраиваемое поле с одинаковым именем в несколько процессов.

При добавлении настраиваемых полей обратите внимание на следующие ограничения:

  • Максимальное количество полей на тип рабочего элемента (WIT): 64
  • Максимальное количество полей для каждого процесса: 512

Тип данных поля определяет тип и размер данных, которые можно хранить в поле. Каждое поле может иметь только один тип, определенный в коллекции проектов, поощряя использование общих полей в разных проектах и типах рабочих элементов.

При добавлении настраиваемого поля в унаследованный процесс, Azure DevOps назначает имя ссылки с префиксом Custom, за которым следует имя поля без пробелов. Например, добавление поля с именем DevOps Triage приводит к получению ссылочного имени Custom.DevOpsTriage. Пробелы не допускаются в именах ссылок.

Дополнительные сведения см. в разделе об ограничениях именования и соглашениях.

Как определить тип данных поля?

Вы можете просмотреть тип данных полей, определенных для организации, открыв страницу "Поля процесса>".

Снимок экрана: страница

Когда коллекция проектов использует модель процесса наследования для настройки отслеживания работы, можно просмотреть тип данных полей, открыв страницу "Поля процесса".

Снимок экрана: страница

Если в коллекции проектов используется локальная модель процесса XML , можно определить тип данных с помощью индекса поля рабочего элемента. В качестве альтернативы, можно:

  • Откройте обозреватель полей рабочего элемента, чтобы просмотреть определенные поля и их атрибуты.
  • Используйте команду witadmin listfields для перечисления атрибутов полей.

Дополнительные сведения см. в разделах Просмотрщик полей рабочих элементов и Атрибуты полей списка в дальнейших частях этой статьи.

Просмотр списка полей

Чтобы просмотреть список полей, определенных для организации или коллекции, выполните следующие действия.

  1. Выберите логотип Azure DevOps, чтобы открыть Projects. Затем выберите параметры организации.

    Снимок экрана: выбор параметров организации.

  2. Выберите Обработать.

    Снимок экрана окна «Выбор процесса».

  3. Выберите Поля.

    Перечисленные поля соответствуют всем полям, определенным для организации или коллекции, которая включает все настраиваемые поля и поля, определенные для системных процессов.

    Снимок экрана: создание копии выбранного унаследованного процесса.

    Note

    Если вы не видите поля, то коллекция использует локальный XML-процесс. Страница "Поля" не поддерживается для этого процесса.

    Сведения о описаниях, использовании и ссылочных именах каждого поля см. в индексе поля рабочего элемента. Кроме того, можно получить имена полей для ссылок с помощью REST API списка полей типов рабочих элементов.

Обозреватель полей рабочих элементов

Вы можете искать назначения атрибутов поля с помощью средства обозревателя полей рабочих элементов.

Снимок экрана: обозреватель полей рабочих элементов.

Чтобы получить доступ к обозревателе полей рабочего элемента, установите средство редактора процессов. На основе установленной версии Visual Studio получите средство редактора процессов из одного из следующих расширений.

  • Visual Studio 2019 и 2022: Сейчас нет определенного расширения редактора шаблонов процесса. Но вы по-прежнему можете настраивать шаблоны процессов с помощью других средств, таких как любой текстовый редактор или редактор XML. Вы также можете использовать веб-портал Azure DevOps для определенных настроек, особенно для унаследованных процессов.
  • Visual Studio 2017: редактор шаблона процесса TFS. Вы также можете использовать эту версию редактора процессов для изменения форм старых рабочих элементов. Его нельзя использовать для редактирования форм, связанных с новыми веб-формами.
  • Visual Studio 2015: TFS Power Tools.

Атрибуты поля

Для каждого поля рабочего элемента существует множество неизменяемых и скрытых атрибутов. В следующей таблице описывается каждый атрибут. Атрибуты имеют разные имена в зависимости от того, извлекаете ли вы их через REST API метода Fields - Get или просматриваете через средство обозревателя полей рабочих элементов (WIFE).

Атрибуты, назначенные полю, зависят от используемой платформы и версии. Например, некоторые атрибуты не поддерживаются в процессе наследования. Чтобы найти имя ссылки для поля, см. индекс полей рабочего элемента.

Attribute

Тип атрибута

Description


REST:
ЖЕНА: AllowedValues

collection

Возвращает коллекцию допустимых значений для поля, содержащего значения списка выбора. Это можно изменить, указав список выбора или глобальный список (локальный).
Может измениться?=Да

REST: canSortBy
ЖЕНА: CanSortBy

boolean

Указывает, можно ли сортировать результаты запроса с помощью этого поля.
Может измениться?=Нет

REST: описание
ЖЕНА: HelpText

string

Указывает описание поля, которое также определяет текст справки, который отображается при наведении указателя мыши на поле в форме рабочего элемента.
Может измениться?=Да

REST:
ЖЕНА: ID

Integer

Указывает внутренний идентификатор поля.
Может измениться?=Нет

REST:
ЖЕНА: IsCloneable

boolean

Указывает, копирует ли система значение, определенное для поля, когда пользователь выбирает копирование рабочего элемента. Например, система копирует поля Title, Tags и Description, но не копирует поля ID и History.
Может измениться?=Нет

REST:
ЖЕНА: IsComputed

boolean

Указывает, рассчитывает ли система значение поля (True) или нет (False). Примеры вычисляемых полей — это те, которые задаются системой, такие как идентификатор, дата пересмотра, дата изменения и число внешних ссылок.
Может измениться?=Нет

REST:
ЖЕНА: IsCoreField

boolean

Указывает, указано ли это поле для всех типов рабочих элементов.
Может измениться?=Нет

REST:
ЖЕНА: IsEditable

boolean

Указывает, могут ли пользователи изменить это поле (True) или нет (False). Примеры неизменяемых полей — это те, которые устанавливаются системой, такие как идентификатор, редакция, Создано и Изменено.
Может измениться?=Нет

REST: isIdentity
ЖЕНА: IsIdentity

boolean

Указывает, является ли это поле полем identity . Поля идентификаторов — это строковые поля, используемые для хранения идентификаторов пользователей.
Может измениться?=Нет

REST:
ЖЕНА: IsIndexed1

boolean

Указывает, индексируется ли это поле для поддержки поиска.
Может измениться?=Нет

REST:
ЖЕНА: IsLongText

boolean

Указывает, что поле может содержать более 255 символов, таких как поля, назначенные типу данных PlainText, HTML или History.
Может измениться?=Нет

REST: isPicklist2 ЖЕНА:

Boolean

Указывает, связывается ли поле с списком выбора. Система задает значение True при определении настраиваемого поля для Azure DevOps и выбора типа Picklist (String) или Picklist (Integer). Система задает значение False для унаследованных полей, определяющих списки выбора.
Может измениться?=Нет

REST: isPicklistSuggested2 ЖЕНА:

Boolean

Указывает, позволяет ли поле пользователям вводить собственные значения для списка выбора. Система задает значение True, когда вы определяете настраиваемое поле для Azure DevOps, выбираете тип Picklist (String) или Picklist (Integer) и устанавливаете флажок для Разрешить пользователям задавать свои собственные значения.
Может измениться?=Да

REST: isQueryable
ЖЕНА: IsQueryable

boolean

Указывает, отображается ли поле в полях, которые можно добавить для фильтрации запроса рабочего элемента (True) или нет (False). Большинство полей можно запрашивать.
Может измениться?=Нет

REST:
ЖЕНА: IsReportable 3

boolean

Указывает, определен ли атрибут, доступный для отчета, или имеет значение, отличное от None. Этот атрибут можно изменить для локальных сред.
Может измениться?=Да

REST:
ЖЕНА: IsUsedInGlobalWorkflow

boolean

Указывает, определено ли поле в глобальном рабочем процессе.
Может измениться?=Нет

REST:
ЖЕНА: IsUserNameField

boolean

Указывает, используется ли поле для отображения поля идентификации.
Может измениться?=Нет

REST: имя
ЖЕНА: Имя

string

Дружественное имя, назначенное полю. Не удается изменить понятное имя для Azure DevOps, но его можно изменить для локальной среды с помощью команды witadmin changefield.
Может ли измениться?=Только на территории заказчика

REST: picklistId
ЖЕНА: HelpText

GUID

Если поле является списком выбора, идентификатор связанного списка выбора, в противном случае — значение NULL. Система назначает уникальное значение GUID при определении настраиваемого поля для Azure DevOps и выбора типа Picklist (String) или Picklist (Integer).
Может измениться?=Нет

REST:
ЖЕНА: Запрещенные значения

collection

Возвращает коллекцию запрещенных значений для поля, указывающего такие значения. Вы можете определить только запрещенные значения для локальных развертываний.
Может ли измениться?=Только на территории заказчика

REST: readOnly
WIFE:

Boolean

Указывает, задано ли поле только для чтения. Для служб Azure DevOps можно изменить только настраиваемые поля, чтобы быть доступны только для чтения. Не удается изменить системные поля.
Может измениться?=Да

REST: referenceName
ЖЕНА: ReferenceName

string

Задает имя поля-ссылки.
Может измениться?=Нет

REST:
ЖЕНА: ReportingAttributes3

Указывает сведения, измерение или меру, в зависимости от того, как вы хотите включить поле в отчеты. Система экспортирует данные из полей, которые имеют значение, отличное от None для этого атрибута, в хранилище данных и могут включать их в отчеты SQL.
Может ли измениться?=Только на территории заказчика

REST:
ЖЕНА: ReportingName3

string

Указывает метку поля при отображении данных в отчетах SQL. Если значение не указано, система использует понятное имя поля.
Может ли измениться?=Только на территории заказчика

REST:
ЖЕНА: ReportingReferenceName3

string

Указывает другое имя ссылки на поле, которое система использует при экспорте данных в реляционное хранилище данных. Если значение не указано, система использует имя ссылки на поля.
Может ли измениться?=Только на территории заказчика

REST: поддерживаемыеОперации
WIFE:

set

Коллекция операторов запросов, допустимых для использования при ссылке на это поле. Краткий справочник по поддерживаемым операциям на основе типа данных см. в кратком справочнике по запросу, операторам и макросам, поддерживаемым для каждого типа данных.
Может измениться?=Нет

REST:
ЖЕНА: SupportsTextQuery

boolean

Указывает, поддерживает ли поле текстовые запросы, такие как Содержит слова и Не содержит слова.
Может измениться?=Нет

REST:
ЖЕНА: ТипСистемы

string

Указывает тип данных поля, ссылающийся на имя системы, например System.DateTime или System.String.
Может измениться?=Нет

REST: тип
ЖЕНА: FieldType

string

Указывает тип данных поля, например boolean, DateTime, Integer, String и т. д. Полный список и описания см. в полях запросов, операторах и макросах.
Может измениться?=Нет

REST: использование
ЖЕНА: Использование

string

Указывает, предназначено ли поле для использования с рабочими элементами (WorkItem) или объектами ссылки на рабочие элементы (WorkItemLink). Использование большинства полей — WorkItem. Полный список значений использования см. в разделе Get Fields, FieldUsage.
Может измениться?=Нет

Note

  1. Для локальных развертываний можно включить индексирование поля для улучшения времени отклика запросов при фильтрации в поле. Дополнительные сведения см. в разделе "Индексированные поля " далее в этой статье.
  2. Система назначает атрибуты isPicklist и isPicklistSuggested только настраиваемым полям, определенным для унаследованного процесса. Модель наследуемого процесса поддерживает Azure DevOps Server версии 2020 и более поздних версий. Дополнительные сведения см. в разделе "Наследуемая модель процесса".
  3. Все атрибуты отчетов действительны только для локальных развертываний, проекты которых настроены для поддержки SQL Server Reporting и SQL Server Analysis Services.

Перечисление атрибутов поля

Вы можете перечислить атрибуты, назначенные для поля, с помощью Fields - Get REST API. Замените OrganizationName фактическим именем организации.

https://dev.azure.com/OrganizationName/_apis/wit/fields/FieldReferenceName

Например, чтобы перечислить атрибуты для пути итерации, используйте ссылочное имя System.IterationPath для fabrikam организации.

https://dev.azure.com/fabrikam/_apis/wit/fields/System.IterationPath

Возвращенные данные:

{
"name": "Iteration Path",
"referenceName": "System.IterationPath",
"description": "The iteration within which this bug will be fixed",
"type": "treePath",
"usage": "workItem",
"readOnly": false,
"canSortBy": true,
"isQueryable": true,
"supportedOperations": [
{
"referenceName": "SupportedOperations.Under",
"name": "Under"
},
{
"referenceName": "SupportedOperations.NotUnder",
"name": "Not Under"
},
{
"referenceName": "SupportedOperations.Equals",
"name": "="
},
{
"referenceName": "SupportedOperations.NotEquals",
"name": "<>"
},
{
"referenceName": "SupportedOperations.In",
"name": "In"
},
{
"name": "Not In"
}
],
"isIdentity": false,
"isPicklist": false,
"isPicklistSuggested": false,
"url": "https://dev.azure.com/mseng/_apis/wit/fields/System.IterationPath"
}

Вы можете перечислить атрибуты, назначенные полю, с помощью REST API Fields - Get. Введите имя организации для OrganizationName. Сведения о начале работы с REST см. в справочнике по REST API служб Azure DevOps

https://{ServerName:Port}/tfs/{Collection}/_apis/wit/fields/FieldReferenceName?api-version={version}

Например, мы перечислим здесь атрибуты для маршрута итерации, указав имя ссылки System.IterationPath для сервера fabrikam.

https://fabrikam:8080/tfs/DefaultCollection/_apis/wit/fields/System.IterationPath?api-version=4.1

Возвращенные данные:

{
"name": "Iteration Path",
"referenceName": "System.IterationPath",
"description": "The iteration within which this bug will be fixed",
"type": "treePath",
"usage": "workItem",
"readOnly": false,
"canSortBy": true,
"isQueryable": true,
"supportedOperations": [
{
"referenceName": "SupportedOperations.Under",
"name": "Under"
},
{
"referenceName": "SupportedOperations.NotUnder",
"name": "Not Under"
},
{
"referenceName": "SupportedOperations.Equals",
"name": "="
},
{
"referenceName": "SupportedOperations.NotEquals",
"name": "<>"
},
{
"referenceName": "SupportedOperations.In",
"name": "In"
},
{
"name": "Not In"
}
],
"isIdentity": false,
"isPicklist": false,
"isPicklistSuggested": false,
"url": "https://fabrikam:8080/tfs/DefaultCollection/_apis/wit/fields/System.IterationPath?api-version=4.1"
}

Перечисление атрибутов с помощью witadmin средства командной строки

Вы можете вывести список атрибутов полей, таких как тип данных, отчетируемые атрибуты и индексирование, с помощью команды witadmin listfields.

Например, можно ввести следующую команду, чтобы перечислить атрибуты, определенные для указанного поля, например Microsoft.VSTS.Common.Issue.

witadmin listfields /collection:http://fabrikam:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue  

Сведения о поле и атрибуте отображаются для именованного поля, как показано в этом примере.

Field: Microsoft.VSTS.Common.Issue  
Name: Issue  
Type: String  
Reportable As: dimension  
Use: Adventure Works (Shared Steps), AW Future (Shared Steps), AW Current (Shared Steps)  
Indexed: False  

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

Рекомендации по работе с полями

При работе с полями рабочих элементов следует учитывать следующие рекомендации:

Выбор полей и проектирование

  • Выбор значимых имен: используйте описательные имена полей, которые четко указывают на их назначение
  • Стандартизация именования: создание согласованных соглашений об именовании в организации
  • Ограничивайте добавление настраиваемых полей разумно, чтобы не перегружать пользователей
  • Рассмотрим типы данных: выберите подходящие типы данных для хранимой информации

Оптимизация производительности

  • Использование индексированных полей. Для локальных развертываний рекомендуется индексировать часто запрашиваемые настраиваемые поля.
  • Избегайте тяжелых запросов: учитывайте производительность запросов при использовании множества фильтров полей
  • Оптимизация списков выбора: сохраняйте значения списка выбора удобными по размеру и хорошо организованными.

Обслуживание и управление

  • Использование поля документа: поддержка документации, объясняющей назначение и использование настраиваемых полей
  • Регулярно просматривайте настраиваемые поля, чтобы определить неиспользуемые или избыточные поля.
  • Планирование изменений. Рассмотрите влияние изменений полей на существующие рабочие элементы и запросы
  • Тестирование изменений: всегда проверяйте изменения поля сначала в среде разработки

Добавление и изменение полей

Чтобы добавить поля в процесс, добавьте их в один или несколько типов рабочих элементов. Дополнительные сведения см. в разделе "Настройка процесса наследования".

Вы можете добавить или изменить поля, содержащиеся в WIT, или добавить пользовательский WIT. Дополнительные сведения см. в разделе:

Имя поля, индекс и атрибуты отчета для любого поля, кроме системных полей, можно изменить с помощью средства командной строки witadmin . Дополнительные сведения см. в разделе "Управление полями рабочих элементов- witadmin".

Устранение проблем на месте

Распространенные проблемы и решения при работе с полями рабочих элементов:

Проблемы видимости полей

  • Поле не отображается: проверьте, добавляется ли поле в макет типа рабочего элемента.
  • Проблемы с разрешениями. Убедитесь, что у вас есть соответствующие разрешения для просмотра или редактирования полей
  • Различия процессов: убедитесь, что поле существует в текущем процессе

Проблемы с запросом и поиском

  • Поле невозможно запросить: проверьте атрибут IsQueryable поля
  • Проблемы с производительностью: рекомендуется индексировать часто запрашиваемые настраиваемые поля (локальные)
  • Ограничения операторов. Проверьте, какие операторы поддерживаются для типа данных поля

Запись и проверка данных

  • Недопустимые значения: проверьте, имеет ли поле ограниченные допустимые значения или правила проверки.
  • Поля только для чтения: проверка атрибута IsEditable поля
  • Требования к формату: убедитесь, что данные соответствуют ожидаемому типу данных поля

Использование ИИ для изучения полей рабочих элементов

Если настроить Azure DevOps MCP Server, вы можете изучить и запросить поля рабочих элементов с помощью естественного языка.

Задача Пример запроса
Список полей для типа рабочего элемента Show me all fields available for the Bug work item type in project <Contoso>
Поиск настраиваемых полей List all custom fields defined in my organization
Проверка использования поля Which work item types use the "Story Points" field in project <Contoso>?
Запрос по значениям полей Show all user stories where Story Points is greater than 8 in <Contoso>
Поиск пустых обязательных полей List all active work items in project <Contoso> where the Priority field is empty
Сравнение значений полей между типами Show which fields are shared between Bug and User Story work item types in project <Contoso>
Согласованность полей аудита Find all work items in <Contoso> where the Remaining Work field is set but the Original Estimate is blank
Ознакомьтесь со значениями списка выбора What are the allowed values for the Severity field on the Bug work item type in project <Contoso>?
Поиск редко используемых полей Which custom fields in project <Contoso> have values set on fewer than 10 work items?
Определите проблемы с данными поля Show work items in <Contoso> where the Closed Date is set but the state is not Done or Closed

Note

Если вы используете Visual Studio Code, режим агента особенно полезен для изучения определений полей и атрибутов.