Datapayasadas

junio 4, 2009

Obtener WorkItems de TFS mediante código C#

Filed under: .Net, TFS — Etiquetas: , — pabloide86 @ 12:53 pm

Recientemente me tocó armar una pequeña aplicación que debía tomar desde el repositorio de Team Foundation Server los items de trabajo de todos los proyectos asignados a mí, que no hayan sido completados o eliminados.

Para ello utilicé el siguiente código:

private WorkItemCollection GetTareasTFS()
    {
        try
        {
            string serverTFS = "http://servidor:puerto"; //El puerto generalmente es 8080

            // Creo la conexión y pido credenciales si no las tengo
            TeamFoundationServer tfsServer = TeamFoundationServerFactory.GetServer(serverTFS, new UICredentialsProvider());
            tfsServer.EnsureAuthenticated();

            //Obtengo el WorkItemStore
            WorkItemStore workItemStore = tfsServer.GetService(typeof(WorkItemStore)) as WorkItemStore;

            //Creo una consulta que trae todos los items que no fueron terminados ni eliminados
            //y que fueron asignados a mi
            string query = string.Format("SELECT [System.Id], [System.WorkItemType]," +
                " [System.State], [System.AssignedTo], [System.Title] " +
                " FROM WorkItems " +
                " WHERE [System.Title] <> '' AND [System.State] <> 'Done' AND [System.State] <> 'Deleted' AND [System.ChangedBy] = '{0}'" +
                " ORDER BY [System.WorkItemType], [System.Id]", tfsServer.AuthenticatedUserDisplayName);
            //Ejecuto la consulta
            WorkItemCollection workItemCollection = workItemStore.Query(query);

            //Devuelvo la colección de workItems
            return workItemCollection;
        }
        catch (Exception ex)
        {
            //Manejo la excepción
        }
    }

Ademas hay que agregar referencias a los siguientes assemblies:

  • Microsoft.TeamFoundation.Client
  • Microsoft.TeamFoundation.WorkItemTracking.Client

Es bastante sencillo. A partir de ahí puedo iterar sobre la colección para sacar los campos que me interesan, o bien bindear la colección a algún control. Espero que les sea útil!

Saludos!

UPDATE! Para que esto funcione deberemos tener instalado el Team Explorer!

Anuncios

1 comentario »

  1. Hmm it appears like your blog ate my first comment (it was extremely long) so I
    guess I’ll just sum it up what I submitted and say, I’m thoroughly enjoying your blog.
    I as well am an aspiring blog writer but I’m still new to
    everything. Do you have any tips for novice
    blog writers? I’d certainly appreciate it.

    Comentario por rss — mayo 9, 2014 @ 5:32 am


RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

A %d blogueros les gusta esto: