Ввод расписания в Project Server с помощью Rest API

Я пытаюсь добавить записи расписания для какой-то конкретной задачи, доступной в MS Project Server 2013. У меня есть способы создания ЗАДАЧИ в Project Server с использованием конечных точек REST, но я не смог найти прямой путь для расписания. Я собрал несколько деталей после тщательного изучения с моей стороны:

To See the Complete Meta Data: 
http://>/PWA/_api/ProjectData/$metadata - You can get the field details, Where as I need to know in specific the Entity for TimeSheet.

To See the Complete Time Sheet Period Available:
http://>/PWA/_api/ProjectServer/TimeSheetPeriods - You can see all the available TimeSheet Periods.

Я знаю, что TimeSheet остается отдельным объектом и не принадлежит обычным объектам проекта.

Мой запрос здесь, чтобы узнать конкретную сущность, которая предназначена для добавления и обновления расписания. Пожалуйста, помогите мне с конечными точками, включая сохранение, публикацию и проверку!


person Vijay L Marcelin    schedule 01.02.2019    source источник


Ответы (2)


Как вы добавляете задачи? HTTP-запросы? Вы разработали какое-то приложение?

Я попробовал несколько способов добавить фактические данные в расписания, уже созданные с использованием конечных точек REST, через Postman, но безуспешно. Он всегда отвечает этой ошибкой: «Проверка безопасности для этой страницы недействительна». Я думаю, что мне не хватает некоторых заголовков.

Эти конечные точки были настолько близки, насколько я получил:

Отправить расписание
POST – http://>/pwa/_api/ProjectServer/TimeSheetPeriods('periodid')/TimeSheet/submit(comment)

Обновление расписания
POST – http://>/pwa/_api/ProjectServer/TimeSheetPeriods('periodid')/TimeSheet/update()

Я видел эти конечные точки здесь.

Надеюсь это поможет!

person Bruno Ferreira    schedule 22.11.2019

Если кто-то все еще борется с этим, как и я... вот что сработало для меня. Чтобы заменить фактическую работу за данный день в задаче - введите свое время:

Ури:

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 часов.

person O A    schedule 30.03.2021