Hi, I discovered that there is a problem when you place a ForceBuild task inside a Conditional task. The following does not work: <conditional> <conditions> <compareCondition> <value1>a</value1> <value2>a</value2> <evaluation>equal</evaluation> <ignoreCase>true</ignoreCase> </compareCondition> </conditions> <tasks> <forcebuild> <!--<integrationStatus>Unknown</integrationStatus>--> <project>SecondProject_$(majorVersion).$(minorVersion)</project> <enforcerName>Forcer</enforcerName> </forcebuild> </tasks> </conditional> I could not understand why it would not work, because when I remove the Conditional statements it works. When I debugged the sourcecode I discovered why: var taskResult = result.Clone(); this.RunTask(task, taskResult); these codelines (used in e.g. ConditionalTask, SequentialTask, ParallelTask) does not behave as intended, since it does perform a real clone of the IntegrationResult class, e.g. the value of the Status property is not duplicated, instead it becomes 'Unknown' in the clone. This affects the ForceBuildPublisher class since it checks the value of this property: if (IntegrationStatus != result.Status) return false; A workaround to this can be achieved by uncommenting the IntegrationResult nodes in the XML above.
