Auditoria: Report de Changesets no TFS
Hoje, um cliente que passará por uma auditoria, me pediu um relatório que exibisse todas as changesets realizadas durante um período, por um determinado usuário e que apresentasse todos os arquivos alterados na changeset.
O TFS não possui nenhum tipo de relatório que apresente essa listagem pronta, mas também não é nada do outro mundo construir um relatório que apresente isso. Com uma simples query você consegue puxar todos os dados para construir o seu report.
Basicamente você precisará consultar as tabelas tbl_Changeset e tbl_Version para obter as changesets e lista de arquivos e depois mais 3 tabelas para conseguir descobrir o nome do usuário, sendo elas tbl_VCIdentityMap, tbl_IdentityMap e tbl_identity, lembrando que apenas a última não está na base da sua Team Project Collection, ela está na base TFS_Configuration.
A query final apresenta o seguinte formato:
1 2 3 4 5 6 7 8 9 10 11 12 | SELECT cs.ChangeSetId, i.DisplayName, v.FullPath, cs.Comment, cs.CreationDate AS [DATE] FROM tbl_Changeset cs INNER JOIN tbl_Version v ON v.VersionFrom = cs.ChangesetID INNER JOIN tbl_VCIdentityMap vcim ON cs.OwnerId = vcim.IdentityId INNER JOIN tbl_IdentityMap im ON vcim.TeamFoundationId = im.localId INNER JOIN Tfs_Configuration..tbl_identity i ON im.masterId = i.Id ORDER BY cs.ChangeSetId DESC |
Na imagem 1 podemos ver o histórico de ChangeSets dentro do Visual Studio e na Imagem 2 vemos como tudo está armazenado dentro do SQL Server.
Imagem 1 – Changesets no Visual Studio
Imagem 2 – Changesets no SQL Server
Espero que ajude nos seus reports de auditoria.
Abraços e até a próxima.
André Dias
Comentários