tfs2015-显示所有共享和用户拥有的通知及其所有者

guicsvcw  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(282)

我正在尝试编写一个sql查询,它将列出tfs 2015内部部署上所有共享和用户拥有的VST更改通知。根据我的研究,通知应该存储在tbl\u eventsubscription表中,但是那里没有关于事件是用户拥有的还是共享的信息,只是订阅者的订阅ID,我不知道在哪里搜索所有者。
如果有可能用restapi解决这个问题,它也会有帮助。
任何帮助或指导都将不胜感激。

1dkrff03

1dkrff031#

不建议您直接深入tfs数据库。请勿对tfs数据库进行任何更改,否则您可能会失去microsoft的支持。
由于您已经获得了subscriptionid,要找出哪个用户标识隐藏在“subscriptionid”列中的guid后面,可以使用以下sql语句:

SELECT  es.Id, 
        es.EventType, 
        es.Expression, 
        sic.mail_address, 
        sic.computed_display_name 
FROM    tbl_EventSubscription es 
JOIN    [Tfs_Configuration].[dbo].tbl_security_identity_cache sic 
ON      sic.tf_id = es.SubscriberId 
WHERE   es.Id = 123

更多细节请看这个博客:谁创建了tfs事件订阅?

kmynzznz

kmynzznz2#

好吧,我想我明白了:

SELECT Notif.Id AS 'Notification Id',
          Notif.EventType AS 'Event Type',
          Notif.Classification AS 'Notification Classification',
          Const.IdentityDisplayName AS 'Notification Owner'
     FROM [Tfs_Development].[dbo].[tbl_EventSubscription] Notif
LEFT JOIN [Tfs_Development].[dbo].[Constants] Const ON Const.TeamFoundationId = Notif.SubscriberId
 ORDER BY Notif.Id

@patricklu msft我不知道为什么,但是我在tfs\u配置中没有tbl\u security\u identity\u缓存,但是我在tfs\u开发中有它,它是空的。我使用tfs\u configuration.dbo.tbl\u identity作为用户名的引用,但它没有返回我团队订户甚至一些用户的名称,所以最后我将使用我的解决方案。
谢谢你的帮助。

相关问题