套用欄位規則的時機和位置
不論工作項目的狀態為何,您都可以使用欄位規則來決定工作項目類型的行為。 例如,某個作用中的新 Bug 的必要欄位在這個 Bug 關閉之後仍然是一個必要欄位。
欄位規則的範圍也可以限定在特定狀態、轉換,或甚至是原因。 可套用至任何特定欄位的一組完整的規則是匯集自下列四個子集:
工作項目類型專用
狀態專用
轉換專用
原因專用
工作項目類型專用規則
不論工作項目在其狀態模型中的位置為何,都會套用工作項目類型專用規則。 例如,<REQUIRED /> 規則會執行下列檢查:
"MyField Value" != NULL
狀態專用規則
狀態專用規則的範圍是限定在處於某特定狀態中的工作項目執行個體。 如果下列條件為 true,就會強制執行狀態特定的規則:
State field value == "MyState" && "MyField Value" != NULL
轉換專用規則
轉換專用規則的範圍是限定於正在進行某特定轉換的工作項目。 如果下列條件為 true,就會強制執行轉換特定的規則:
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState"
&& "MyField Value" != NULL
原因專用規則
原因特定規則的範圍是限定在某特定轉換的特定原因。 如果下列條件為 true,就會處理原因特定的規則:
Reason field == "MyReason" &&
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState" && "MyField Value" != NULL
設定欄位規則的範圍
您可以在 STATE、TRANSITION 和 REASON 項目內使用 FIELDS 與 FIELD (工作流程) 項目,藉此將範圍套用至欄位規則。
注意事項 |
---|
當您在工作流程中列出欄位時,只需指定欄位參考名稱。 |
範例
下面範例定義這項規則:當 Bug 處於 [作用中] 狀態時,不允許修改客戶嚴重性欄位。
<STATE name="Active">
<FIELDS>
<FIELD refname="MyCorp.Severity" >
<READONLY />
</FIELD>
</FIELDS>
</STATE>