El Bruno

Blog dedicado a las experiencias del desarrollo con tecnologías Microsoft.
[TFS] HowTo: ejecutar un Team Query utilizando el modelo de objetos?

Buenas,

a pedido de un amiguete, y para seguir con los post sobre el trabajo con el modelo de objetos de Team Foundation Server 2008 (también valen para 2005), dejamos la aplicación de consola para crear una aplicación un poco más interesante que después de conectarse a un server TFS y seleccionar un Team Project, ejecuta un Team Query y muestra los resultados del mismo.

 

Dentro del código las rutinas que merecen ser destacadas son las siguientes:

Selección del Servidor Team Foundation Server

''' <summary>
''' Connects to TFS.
''' </summary>
Sub ConnectToTFS()

' default all control disabled
EnableOrDisableControls(False)

' Server selection from Visual Studio clasic Window
dpp = New DomainProjectPicker()
If dpp.ShowDialog() = Windows.Forms.DialogResult.OK Then

' display server info
server = dpp.SelectedServer
btnSelectTFS.Text
= server.Name

' load team projects
cbTeamProjects.DataSource = dpp.SelectedProjects()
cbTeamProjects.DisplayMember
= "Name"
cbTeamProjects.DisplayMember
= String.Empty

' connect to workitem store
'If workItemStore Is Nothing Then
workItemStore = CType(server.GetService(GetType(WorkItemStore)), WorkItemStore)
'End If

' enable controls
EnableOrDisableControls(True)
End If
End Sub

Selección del Team Project

''' <summary>
''' Selects the team project.
''' </summary>
Sub SelectTeamProject()

' validate
If (workItemStore Is Nothing) Then Exit Sub

' define selected project
project = workItemStore.Projects.Item(cbTeamProjects.Text)

' load team project team queries
cbTeamQuery.DataSource = project.StoredQueries
cbTeamQuery.DisplayMember
= "Name"
End Sub

Ejecución del Team Query seleccionado

''' <summary>
''' Runs the selected query.
''' </summary>
Sub RunSelectedQuery()
' validate
If workItemStore Is Nothing Then Exit Sub

' define selected stored query
storedQuery = project.StoredQueries(cbTeamQuery.SelectedIndex)

Dim workItemCollection As WorkItemCollection

If storedQuery.QueryText.Contains("@project") Then
Dim params As New Hashtable
params.Add(
"@project".Substring(1), project.Name)
workItemCollection
= project.Store.Query(storedQuery.QueryText, params)
Else
workItemCollection
= project.Store.Query(storedQuery.QueryText)
End If

If workItemCollection.Count = 0 Then Exit Sub
dgResults.DataSource
= workItemCollection

End Sub

 

 

Como siempre el código fuente del ejemplo se puede descargar desde http://geeks.ms/files/folders/elbruno/entry87550.aspx y les dejo un pequeño video con un ejemplo de utilización de la aplicación.


Video: TFS - Run Team Query

 

Saludos @ Home

El Bruno

 

Share this post :

Published domingo, 01 de junio de 2008 22:28 by elbruno

Comments

No Comments