プロジェクト A またはプロジェクト B のビルドが成功すると、このプロジェクト (C) がトリガーされるように、次のトリガーを構成しています。
<triggers>
<multiTrigger operator="And">
<triggers>
<multiTrigger operator="Or">
<triggers>
<projectTrigger serverUri="tcp://localhost:21235/CruiseManager.rem" project="A" >
<triggerFirstTime>False</triggerFirstTime>
<triggerStatus>Success</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="60" buildCondition="ForceBuild" />
</projectTrigger>
<projectTrigger serverUri="tcp://localhost:21235/CruiseManager.rem" project="B">
<triggerFirstTime>False</triggerFirstTime>
<triggerStatus>Success</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="60" buildCondition="ForceBuild" />
</projectTrigger>
</triggers>
</multiTrigger>
<scheduleTrigger time="20:30" buildCondition="ForceBuild">
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
</weekDays>
</scheduleTrigger>
</triggers>
</multiTrigger>
</triggers>
ただし、実際に必要なのは、プロジェクト A と B の両方の最後のビルドが成功した場合にのみ、プロジェクト C をビルドすることです。次のようなものがうまくいくと思いましたが、projectTrigger を論理的に反転する方法はないようです。
<triggers>
<multiTrigger operator="And">
<triggers>
<multiTrigger operator="Or">
<triggers>
<projectTrigger serverUri="tcp://localhost:21235/CruiseManager.rem" project="A" >
<triggerFirstTime>False</triggerFirstTime>
<triggerStatus>Success</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="60" buildCondition="ForceBuild" />
</projectTrigger>
<projectTrigger serverUri="tcp://localhost:21235/CruiseManager.rem" project="B">
<triggerFirstTime>False</triggerFirstTime>
<triggerStatus>Success</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="60" buildCondition="ForceBuild" />
</projectTrigger>
</triggers>
</multiTrigger>
<projectTrigger serverUri="tcp://localhost:21235/CruiseManager.rem" project="A" >
<triggerFirstTime>False</triggerFirstTime>
<triggerStatus>NotFailure</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="60" buildCondition="ForceBuild" />
</projectTrigger>
<projectTrigger serverUri="tcp://localhost:21235/CruiseManager.rem" project="B">
<triggerFirstTime>False</triggerFirstTime>
<triggerStatus>NotFailure</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="60" buildCondition="ForceBuild" />
</projectTrigger>
<scheduleTrigger time="20:30" buildCondition="ForceBuild">
<weekDays>
<weekDay>Monday</weekDay>
<weekDay>Tuesday</weekDay>
<weekDay>Wednesday</weekDay>
<weekDay>Thursday</weekDay>
<weekDay>Friday</weekDay>
</weekDays>
</scheduleTrigger>
</triggers>
</multiTrigger>
</triggers>
これを達成する別の方法はありますか?