1

我正在尝试针对 MS Project Server 2013 中可用的某些特定任务添加时间表条目。我有使用 REST 端点在 Project Server 中创建任务的方法,但找不到直接用于时间表的方法。我从最后的一些审查中收集了一些细节:

要查看完整的元数据:
http://>/PWA/_api/ProjectData/$metadata - 您可以获得字段详细信息,我需要具体了解 TimeSheet 的实体。

要查看可用的完整时间表期间:
http://>/PWA/_api/ProjectServer/TimeSheetPeriods - 您可以查看所有可用的 TimeSheet Periods。

我知道 TimeSheet 作为单独的实体保留,不属于通常的项目实体。

我的查询在这里具体了解为时间表添加和更新处理的实体。请帮助我处理包括保存、发布和结帐在内的端点!

4

2 回答 2

1

你是如何添加任务的?Http请求?你开发了一些应用程序吗?

我尝试了几种方法,通过 Postman 将实际值添加到已经使用 REST 端点创建的时间表中,但均未成功。它总是响应此错误:“此页面的安全验证无效。”,我想我缺少一些标题。

这个端点和我一样接近:

提交时间表
POST - http://>/pwa/_api/ProjectServer/TimeSheetPeriods('periodid')/TimeSheet/submit(comment)

更新时间表
POST - http://>/pwa/_api/ProjectServer/TimeSheetPeriods('periodid')/TimeSheet/update()

我在这里看到了这个端点。

希望这可以帮助!

于 2019-11-22T14:51:28.907 回答
1

以防有人仍然像我一样为此苦苦挣扎……这对我有用。要替换任务中给定日期的实际工作 - 输入您的时间:

乌里:

http://<sitecollection>/<site>/_api/ProjectServer/TimeSheetPeriods('periodid')/TimeSheet/Lines('lineid')/Work('yyyy-MM-dd') 

方法:补丁

标题:

 Accept - application/json;odata=verbose

 Content-type - application/json;odata=verbose

 Odata-version - 3.0

 If-Match: *

身体:

{
"__metadata": {
"type": "PS.TimeSheetWork"
},
"ActualWork": "10"
}

我进入我的时间为 10 小时。

于 2021-03-30T09:41:27.703 回答