use*_*740 11 .net c# sql sql-server tfs
我正在创建我的第一个ASP.NET MVC项目。我已经开始连接TFS并通过C#将错误添加到TFS中。
var tfsURI = new Uri("http://test:8080/tfs");
var networkCredential1 = new NetworkCredential("test", "test!");
ICredentials credential = (ICredentials)networkCredential1;
Microsoft.VisualStudio.Services.Common.WindowsCredential winCred = new Microsoft.VisualStudio.Services.Common.WindowsCredential(credential);
VssCredentials vssCredentials = new VssCredentials(winCred);
using (TfsTeamProjectCollection collection = new TfsTeamProjectCollection(tfsURI, vssCredentials))
{
collection.EnsureAuthenticated();
WorkItemStore workItemStore = collection.GetService<WorkItemStore>();
Project teamProject = workItemStore.Projects["Test"];
WorkItemType workItemType = teamProject.WorkItemTypes["Bug"];
WorkItem Defect = new WorkItem(workItemType);
FileInfo fi = new FileInfo(@"C:\\Document.docx");
Attachment tfsAttachment = new Attachment(fi.FullName);
Defect.Attachments.Add(tfsAttachment);
Defect.Title = "Testing from VS to TFS Bug";
Defect.Description = "Testing from VS to entered Bug in to TFS.";
Defect.Fields["Assigned To"].Value = "Test";
Defect.Save();
}
Run Code Online (Sandbox Code Playgroud)
上面显示的代码可以正常工作。
但是使用SQL Server存储过程是否可以达到相同的结果?有什么方法可以使用存储过程连接到TFS并将错误添加到TFS中?
我有数据库,并且想从sql存储过程连接到TFS并创建WorkItem。通过C#,我已经完成了上面的示例。但是,如果可以通过存储过程实现相同的目的,则需要任何示例。
更新:
您可以从SQL CLR调用Web服务。一些教程可能会有所帮助:
不,唯一用于用户查询的数据库是仓库数据库。明确不支持其他项,不应直接查询其他项。
不要直接对TFS数据库进行任何更改,否则可能会失去 Microsoft 的支持。
请在这里查看类似的问题:向TFS数据库添加存储过程
除了使用客户端API外,您还可以在TFS中使用Rest API来执行某些操作。
POST https://{instance}/{collection}/{project}/_apis/wit/workitems/${type}?api-version=5.0
Run Code Online (Sandbox Code Playgroud)
经过大量研究后我发现了最佳解决方案,因为 SP 是不可能的。解决方案是创建Window Service。它将每 5 分钟在后台运行一次,并将监视 SQl 表(我的情况)中的条目,如果存在 Bug 条目,则会在 TFS 中创建票证。这是目前最简单、最好的解决方案,不会影响性能或任何东西。
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |