0

我有一个部署代码的自定义构建,这是我需要指定构建质量的部署过程的一部分。目前我必须输入质量,例如“准备部署”。我想添加一个自定义流程参数下拉列表,其中包含已经为项目设置的所有构建质量。

最初,我开始创建一个自定义活动来获得构建质量。TFS 已经有一种方法可以使用:

buildServer.GetBuildQualities(teamProjectName)

但是,自定义活动需要传入 TeamProjectName。这是我感到困惑的地方,我不明白如何传入这个参数。

我们有很多项目,我想对所有项目使用相同的构建定义,所以我不能硬编码团队项目名称。

4

2 回答 2

0

作为使用自定义活动的替代方法,BuildDetail.Quality可以使用简单的分配来操作。例如,您可以将以下序列放在元素的Finally子句中:Try Compile and Test

<Sequence DisplayName="Set Build Quality" >
<If Condition="[BuildDetail.CompilationStatus = BuildPhaseStatus.Succeeded]" DisplayName="BuildDetail.CompilationStatus = BuildPhaseStatus.Succeeded" >
  <If.Then>
    <Assign DisplayName="Assign Build Quality Ready">
      <Assign.To>
        <OutArgument x:TypeArguments="x:String">[BuildDetail.Quality]</OutArgument>
      </Assign.To>
      <Assign.Value>
        <InArgument x:TypeArguments="x:String">["Ready for Initial Test"]</InArgument>
      </Assign.Value>
    </Assign>
  </If.Then>
  <If.Else>
    <Assign DisplayName="Assign Build Quality Under Investigation">
      <Assign.To>
        <OutArgument x:TypeArguments="x:String">[BuildDetail.Quality]</OutArgument>
      </Assign.To>
      <Assign.Value>
        <InArgument x:TypeArguments="x:String">Under Investigation</InArgument>
      </Assign.Value>
    </Assign>
  </If.Else>
</If>
</Sequence>
于 2013-05-08T21:10:34.990 回答
0

工作流中有一个BuildDetail变量(类型为IBuildDetail)。这有一个TeamProject属性,其中包含正在运行的当前构建工作流的团队项目的名称。

您应该向您的活动添加一个String输入参数,并将 XAML 设计器中的值设置为BuildDetail.TeamProject以便传入。

于 2013-05-08T19:53:43.760 回答