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
Crossposting from
ElBruno.com
Archivado en: Visual Studio Team System,VSTS,Team Foundation Server,HowTo,WorkItem Tracking
Comparte este post: