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 Web サービスでそれを行う必要があると思います。指定された Web でリストを検索し、更新します。

これを行うには、 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();

プロジェクト ID を使用してワークスペース 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 に答える