2009-08-11 8 views
1

Je cherche à obtenir le numéro de build ou le nom de construction de ce qui sera généré par un ChangeSetID particulier. Je vois qu'il y a une table TfsWarehouse.dbo. [Build Changeset], mais la base de données TfsWarehouse n'est remplie que de temps en temps, j'ai besoin de cette information après le déclenchement de l'alerte CheckIn TFS. J'ai créé un service d'archivage qui crée des éléments de travail de révision de code en fonction de l'application et les affecte à leur propriétaire d'application.API TFS - comment puis-je trouver la build qui démarrera en fonction de ChangeSetId?

Existe-t-il un moyen d'obtenir ce que Build lancera en fonction d'un ChangeSetId? Je peux utiliser l'API TFS ou interroger directement la base de données.

Merci, Tim

Répondre

3

Si vous voulez savoir à quoi construire des définitions seront affectées par un ensemble de chemins de contrôle de version alors jetez un oeil à la méthode IBuildServer.GetAffectedBuildDefinitions dans l'API TFS. Pour BuildDefinition, vous pouvez obtenir les BuildDetails des builds qui ont été lancés et leur demander de quel changement ils étaient basés. Lorsque l'événement d'archivage se déclenche, il n'est pas possible de savoir quel sera le numéro de build de la génération qui en est créée, car les numéros de build peuvent être définis dans le cadre du processus lorsqu'une génération est en cours d'exécution - et non lorsque la construction est d'abord mise en file d'attente.

Si vous vouliez éditer votre question pour expliquer ce que vous essayez d'accomplir, je pourrais peut-être vous proposer un meilleur moyen. Par exemple, sur IBuildServer, vous pouvez appeler la méthode CreateQueuedBuildsView pour vous fournir un mécanisme permettant d'interroger le serveur de génération et d'informer votre code lorsque les générations sont mises en file d'attente. Il y a aussi le BuildCompletedEvent qui se déclenche quand les builds se terminent.

Questions connexes