Как программно создать вопрос проекта в Project Workspace? - PullRequest
0 голосов
/ 04 января 2012

Я хотел бы иметь возможность создавать проблемы проекта автоматически.Цель состоит в том, чтобы создать новую проблему на основе полученного электронного письма.

Я посмотрел на ProjectWSSInfoDataSet, который должен иметь ссылку на список проблем (в соответствии с "Методами PSI и наборами данных для рабочих областей проекта" на http://msdn.microsoft.com/en-us/library/aa495198(office.12).aspx). Действительно, XML-схема ProjectWSSInfoDataSet содержит поле PROJECT_ISSUES_URL, но если это просто URL-адрес, то он не очень полезен для меня.

Кто-нибудь делал что-то подобное? (Или, возможно, с рисками проекта или результатами.)

1 Ответ

0 голосов
/ 30 апреля 2012

Я думаю, что это нужно сделать с помощью веб-сервисов SharePoint. Найдите список в указанной сети и обновите его.

Я рекомендую Клиентская объектная модель 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();

Если вы не хотите получать URL-адрес рабочего пространства через идентификатор проекта, это можно сделать с помощью веб-службы WSSInterop сервера Project Server:

//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;

Я не знаю, скомпилируется ли код, но он должен работать следующим образом.

С уважением, Флориан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...