EntityType: Task (ProjectData service)
In this article
Definition
Parent element
Child elements
Contains the properties that define the reporting data for a task in the ProjectData service.
Example
The following REST query uses the Tasks entity set and the TaskId key to get the specified task and properties. The query is all on one line.
https://<pwa_url>/_api/ProjectData/Tasks
?$filter=TaskId eq guid'2f333a57-f817-e211-9d84-00155d346c3f'
&$select=TaskPercentCompleted,TaskDuration,TaskFinishDate
The following statement uses LINQ query syntax to retrieve Task entity data from the OData interface of the Project Server reporting tables. To use the statement in an application, set a service reference to the ProjectDataService, and initialize the ReportingData context. The Tasks entity set can then be accessed as context.Tasks. For more information, see Querying OData feeds for Project 2013 reporting data.
var query =
from t in Tasks
where (t.TaskIndex > 0)
orderby t.ProjectName, t.TaskIndex
select new
{
Project = t.ProjectName,
Task = t.TaskName,
TaskWork = t.TaskWork,
TaskCost = t.TaskCost,
TaskDuration = t.TaskDuration,
TaskDurationVariance = t.TaskDurationVariance,
TaskCostVariance = t.TaskCostVariance
};
The preceding statement can be written by using Lambda expression syntax, as follows:
var query = Tasks
.Where(t => (t.TaskIndex > (Int32)0))
.OrderBy(t => t.ProjectName)
.ThenBy(t => t.TaskIndex)
.Select(t => new
{
Project = t.ProjectName,
Task = t.TaskName,
TaskWork = t.TaskWork,
TaskCost = t.TaskCost,
TaskDuration = t.TaskDuration,
TaskDurationVariance = t.TaskDurationVariance,
TaskCostVariance = t.TaskCostVariance
});
Both preceding statements create the following REST URL (all on one line).
http://<pwa_url>/_api/ProjectData/Tasks
?$filter=TaskIndex gt 0
&$orderby=ProjectName,TaskIndex
&$select=ProjectName,TaskName,TaskWork,TaskCost,TaskDuration,TaskDurationVariance,TaskCostVariance
All three of the sample queries get the same data.
Sample results of the Task query
Project |
Task |
TaskWork |
TaskCost |
TaskDuration |
TaskDurationVariance |
TaskCostVariance |
---|---|---|---|---|---|---|
ProjectA |
T1 |
24.0 hrs |
$404.00 |
24.0 hrs |
0.0 hrs |
$0.00 |
ProjectA |
T2 |
8.0 hrs |
$156.00 |
8.0 hrs |
-16.0 hrs |
-$272.00 |
ProjectA |
T3 |
32.0 hrs |
$564.00 |
32.0 hrs |
8.0 hrs |
$136.00 |
ProjectB |
T1 |
48.0 hrs |
$836.00 |
48.0 hrs |
16.0 hrs |
$272.00 |
ProjectB |
T2 |
24.0 hrs |
$428.00 |
24.0 hrs |
0.0 hrs |
$0.00 |
ProjectB |
T3 |
40.0 hrs |
$740.00 |
40.0 hrs |
0.0 hrs |
$0.00 |
ProjectB |
T4 |
8.0 hrs |
$168.00 |
8.0 hrs |
-8.0 hrs |
-$168.00 |
Definition
<EntityType Name="Task">
<Key>
<PropertyRef Name="ProjectId" />
<PropertyRef Name="TaskId" />
</Key>
<Property Name="ProjectId" Type="Edm.Guid" Nullable="false" />
. . .
<NavigationProperty Name="Assignments" Relationship="ReportingData.Assignment_Task_Task_Assignments" ToRole="Assignment_Task" FromRole="Task_Assignments" />
. . .
</EntityType>
Parent element
Element |
Description |
---|---|
The schema for the reporting data in the ProjectData service. |
Child elements
Child elements are properties of a task and navigation properties of that task. Attributes of the Property elements specify the property name and type, and whether the property can be a null value. The NavigationProperty elements specify collections of entities, such as tasks and assignments, that are associated with a task. A navigation property uses an Association element in a query for a related entity collection
The Key elements specify the properties that are the primary keys for a task query. ProjectId is the project GUID and TaskId is the task GUID.
Property elements
The following table lists the Property elements for the Task entity. The Name, Type, and Nullable columns contain attribute values for each property.
Attribute values for the Property elements of Task
Name |
Type |
Nullable |
Description |
---|---|---|---|
FlagStatus |
Edm.Boolean |
true |
|
Health |
Edm.String |
true |
The Health assignment custom field. |
ParentTaskId |
Edm.Guid |
true |
The GUID of a parent task. |
ParentTaskName |
Edm.String |
true |
The name of a parent task. |
ProjectId |
Edm.Guid |
false |
Key |
ProjectName |
Edm.String |
true |
The name of a project. |
TaskActualCost |
Edm.Decimal |
true |
The cost for work that has already been performed on a task, along with any other recorded costs. |
TaskActualDuration |
Edm.Decimal |
true |
The actual working time for a task, based on the duration of the work that was performed on the task to completion. |
TaskActualFinishDate |
Edm.DateTime |
true |
The date and time that a task was completed. |
TaskActualFixedCost |
Edm.Decimal |
true |
The costs for a task that remain constant regardless of the task duration, the amount of work performed by the resource, and the number of assignment units. |
TaskActualOvertimeCost |
Edm.Decimal |
true |
The cost incurred for overtime work that has already been performed on a task. |
TaskActualOvertimeWork |
Edm.Decimal |
true |
The amount of overtime work that has already been performed on a task. |
TaskActualRegularCost |
Edm.Decimal |
true |
The cost of regular, non-overtime work that has already been performed on a task. |
TaskActualRegularWork |
Edm.Decimal |
true |
The regular, non-overtime work that has already been performed on a task. |
TaskActualStartDate |
Edm.DateTime |
true |
The date and time that a task actually began. |
TaskActualWork |
Edm.Decimal |
true |
The actual work that has already been performed on a task, usually expressed as the percent complete. |
TaskACWP |
Edm.Decimal |
true |
The actual cost of work that has already been performed on a task, up to the current date or status date. |
TaskBCWP |
Edm.Decimal |
true |
The budgeted cost of work that has already been performed on a task, up to the current date or the status date. |
TaskBCWS |
Edm.Decimal |
true |
The budgeted cost of work scheduled, up to the current date or the status date. |
TaskBudgetCost |
Edm.Decimal |
false |
The scheduled costs. |
TaskBudgetWork |
Edm.Decimal |
false |
The scheduled work. |
TaskClientUniqueId |
Edm.Int32 |
false |
The GUID of a task client. |
TaskCost |
Edm.Decimal |
true |
The total scheduled or projected cost for a task. |
TaskCostVariance |
Edm.Decimal |
true |
The difference between the baseline cost and total cost for a task. |
TaskCPI |
Edm.Decimal |
true |
The Cost Performance Index, calculated by dividing the budgeted cost of work performed by the actual cost of work scheduled. |
TaskCreatedDate |
Edm.DateTime |
false |
The date and time that a task was added to the project. |
TaskCreatedRevisionCounter |
Edm.Int32 |
false |
Represents the number of times that a task has been modified. |
TaskCV |
Edm.Decimal |
true |
The task earned value cost variance. |
TaskCVP |
Edm.Decimal |
true |
The task CVP, calculated by dividing the task cost variance by the task budgeted cost of work performed. |
TaskDeadline |
Edm.DateTime |
true |
The target date and time for when a task should be completed. |
TaskDeliverableFinishDate |
Edm.DateTime |
true |
The published deliverable finish date and time for a task. |
TaskDeliverableStartDate |
Edm.DateTime |
true |
The published deliverable start date and time for a task. |
TaskDuration |
Edm.Decimal |
true |
The total span of active working time for a task. |
TaskDurationIsEstimated |
Edm.Boolean |
false |
True if task duration is estimated. |
TaskDurationString |
Edm.String |
true |
The string value for the duration of a task. |
TaskDurationVariance |
Edm.Decimal |
true |
The difference between the baseline duration and the total duration (current estimate) of a task. |
TaskEAC |
Edm.Decimal |
true |
The task estimate at completion—the expected total cost of a task based on performance up to the status date. |
TaskEarlyFinish |
Edm.DateTime |
true |
The earliest date and time that a task can finish. |
TaskEarlyStart |
Edm.DateTime |
true |
The earliest date and time that a task can begin. |
TaskFinishDate |
Edm.DateTime |
true |
The date and time that a task is scheduled to be completed. |
TaskFinishDateString |
Edm.String |
true |
The string value of the task finish date and time. |
TaskFinishVariance |
Edm.Decimal |
true |
Task variance at the finish date and time. |
TaskFixedCost |
Edm.Decimal |
true |
A set cost for a task that remains constant regardless of the task duration or the work performed by a resource. |
TaskFixedCostAssignmentId |
Edm.Guid |
false |
The GUID of the fixed cost assignment. |
TaskFreeSlack |
Edm.Decimal |
true |
The amount of time a task can be delayed without delaying successor tasks. |
TaskHyperLinkAddress |
Edm.String |
true |
A hyperlink that is associated with a task. |
TaskHyperLinkFriendlyName |
Edm.String |
true |
The text to display for a task hyperlink. |
TaskHyperLinkSubAddress |
Edm.String |
true |
The subaddress of a task hyperlink. |
TaskId |
Edm.Guid |
false |
Key |
TaskIgnoresResourceCalendar |
Edm.Boolean |
false |
True if a task ignores resource calendars. |
TaskIndex |
Edm.Int32 |
true |
The number of a task in the local project. |
TaskIsActive |
Edm.Boolean |
false |
True if a task is active. |
TaskIsCritical |
Edm.Boolean |
true |
True if a task is on a critical path. |
TaskIsEffortDriven |
Edm.Boolean |
false |
True if a task is effort-driven. |
TaskIsExternal |
Edm.Boolean |
false |
True if a task is linked from another project. |
TaskIsManuallyScheduled |
Edm.Boolean |
false |
True if a task is manually scheduled. |
TaskIsMarked |
Edm.Boolean |
false |
True if a task is marked. |
TaskIsMilestone |
Edm.Boolean |
true |
True if a task is a milestone. |
TaskIsOverallocated |
Edm.Boolean |
true |
True if a task is overallocated. |
TaskIsProjectSummary |
Edm.Boolean |
true |
True if a task is a project summary task. |
TaskIsRecurring |
Edm.Boolean |
false |
True if a task is part of a series of recurring tasks. |
TaskIsSummary |
Edm.Boolean |
true |
True if a task is a summary task. |
TaskLateFinish |
Edm.DateTime |
true |
The latest date and time that a task can finish without delaying the project finish. |
TaskLateStart |
Edm.DateTime |
true |
The latest date and time that a task can start without delaying the project finish date. |
TaskLevelingDelay |
Edm.Decimal |
true |
The amount of time that a task is to be delayed from its early start date as a result of resource leveling. |
TaskModifiedDate |
Edm.DateTime |
false |
The date and time that a task was modified. |
TaskModifiedRevisionCounter |
Edm.Int32 |
false |
The number of times that task data has been modified. |
TaskName |
Edm.String |
true |
The name of a task. |
TaskOutlineLevel |
Edm.Int16 |
true |
The position of a task in the project outline hierarchy, as indicated by a number. |
TaskOutlineNumber |
Edm.String |
true |
The position of a task in the project outline hierarchy, as indicated by a text value. |
TaskOvertimeCost |
Edm.Decimal |
true |
The cost of overtime work on a task. |
TaskOvertimeWork |
Edm.Decimal |
true |
The amount of overtime work scheduled to be performed by all resources that are assigned to a task. |
TaskPercentCompleted |
Edm.Int16 |
true |
The current task status, expressed as the percent of the task duration that is completed. |
TaskPercentWorkCompleted |
Edm.Int16 |
true |
The current status of a task, expressed as the percentage of work completed. |
TaskPhysicalPercentCompleted |
Edm.Int16 |
true |
The percentage of a task that is completed. Used for calculating earned value (BCWP. |
TaskPriority |
Edm.Int16 |
true |
The level of importance of a task, represented by a value from 0 to 1000. |
TaskRegularCost |
Edm.Decimal |
true |
The cost of the regular, nonovertime work on a task. |
TaskRegularWork |
Edm.Decimal |
true |
The regular, nonovertime work on a task. |
TaskRemainingCost |
Edm.Decimal |
true |
The cost of the work that remains to be done on a task. |
TaskRemainingDuration |
Edm.Decimal |
true |
The duration of the work that remains to be done on a task. |
TaskRemainingOvertimeCost |
Edm.Decimal |
true |
The cost of the overtime work that remains to be done on a task. |
TaskRemainingOvertimeWork |
Edm.Decimal |
true |
The overtime work that remains to be done on a task. |
TaskRemainingRegularCost |
Edm.Decimal |
true |
The cost of the regular, nonovertime work that remains to be performed on a task. |
TaskRemainingRegularWork |
Edm.Decimal |
true |
The regular, nonovertime work that remains to be performed on a task. |
TaskRemainingWork |
Edm.Decimal |
true |
The work that remains to be done on a task. |
TaskResourcePlanWork |
Edm.Decimal |
false |
The total work of all resources on tasks. |
TaskSPI |
Edm.Decimal |
true |
A value that indicates whether the project is on schedule, calculated by dividing budgeted cost of work performed by the budgeted cost of work scheduled. |
TaskStartDate |
Edm.DateTime |
true |
The date and time that an assigned resource is scheduled to begin work on a task. |
TaskStartDateString |
Edm.String |
true |
The string value for a task start date and time. |
TaskStartVariance |
Edm.Decimal |
true |
Task start variance is the difference between a baseline start date and the currently scheduled start date. |
TaskSV |
Edm.Decimal |
true |
Task schedule variance is the cost difference between the current progress and the baseline plan of a task. |
TaskSVP |
Edm.Decimal |
true |
Task schedule variance percentage (schedule variance divided by the TaskBCWS). |
TaskTCPI |
Edm.Decimal |
true |
The cost performance index (the ratio of the work that remains to be done, to funds remaining to be spent) as of the task status date. |
TaskTotalSlack |
Edm.Decimal |
true |
The amount of time that a task finish date can be delayed without delaying the project finish date. |
TaskVAC |
Edm.Decimal |
true |
The task variance at completion of the task. |
TaskWBS |
Edm.String |
true |
Work breakdown structure code that is used to represent the task position within the hierarchical structure of a project. |
TaskWork |
Edm.Decimal |
true |
The total time scheduled on a task for all assigned resources. |
TaskWorkVariance |
Edm.Decimal |
true |
The difference between baseline work and currently scheduled work. |
NavigationProperty elements
The following table lists attribute values for the NavigationProperty elements of the Prioritization entity. The Name and Relationship columns contain attribute values for each navigation property.
Each Relationship attribute has two pairs of names; each pair of names indicates a navigation direction. The first pair starts with the entity type that has the primary, or starting, role in the navigation. The second pair starts with the entity type that has the secondary, or dependent, role in the navigation. For example, for the Assignments navigation property, the primary type is Assignment, and the secondary type is Task. For this type of navigation, the FromRole is Assignment_Task, and the ToRole is Task_Assignments.
Attribute values for the NavigationProperty elements
Name |
Relationship |
Description |
---|---|---|
Assignments |
Establishes navigation from a collection of assignments to a task and from a task to a collection of assignments. |
|
AssignmentsBaselines |
Establishes navigation from a collection of assignment baselines to a task and from a task to a collection of assignment baselines. |
|
AssignmentsBaselineTimephasedData |
AssignmentBaselineTimephasedData_Tasks_Task_AssignmentsBaselineTimephasedData |
Establishes navigation from a collection of assignment baseline timephased data to a task and from a task to a collection of assignment baseline timephased data. |
Baselines |
Establishes navigation from a collection of task baselines to a task and from a task to a collection of task baselines. |
|
BaselinesTimephasedDataSet |
TaskBaselineTimephasedData_Task_Task_BaselinesTimephasedDataSet |
Establishes navigation from a collection of task baseline timephased data to a task and from a task to a collection of task baseline timephased data. |
Issues |
Issue_Tasks_Task_Issues |
|
Project |
Establishes navigation from a project to a collection of tasks and from a collection of tasks to a project. |
|
Risks |
||
TimephasedInfo |
Establishes navigation from a collection of task timephased data to a task and from a task to a collection of task timephased data. |