Est-il possible d'utiliser le SDK TFS pour créer, mettre en file d'attente et suivre les générations?

StackOverflow https://stackoverflow.com/questions/611485

  •  03-07-2019
  •  | 
  •  

Question

Je suis allé sur Google et je ne trouve aucun exemple concret montrant comment cela est fait, ou même si cela peut être fait. Je suppose que c'est possible. Est-ce que quelqu'un peut-il me montrer la bonne direction?

Jusqu'à présent, j'ai examiné la documentation de l'espace de noms TFS sur msdn. Mon objectif est d’être en mesure d’automatiser et de suivre intégralement nos versions de TFS à partir d’une application Web intranet.

Était-ce utile?

La solution

Richard m'a orienté dans la bonne direction, alors je vais répondre à ma propre question avec ce que j'ai trouvé.

Oui, vous pouvez utiliser le SDK TFS pour créer, mettre en file d'attente et suivre les générations. Les interfaces / classes souhaitées se trouvent dans l’espace de noms Microsoft.TeamFoundation.Build.Client. IBuildServer, IBuildDefinition et IBuildDetail sont particulièrement utiles.

MISE À JOUR TFS 2010: Voici un exemple de programme utilisant le SDK TFS 2010, trouvé ici :

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);
        }
    }
}

Autres conseils

Regardez tfsbuild.exe (dans le dossier ... / Common9 / IDE de l’installation VS).

Ceci fait référence aux assemblages Microsoft.TeamFoundation.Build.Client et Microsoft.TeamFoundation.Build.Common qui semblent utiles, ... et contiennent des espaces de noms qui ne sont pas documentés. les autres assemblages cient TFS, mais sont sur MSDN ici http://msdn.microsoft .com / fr-us / library / cc339575.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top