【问题标题】:TFS Workflow - Show Test Suites in Custom EditorTFS 工作流 - 在自定义编辑器中显示测试套件
【发布时间】:2015-07-02 12:03:24
【问题描述】:

[编辑] 您可以通过IServiceProvider 获取当前的构建定义。请参阅此answer[/编辑]

我正在尝试为我们的 TFS Xaml 构建工作流之一添加自定义编辑器。 我从关注 Ewald Hofman 的 this excelent tutorial 开始。 一切都按预期工作,当我单击工作流参数的 [...] 按钮时,将显示凭据对话框。

我想做的事: 我想显示 TFS 团队项目中可用的测试套件的可选列表/树。就像在默认实验室工作流程中一样:

显然,要使其工作,我必须能够通过其 .Net-API 与 TFS 通信(是否可以通过 SOAP/REST 进行通信?)。

但是当我开始修改示例以适应我的场景时,我天真地尝试使用IServiceProvider 来获取IBuildService 实例。

public override object EditValue(ITypeDescriptorContext context, ServiceProvider provider, object value)
{
            if (provider != null)
            {
                IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));

                IBuildServer bs = (IBuildServer)provider.GetService(typeof(IBuildServer));
                ...

这个方法不行,这个语句后bs为null。

然后我尝试像这样连接到 TestManagement:

            var pr = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfs:8080/tfs/DefaultCollection/ProjectName"));
            var TcmService = pr.GetService<ITestManagementService>();
            var t = TcmService.GetTeamProject("ProjectName");

但是当我单击工作流参数的编辑 [...] 按钮时显示 HTTP 404 错误,这失败了。 url 正确,如果我在浏览器中打开页面,就会显示 Team Webaccess 页面。

TL;DR:

我希望能够在自定义 worfklow 参数编辑器中显示当前 tfs 的测试套件列表,但我无法连接到 TFS。

其他方法: This 站点(和其他一些站点)建议使用内置编辑器。是否可以使用实验室工作流程参数的内置编辑器窗口(第一个屏幕截图中的那个)?

提前致谢。

【问题讨论】:

    标签: tfs build-process tfsbuild


    【解决方案1】:

    显然我只是愚蠢。

    var pr = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfs:8080/tfs/DefaultCollection/ProjectName"));
    

    项目名称不得在此 URL 中。使用下面的行就可以了。

    var pr = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfs:8080/tfs/DefaultCollection"));
    

    查看我的后续question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-13
      • 2021-09-05
      • 2018-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-28
      相关资源
      最近更新 更多