Pergunta

Estive pesquisando e não consigo encontrar qualquer exemplos sólidos como isso é feito, ou mesmo se ele pode ser feito. Presumo que puder. Alguém pode me apontar na direção certa?

Até agora eu tenho procurado sob a documentação TFS namespace no MSDN. Meu objetivo é ser capaz de automatizar completamente e acompanhar o nosso constrói no TFS partir de uma aplicação intranet web.

Foi útil?

Solução

Richard apontou-me na direção certa, então eu vou responder a minha própria pergunta com o que eu encontrei.

Sim, você pode usar o TFS SDK para criar, fila, ea faixa constrói. As interfaces / classes que você deseja estão localizados no namespace Microsoft.TeamFoundation.Build.Client. IBuildServer, IBuildDefinition e IBuildDetail são particularmente úteis.

TFS 2010 UPDATE: Aqui está um exemplo de programa usando o TFS 2010 SDK, encontrados aqui :

using System;
using System.Collections.Generic;
using Microsoft.TeamFoundation.Build.Client;
using Microsoft.TeamFoundation.Build.Workflow;
using Microsoft.TeamFoundation.Client;

namespace ManageBuildTemplates
{
    class Program
    {
        static void Main(string[] args)
        {
            TfsTeamProjectCollection collection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://jpricket-test:8080/tfs/collection0"));
            IBuildServer buildServer = collection.GetService<IBuildServer>();

            IBuildDefinition definition = buildServer.GetBuildDefinition("UnitTests", "Definition1");

            IBuildRequest request = definition.CreateBuildRequest();
            request.ProcessParameters = UpdateVerbosity(request.ProcessParameters, BuildVerbosity.Diagnostic);

            buildServer.QueueBuild(request);
        }

        private static string UpdateVerbosity(string processParameters, BuildVerbosity buildVerbosity)
        {
            IDictionary<String, Object> paramValues = WorkflowHelpers.DeserializeProcessParameters(processParameters);
            paramValues[ProcessParameterMetadata.StandardParameterNames.Verbosity] = buildVerbosity;
            return WorkflowHelpers.SerializeProcessParameters(paramValues);
        }
    }
}

Outras dicas

Olhe para tfsbuild.exe (no ... / Common9 / IDE pasta do VS instalar).

Este referências montagens Microsoft.TeamFoundation.Build.Client e Microsoft.TeamFoundation.Build.Common que olhar útil, ... e contêm namespaces que não são documentados com os outros assembliies TFS cientes, mas estão no MSDN aqui http://msdn.microsoft.com/en-us/library/cc339575.aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top