0

我希望能够自动创建项目问题。目的是根据收到的电子邮件创建新问题。

我查看了 ProjectWSSInfoDataSet,它应该参考问题列表(根据http://msdn.microsoft.com/en-us/library/aa495198(office.12) 上的“项目工作空间的 PSI 方法和数据集”。 .aspx)。事实上,ProjectWSSInfoDataSet XML 模式包含 PROJECT_ISSUES_URL 字段,但如果它只是 url,那么它对我来说没有多大用处。

有没有人做过类似的事情?(或者可能存在项目风险或可交付成果。)

4

1 回答 1

0

我认为必须使用 SharePoint Webservices。在指定的网站中找到列表并更新它。

我建议使用SharePoint 2010 客户端对象模型来执行此操作:

//Use SP2010 Client Object Model to update the list
ClientContext SPContext = new ClientContext(wssUrl);

//Get list by name
string listname = "issues";

var query = SPContext.LoadQuery(SPContext.Web.Lists.Where(l => l.Title == listname));
SPContext.ExecuteQuery();

List myIssueList = query.FirstOrDefault();

//Add an item
ListItemCreationInformation nItem = new ListItemCreationInformation();
nItem.LeafName = "Blubb..";
myIssueList.AddItem(nItem);
SPContext.ExecuteQuery();

如果您不想通过 Project Id 获取 Workspace Url,您可以通过 Project Server 的 WSSInterop Webservice 执行此操作:

//Use WssInterop Webservice to get the Workspace URL
WssInteropSoapClient wssinteropSvc = new WssInteropSoapClient();

Guid prjGuid = new Guid("30937680-39FA-4685-A087-90C73376B2BE");

ProjectWSSInfoDataSet wssData = wssinteropSvc.ReadWssData(prjGuid);
string wssUrl = wssData.ProjWssInfo[0].PROJECT_WORKSPACE_URL;

我不知道代码是否会编译,但它应该像这样工作。

问候弗洛里安

于 2012-04-30T07:01:34.320 回答