31/5/2008 20:18 El Bruno

[TFS] HowTo: Crear un WorkItem utilizando el modelo de objetos ?

Buenas,

siguiendo con el ejemplo del anterior post, donde comentaba como con un par de líneas de código podemos conectarnos a un servidor Team Foundation Server 2008 y trabajar con la información del mismo; hoy quiero extender un poco más el ejemplo y comentar como crear un WorkItem utilizando el modelo de objetos de Microsoft.TeamFoundation en un ejemplo de pocas lineas en una aplicación de Consola.

Nota: alerta criticos de cine ... en el ejemplo faltan muchas comprobaciones, control de excepciones, etc; pero la idea es mostrar simplementye como se puede realizar esta tarea.

Seleción de un Team Project

En primer lugar he cambiado un poco la rutina que selecciona un Team Project para que se pueda interactuar sobre la misma:

''' <summary>
''' Lists the selected team projects.
''' </summary>
Sub SelectedTeamProjects()

Console.WriteLine(
"Select Team Project")

' iterate trough tfs selected projects
Dim i As Integer = 0
For Each projectInfo As ProjectInfo In dpp.SelectedProjects()
Console.WriteLine(
"{0} Name: {1}", i, projectInfo.Name)
i
= i + 1
Next

Console.WriteLine(
"Input team project number")
Dim res = Console.ReadLine
project
= dpp.DefaultSelectedProjects(Convert.ToInt32(res))

End Sub

De esta forma en la variable local project se almacena el Team Project con el que trabajaremos.

Selección del tipo de WorkItem

A continuación debemos seleccionar el tipo de WorkItem que queremos crear, para esto, con ejemplo similar al anterior, listamos los diferentes tipos de workitems y ofrecemos la opción de seleccionar uno.

''' <summary>
''' Lists the work item types.
''' </summary>
Sub SelectWorkItemTypes()

Console.WriteLine(
"Select WorkItemType")

' iterate trough tfs selected projects
Dim i As Integer = 0
For Each workItemType As WorkItemType In project.WorkItemTypes
Console.WriteLine(
"{0} Name: {1}", i, workItemType.Name)
Console.WriteLine(
" Name: {1}", i, workItemType.Description)
i
= i + 1
Next

Console.WriteLine(
"Input WorkItem type number")
Dim res = Console.ReadLine
workItemType
= project.WorkItemTypes(Convert.ToInt32(res))

End Sub

El resultado se almacena en la variable workItemType.

 

Creación de un nuevo WorkItem

Finalmente, con el proyecto seleccionado y el tipo de WorkItem definido, podemos crear un nuevo WorkItem y mostrar el formulario de edición del mismo.

''' <summary>
''' Creates the new work item.
''' </summary>
Sub CreateNewWorkItem()

Dim newWorkItem As WorkItem = workItemType.NewWorkItem()
newWorkItem.Open()

End Sub

 

El ejemplo completo es muy simple, pero la potencia del modelo de objetos de cliente para trabajar Team Foundation Server 2008 permite realizar todas las acciones que se pueden realizar desde Microsoft Visual Studio 2008; como por ejemplo automatizar acciones de CheckIn - CheckOut, crear o interactuar con la informacion de WorkItems dinámicamente, conocer el estado de los builds, etc.

El código completo de la aplicación de Consola se puede descargar desde http://geeks.ms/files/folders/elbruno/entry87483.aspx

 

Saludos @ Home

El Bruno

 

Share this post :
Crossposting from ElBruno.com
Archivado en: ,,,,
Comparte este post:

# [TFS2008] Posts y HowTos sobre Team Foundation Server 2008 y 2005 (VI)

Wednesday, September 23, 2009 7:54 PM by El Bruno

Buenas, actualización con los posts, HowTos, posts sobre informes, builds, etc. sobre Team Foundation

# [Spanish] Visual Studio 2010 ALM y Team Foundation Server 2010, 2008 y 2005

Sunday, August 28, 2011 1:04 PM by El Bruno

13 marzo Buenas, Team Foundation Server 2010 WorkItem Tracking [#TFS2010] HowTo: Agregar un estado en