以下に示す例外が発生するたびに、バグの状態を「新規」から「承認済み、完了、クローズ済み」に変更する方法がわかりません。インターネット全体を調べたところ、System.State フィールドが他のフィールドとは少し異なることがわかりました。遷移状態を移動する方法があるのではないかと思ったのですが、それが見つかりませんでした。また、状態を切り替えると他のフィールド、特に理由フィールドが無効になる .NET API のいくつかの投稿を見ました。field.setValue("Closed") を呼び出そうとするとすぐに例外がスローされるため、これは問題ではないと思います。パワーツールで調べたところ、System.State は編集可能であることがわかりましたか? 移行状態の問題にはなりません。v 次のステップとして有効であるはずの試行済みの状態。例として、作業項目は新しいため、承認済みは有効な次のステップです。
何が問題なのか、誰かが何か知っているなら、私はとても感謝しています。
コード例:
WorkItem workItem = s.get(0);
Map<String, String> fieldValueMap = settings.getFieldValues();
String status_field_text = settings.getFieldMap().get(SettingsParser.STATUS);
Field statusField = workItem.getFields().getField(status_field_text);
String currentFieldValue = fieldValueMap.get(SettingsParser.CLOSED_STATE);
if(currentFieldValue != null)
{
statusField.setValue("Approved");//<=========== no matter what i add there i get exception
}
else
{
System.out.println("pp");
}
スレッド「メイン」での例外
エラー:
" java.lang.IllegalArgumentException: フィールド ID [10013] は、com.microsoft.tfs.core.clients.workitem.internal.fields.FieldCollectionImpl.newIllegalFieldIDException(FieldCollectionImpl. java:119) com.microsoft.tfs.core.clients.workitem.internal.fields.FieldCollectionImpl.getFieldInternal(FieldCollectionImpl.java:459) で com.microsoft.tfs.core.clients.workitem.internal.WorkItemImpl.getRuleTargetField( WorkItemImpl.java:769) の com.microsoft.tfs.core.clients.workitem.internal.rules.RuleEngine.preProcessFields(RuleEngine.java:224) の com.microsoft.tfs.core.clients.workitem.internal.rules. RuleEngine.fieldChanged (RuleEngine.java:196) at com.microsoft.tfs.core.clients.workitem.internal.rules.RuleEngine.fieldChanged (RuleEngine.java:167) at com.microsoft.tfs.core.clients.workitem.internal.fields.FieldImpl.fireRules(FieldImpl.java:795) com.microsoft.tfs.core.clients.workitem.internal.fields.FieldImpl.setValue(FieldImpl.java:765) com.microsoft.tfs で。 core.clients.workitem.internal.fields.FieldImpl.setValue(FieldImpl.java:457) at com.microsoft.tfs.core.clients.workitem.internal.fields.FieldImpl.setValue(FieldImpl.java:389) テストで。メイン (Test.java:54)