我希望能够自动创建项目问题。目的是根据收到的电子邮件创建新问题。
我查看了ProjectWSSInfoDataSet,它应该引用问题列表(根据http://msdn.microsoft.com/en-us/library/aa495198(office.12).aspx的“PSI方法和项目工作空间的数据集”)。实际上,ProjectWSSInfoDataSet XML架构包含PROJECT_ISSUES_URL字段,但如果它只是url那么它对我来说没什么用处。
有没有人做过类似的事情? (或者可能存在项目风险或可交付成果。)
答案 0 :(得分:0)
我认为必须使用SharePoint Webservices。在指定的Web中查找列表并进行更新。
我建议SharePoint 2010 Client Object Model执行此操作:
//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;
我不知道代码是否会编译,但它应该像这样工作。
关心弗洛里安