Я потратил некоторое время на выяснение, могу ли я придумать вариант, который будет работать, так как вы не можете установить значение по умолчанию для System.State так же, как и для других полей. Я, вероятно, прошел около 50 вариантов, прежде чем я нашел что-то, что работает. Конечно, это не идеально, но это решит вашу проблему после первоначального создания.
Вы можете в каждом из переходных состояний добавить свои предложения when. Для моего примера я использовал поле приоритета и делал что-то вроде:
<State value="Proposed">
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<EMPTY />
</FIELD>
...
<FIELD refname="System.State">
<WHEN field="Microsoft.VSTS.Common.Priority" value="2">
<READONLY />
</WHEN>
</FIELD>
</FIELDS>
</State>
Вы, конечно, должны добавить свои пункты в другие состояния: активный, закрытый и разрешенный.
Как только вы это сделаете, создайте новое Требование. При создании нового требования у вас есть два варианта:
Вы можете установить все параметры на «да», установить состояние на предложенное и сохранить. Затем вернитесь и установите для них значение no и сохраните.
Или
Измените все настраиваемые поля по умолчанию на да.
Создать требование и сохранить. Отредактируйте его, переключите все значения на нет, сохраните.
В любом случае вы решите пойти, как только это начальное препятствие закончится с созданием требования. Это будет действовать так, как вы хотели. Другими словами, если какое-либо из значений равно no, тогда состояние будет только для чтения.
Это было лучшее, что я мог придумать, учитывая ограничение для поля System.State.