サーバー管理 > SCM の変更パッケージ > 変更パッケージ レビューア/ウォッチャーの規則 > 規則の解析
  
規則の解析
変更パッケージがサブミットされると、サーバーはまず、ポリシー ファイルを調べてレビューア一覧を特定します。次に、ChnagePackageReviewers.xml ファイルに指定されているレビューアを取得します。このファイルが解析されるのは 1 回だけで、規則はキャッシュされます。再評価が行われるのは、別の変更パッケージがサブミットされた場合だけです。前回の解析以降に XML ファイルが変更されていた場合は、規則の解析とキャッシュがやり直されて、新しい規則を使用して変更パッケージの条件とレビューアが評価されます。レビューア規則の解析に使用される XML パーサーは検証パーサーです。間違った形式の XML 式に関する解析エラーが検出された場合は、解析された XML ファイルのパスと、エラーが検出された行とともに、ログに記録されます。さらに、その XML ファイルの構文の問題を説明するエラー メッセージも記録されます。そのエラーは、サーバーを再起動せずに修正できます。その後、XML 規則ファイルから取得されたすべてのレビューアと、ポリシー ファイルから取得されたレビューアとの論理和が計算され、重複が取り除かれます。さらに、解決されたすべてのレビューアについて、基になる領域に対する確認が実行されます。レビューア一覧は、レビューされる変更パッケージとともに格納され、変更パッケージ レビュー プロセスで使用されます。いったん特定されたレビューア一覧は、拒否されて再度サブミットされない限り (その場合は新しいレビューア一覧が特定されます)、変更することはできません。
例: 規則の解析
プロジェクトが SI/GUI/Diff のアイテムを持つ変更パッケージを Lisa がレビューし、研修生 (Coop グループのユーザー) によって行われたすべての変更を DevManager グループのメンバーがレビューします。変更パッケージにアイテムが関連付けられていて、ワークフローとドキュメントの機能が有効になっていない場合は、エラーが報告されてサブミットが失敗します。変更パッケージにアイテムが関連付けられていない場合は、条件が「真」に評価されます。
このレビューア規則は次のようになります。
<ReviewerRules>
<ReviewerRule>
<Condition>
<And>
<IssueFieldCondition fieldName="Project" operator="Equal">
<FieldValue>
SI/GUI/Diff
</FieldValue>
</IssueFieldValue>
</And>
</Condition>
<reviewerExpression>
<Reviewers>
<User name="lzurch"/>
</Reviewers>
</reviewerExpression>
</ReviewerRule>
<ReviewerRule>
<Condition>
<And>
<ChangePackageFieldCondition fieldName="user" operator="Equal">
<GroupFieldValue>
Coop
</GroupFieldValue>
</And>
</Condition>
<reviewerExpression>
<Reviewers>
<Group name="DevManager"/>
</Reviewers>
</reviewerExpression>
</ReviewerRule>
</ReviewerRules>
すべての変更パッケージは、アイテムに関連付けられているカスタム Reviewer フィールドの値によってレビューされる必要があります。'issue.field[Reviewer]' という式はレビューアに評価されます。これは条件の一部ではありません。この "グローバルな" 規則により、Windchill RV&S で変更パッケージのレビューアを特定できます。Reviewer フィールドを変更できるユーザーは、Windchill RV&S の編集可能性と表示の規則によって制御されます。
次に例を示します。
<ReviewerRules>
<ReviewerRule>
<reviewerExpression>
<Reviewers>
<UserExpression>
<IssueField name="Reviewer"/>
</UserExpression>
</Reviewers>
</reviewerExpression>
</ReviewerRule>
</ReviewerRules>