Tfs 获取构建质量列表
我有一个部署代码的自定义构建,这是我需要指定构建质量的部署过程的一部分。目前我必须输入质量,例如“准备部署”。我想添加一个自定义过程参数下拉列表,其中包含已为项目设置的所有构建质量 最初,我开始创建一个自定义活动来获得构建质量。TFS已经有了一种方法,可以使用:Tfs 获取构建质量列表,tfs,tfsbuild,Tfs,Tfsbuild,我有一个部署代码的自定义构建,这是我需要指定构建质量的部署过程的一部分。目前我必须输入质量,例如“准备部署”。我想添加一个自定义过程参数下拉列表,其中包含已为项目设置的所有构建质量 最初,我开始创建一个自定义活动来获得构建质量。TFS已经有了一种方法,可以使用: buildServer.GetBuildQualities(teamProjectName) 但是,自定义活动需要传入TeamProjectName。这就是我感到困惑的地方,我不明白如何传递这个论点 我们有很多项目,我想对所有项目使用
buildServer.GetBuildQualities(teamProjectName)
但是,自定义活动需要传入TeamProjectName。这就是我感到困惑的地方,我不明白如何传递这个论点
我们有很多项目,我想对所有项目使用相同的构建定义,所以我不能硬编码团队项目名称 工作流中有一个
BuildDetail
变量(类型)。它有一个TeamProject
属性,其中包含当前正在运行的生成工作流的团队项目的名称
您应该在活动中添加一个
字符串
输入参数,并将XAML设计器中的值设置为BuildDetail.TeamProject
,以便传入该值。作为使用自定义活动的替代方法,可以使用简单的赋值操作BuildDetail.Quality
。例如,您可以将以下顺序放入Try Compile and Test
元素的Finally
子句中:
<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>
[BuildDetail.Quality]
[“准备好进行初始测试”]
[BuildDetail.Quality]
正在调查中
嗯。。。我遇到的问题是在构建执行之前加载流程参数。因此,我需要一种在排队构建时注入团队项目名称的方法,而不是执行它。感谢您的回复。但是我正在寻找一种方法来添加一个下拉菜单到自定义流程参数中(在对新构建排队时的参数选项卡)。因此,用户可以选择要提升到其他环境的构建质量。