正在通过VSO API在VSO中创建文件夹
本文关键字:VSO 创建 文件夹 API | 更新日期: 2023-09-27 18:25:08
我一直在想如何通过VSO api创建查询文件夹,但我总是收到"不允许方法"的消息。
我正在使用Microsoft.TeamFoundationServer.Client软件包连接VSO。这个页面说我需要这个库。我可以查询数据,但创建数据似乎缺少一些东西。这个库非常适合我,因为我有一个WebApi来管理与VSO API的通信。
这是我的代码:
public QueryHierarchyItem CreateFolderAsync(string folderName)
{
QueryHierarchyItem newFolder = new QueryHierarchyItem()
{
Name = folderName,
IsFolder = true,
//Path = "Queries/Shared Queries/" + folderName,
IsPublic = true
};
QueryHierarchyItem item = witClient.CreateQueryAsync(newFolder, _projectName, null).Result;
return item;
}
我曾尝试过使用Path属性,但它没有帮助。
- 我已经检查了用户权限。我的用户是"项目管理员"的成员,并且
- 权限还设置为以组和单个用户的身份管理查询文件夹(单击"Shared Queries"文件夹旁边的V形图标->选择"Security")。这也于事无补
我使用免费帐户。奇怪的是,我使用Visual Studio中的同一用户登录,并且我可以管理文件夹。此功能可用于免费帐户吗?
有关详细信息,请参阅MSDN上的此博客:http://blogs.msdn.com/b/team_foundation/archive/2010/06/16/work-item-tracking-queries-object-model-in-2010.aspx
此处引用代码:
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
namespace QueryAPI
{
class Program
{
private static Project myproject = null;
public static QueryFolder GetMyQueriesFolder()
{
foreach (QueryFolder folder in myproject.QueryHierarchy)
{
if (folder.IsPersonal == true)
return folder;
}
throw new Exception("Cannot find the My Queries folder");
}
public static QueryFolder AddNewFolder(string folderName)
{
QueryFolder folder = new QueryFolder(folderName, GetMyQueriesFolder());
myproject.QueryHierarchy.Save();
return folder;
}
static void Main(string[] args)
{
TfsTeamProjectCollection coll = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("Your TFS Server URI"));
WorkItemStore store = new WorkItemStore(coll);
myproject = store.Projects["Your project name"];
QueryFolder myNewfolder = AddNewFolder("Your folder name");
}
}
}