Export Project Content Definition
Page describes the output format and definition of JSON when using the ExportProjectContent tool.
Property name | Type | Description |
---|---|---|
/project | JSONObject | Project level values |
/project/fields | JSONArray | Definition of project level properties |
/project/assignments | JSONArray | List of assignments and their values |
/project/assignments/fields | JSONArray | Definition of assignment properties |
/project/attachments | JSONArray | List of attachments and their values |
/project/attachments/fields | JSONArray | Definition of attachment properties |
/project/buckets | JSONArray | List of buckets and their values |
/project/buckets/fields | JSONArray | Definition of bucket properties |
/project/calendars | JSONArray | List of calendar and their values |
/project/calendars/fields | JSONArray | Definition of calendar properties |
/project/checklistItems | JSONArray | List of checklist items and their values |
/project/checklistItems/fields | JSONArray | Definition of checklist item properties |
/project/conditionalColoringRules | JSONArray | List of conditional coloring rules and their values |
/project/conditionalColoringRules/fields | JSONArray | Definition of conditional coloring rule properties |
/project/conversations | JSONArray | List of conversation and their values |
/project/conversations/fields | JSONArray | Definition of conversation properties |
/project/goalAssociations | JSONArray | List of goal associations and their values |
/project/goalAssociations/fields | JSONArray | Definition of goal associations |
/project/goals | JSONArray | List of goals and their values |
/project/goals/fields | JSONArray | Definition of goal properties |
/project/labelassociations | JSONArray | List of label associations and their values |
/project/labelassociations/fields | JSONArray | Definition of label association properties |
/project/labels | JSONArray | List of labels and their values |
/project/labels/fields | JSONArray | Definition of label properties |
/project/links | JSONArray | List of links and their values |
/project/links/fields | JSONArray | Definition of link properties |
/project/resources | JSONArray | List of resources and their values |
/project/resources/fields | JSONArray | Definition of resource properties |
/project/sprints | JSONArray | List of sprints and their values |
/project/sprints/fields | JSONArray | Definition of sprint properties |
/project/tasks | JSONArray | List of tasks and their values |
/project/tasks/fields | JSONArray | Definition of task properties |
/project/views/grid | JSONArray | List of grid view properties |
/project/views/grid/fields | JSONArray | Definition of grid view and their values |
Project Level Properties
Reference /project/fields
Property name | Type | Description | Enumeration Values |
---|---|---|---|
projectStart | datetime | The start date of the project. | |
name | string | Name of the project. | |
calendarId | guid | Dataverse Calendar ID used for the project. | |
durationInDays | double | The duration of the project (days). | |
projectManagerId | guid | Dataverse Project Team Member ID of the project manager. | |
workTemplateId | guid | Dataverse Work Template ID used to create the project calendar. | |
timezoneOffset | timezoneOffset | Project's timezone offset in +/-HH:MM:SS format. | |
timezoneName | string | Project's timezone name. | |
projectManagerResourceId | guid | Dataverse Bookable Resource ID of the project manager. | |
officeGroupId | guid | Microsoft Entra Microsoft 365 Group ID linked to the project. | |
projectState | enum | State of the project. | Active, Inactive |
projectManagerAadId | guid | Microsoft Entra user ID of the project manager. | |
hasCustomCalendar | bool | Indicates if the project has a custom calendar. | |
defaultSprintCreated | bool | Has the default sprint been created. | |
ignoreResourceCalendars | bool | Scheduling uses the project calendar over resource calendars. | |
work | double | Total work for the project in seconds. | |
actualWork | double | Completed work for the project in seconds. | |
remainingWork | double | Remaining work for the project in seconds. | |
duration | duration | The duration of the project in seconds. | |
percentComplete | percent | The percentage of the project duration completed. | |
percentWorkComplete | percent | The percentage of the project work completed. | |
earliestTaskStart | datetime | Earliest task start date. | |
latestTaskFinish | datetime | Latest task finish date. |
Assignment Properties
Reference /project/assignments/fields. They're part of a task record.
Property name | Type | Description |
---|---|---|
units | double | The number of units for which a resource is assigned to a task, expressed as a percentage, assuming a resource's MaxUnits value is 100%. |
work | double | The total amount of work scheduled to be performed by a resource on a task in seconds. |
actualWork | double | Amount of work that has already been done by a resource on a task in seconds. |
remainingWork | double | The amount of time required by a resource assigned to a task to complete an assignment in seconds. |
start | datetime | The date and time that an assigned resource is scheduled to begin working on a task. |
finish | datetime | The date and time this assignment is scheduled to be completed. |
actualStart | datetime | Date and time that an assignment actually began. |
actualFinish | datetime | Date and time when an assignment was actually completed. |
resume | datetime | The date that the assignment was resumed. |
delay | duration | The amount of time a resource is to wait after the task start date before starting work on an assignment in seconds. |
percentWorkComplete | percent | Current status of an assignment, expressed as the percentage of the assignment's work that has been completed. |
remainingWorkContour | contour | Indicates how remaining work is to be distributed across the duration of the assignment. Represented as a start date and arrays of offset, duration, and work for each segment. For more information, see for more information on Contour structure. |
actualWorkContour | contour | Indicates how actual work is to be distributed across the duration of the assignment. Represented as a start date and arrays of offset, duration, and work for each segment. For more information, see for more information on Contour structure. |
overallocated | bool | Indicates whether a resource is assigned to more work on a specific task than can be done within the resource's normal working capacity. |
stop | datetime | The date the assignment was stopped. |
taskId | guid | Dataverse Project Task ID for this assignment. |
resourceId | guid | Dataverse Project Team Member ID. |
totalWorkContour | contour | Indicates how total work is to be distributed across the duration of the assignment. Represented as a start date and arrays of offset, duration, and work for each segment. For more information, see for more information on Contour structure. |
Contour Structure
Property name | Type | Description |
---|---|---|
start | datetime | Start date of the contour. |
offsets | JSONArray | The number of seconds to add to the start of the contour to indicate the start of the segment. |
durations | JSONArray | Duration in seconds of each segment. |
work | JSONArray | Work in seconds of each segment. |
Example
"remainingWorkContour": {
"start": "2022-12-08T09:00:00Z",
"offsets": [ 0, 54000 ],
"durations": [ 54000, 3600 ],
"work": [ 27000.0, 1800.0 ]
}
Segment X
- Start = "start" + X offset in seconds
- Duration = duration of segment X in seconds
- Work = work of segment X in seconds
The contour starts on 2023-02-13T09:00:00Z
- Segment 1:
- Start = 2022-12-08T09:00:00Z + 0 seconds -> 2022-12-08T09:00:00Z
- Duration = 54000 seconds -> 900 Minutes -> 15 hours is the length of the segment
- Work = 27000 seconds -> 450 Minutes -> 7.5 hours of work in the segment
- Segment 2:
- Start = 2023-02-13T18:00:00Z + 54000 seconds (15 hours) -> 2022-12-09T00:00:00Z
- Duration = 3600 seconds -> 60 Minutes -> 1 hours is the length of the segment
- Work = 1800 seconds -> 30 Minutes -> 0.5 hours of work in the segment
Attachment Properties
Reference /project/attachments/fields.
Property name | Type | Description | Enumeration Values |
---|---|---|---|
taskId | guid | Dataverse Project Task ID. | |
name | string | Alias for the attachment. | |
uri | string | Location where attachment is stored. | |
type | enum | Type of the link. | Word, Excel, PowerPoint, OneNote, Project, Visio, Pdf, ExternalLink, Other |
showOnCard | bool | Indicates if the link is shown on the card in board view. |
Bucket Properties
Reference /project/buckets/fields
Property name | Type | Description |
---|---|---|
order | integer | Display order of bucket in Project. |
name | string | Name of the bucket. |
color | integer | Color index assigned to the bucket. |
Calendar Properties
Reference /project/calendar/fields
Property name | Type | Description |
---|---|---|
name | string | Name of the calendar. |
data | calendarData | Describes a calendar by defining the times when a resource can work. defaultWorkWeek has the default working times for each day of the week. overrideWorkWeeks is a collection of workweek definitions which override defaultWorkWeek along with when that override is effective. exceptions is an array of day level overrides along with when that exception is effective. exceptions take priority over overrideWorkWeeks, which take priority over defaultWorkWeek. |
baseCalendarId | guid | Dataverse Calendar ID for the base calendar. Empty guid means there's no base calendar. |
timezoneOffset | timezoneOffset | Offset of the timezone in +/-HH:MM:SS format. |
timezoneName | string | Name of the timezone. |
Checklist Properties
Reference /project/checklistItems/fields
Property name | Type | Description |
---|---|---|
taskId | guid | Dataverse Project Task ID. |
name | string | Name of the checklist item. |
completed | bool | Indicates if the item is checked off. |
order | double | Display order of the checklist item within the name task. |
Conditional Coloring Rule Properties
Reference /project/conditionalColoringRules/fields
Property name | Type | Description |
---|---|---|
order | integer | Rule order. |
expression | conditionalRules | A formal description of the rule used to color field cells. |
color | integer | Color index set on this field on tasks gridColor property if this rule evaluates to true. |
columnId | column | The column the color will be applied to when the expression is true. |
Conversations Properties
Reference /project/conversations/fields
Property name | Type | Description |
---|---|---|
teamsChannelId | string | Teams Channel ID containing the conversation. |
teamsConversationId | string | Teams Conversation ID. |
Goal Associations Properties
Reference /project/goalAssociations/fields
Property name | Type | Description |
---|---|---|
taskId | guid | Project Task ID. |
goalId | guid | Project Goal ID. |
taskOrder | string | Goal association order for ordering tasks |
Goals Properties
Reference /project/goals/fields
Property name | Type | Description |
---|---|---|
name | string | The name of the project goal. |
color | integer | Color index of the goal. |
priority | integer | Priority of the goal. |
status | integer | Status of the goal. |
startDate | datetime | Start date of the goal. |
finishDate | datetime | Finish date of the goal. |
notes | HTML | Goal notes formatted in HTML. |
unformattednotes | HTML | Goal notes with all HTML stripped out. |
order | string | Goal order |
Label Association Properties
Reference /project/labelassociations/fields
Property name | Type | Description |
---|---|---|
taskId | guid | Dataverse Project Task ID. |
labelId | guid | Dataverse Project Label ID. |
Label Properties
Reference /project/labels/fields
Property name | Type | Description |
---|---|---|
text | string | The name of the project label. |
index | integer | Color index of the label. |
Links Properties
Reference /project/links/fields
Property name | Type | Description | Enumeration Values |
---|---|---|---|
linkType | enum | The type of the dependency. | FinishToFinish, FinishToStart, StartToFinish, StartToStart |
delay | duration | How long before the task should start. | |
delayUnits | enum | The unit the delay is in. | Minutes, Hours, Days, Weeks, Months |
predecessorId | guid | Dataverse Project Task ID of the predecessor task. | |
successorId | guid | Dataverse Project Task ID of the successor task. | |
driver | bool | Indicates if the link drives the critical path. |
Resource Properties
Reference /project/resources/fields
Property name | Type | Description | Enumeration Values |
---|---|---|---|
name | string | Name of the team member. | |
overallocated | bool | If the team member is overallocated on this project. | |
userPrincipalName | string | Microsoft Entra user Principal Name for the user. | |
bookableResourceId | guid | Bookable Resource ID for this team member. | |
aadId | guid | Microsoft Entra user ID of the Bookable Resource. | |
generic | bool | Indicates that this is a generic resource. | |
type | enum | Bookable resource type. | XrmUser, XrmContact, XrmAccount, XrmEquipment, XrmGeneric, AadUser, AadUserTypeNull, AadUserTypeMember, XrmBookableResource |
jobTitle | string | Job title of the bookable resource. | |
aadUserType | enum | If the bookable resource is a Microsoft Entra member or guest. | Member, Guest |
Sprint Properties
Reference /project/sprints/fields
Property name | Type | Description |
---|---|---|
name | string | Name of the sprint. |
start | datetime | Date when sprint starts. |
finish | datetime | Date when sprint ends. |
Task Properties
Reference /project/tasks/fields
Property name | Type | Description | Enumeration Values |
---|---|---|---|
work | double | The total amount of work scheduled to be performed on a task by all assigned resources. | |
actualWork | double | The amount of work that has already been done by the resources assigned to a task. | |
remainingWork | double | The total amount of non-overtime work scheduled to be performed by all resources assigned to a task. | |
name | string | Name of the task. | |
constraintType | enum | The constraint on the start or finish date of the task. | AsSoonAsPossible, AsLateAsPossible, MustStartOn, MustFinishOn, StartNoEarlierThan, StartNoLaterThan, FinishNoEarlierThan, FinishNoLaterThan |
constraintDate | datetime | Indicates the constrained start or finish date as defined in the task ConstraintType. Required unless the constraint type is set to As late as possible or As soon as possible. | |
critical | bool | Indicates whether a task has room in the schedule to slip, or if it is on the critical path. | |
freeSlack | duration | The actual amount of time that a task can be delayed without delaying any successor tasks. If a task has zero successor tasks, free slack is the amount of time a task can be delayed without delaying the entire project. | |
totalSlack | duration | The amount of time a task can be delayed without delaying a project's finish date. | |
index | integer | Integer order of the task. | |
milestone | bool | Indicates whether a task is a milestone. | |
actualDuration | duration | The span of actual working time for a task so far, based on the scheduled duration and current remaining work or percent complete. Actual duration can be calculated in two ways, either based on percent complete or remaining duration. | |
scheduledDuration | duration | The total span of active working time. | |
remainingDuration | duration | The amount of time required to complete the unfinished portion of a task. | |
percentComplete | percent | The percentage of the task duration completed. | |
scheduledStart | datetime | Start date and time as calculated by Project. | |
scheduledFinish | datetime | Finish date and time as calculated by Project. | |
earlyStart | datetime | The earliest date that a task can begin, based on the early start dates of predecessor and successor tasks and other constraints. | |
earlyFinish | datetime | The earliest date that a task can finish, based on early finish dates of predecessor and successor tasks, other constraints, and any leveling delay. | |
lateStart | datetime | The latest date that a task can start without delaying the finish of the project. | |
lateFinish | datetime | The latest date that a task can finish without delaying the finish of the project. | |
actualStart | datetime | The date and time that a task actually began. | |
actualFinish | datetime | The date and time that a task actually finished. | |
outlineLevel | integer | The number that indicates the level of a task in the project outline hierarchy. | |
cdsEffortCompleted | double | Amount of work done on this task as reported in Project Operations timesheets. | |
cdsEffortRemaining | double | Amount of work remaining on this task as reported in Project Operations timesheets. | |
cdsEffortEstimateAtComplete | double | Forecast of total effort to complete the task as reported in Project Operations timesheets. | |
cdsPercentComplete | double | Percentage of work completed as reported in Project Operations timesheets. | |
cdsScheduleVariance | double | Variance between the estimated work and the forecasted work based on the estimate at completion as reported in Project Operations timesheets. | |
summary | bool | Indicates whether the task is a summary task. | |
resume | datetime | The date the remaining portion of a task is scheduled to resume. | |
stop | datetime | The date that represents the end of the actual portion of a task. | |
outlineNumber | string | Indicates the exact position of a task in the outline. For example, "7.2" indicates that a task is the second subtask under the seventh top-level summary task. | |
completeThrough | datetime | The date and time for end of actual duration. | |
type | enum | Type of task. | FixedUnits, FixedDuration, FixedWork |
durationDisplayFormat | enum | The display format the duration is displayed in. | Minutes, Hours, Days, Weeks, Months |
collapsed | bool | Indicates whether the task is collapsed in the view. | |
deadline | datetime | The date entered as a deadline for the task. | |
startSlack | duration | Difference between earlyStart and lateStart dates. | |
finishSlack | duration | Difference between earlyFinish and lateFinish dates. | |
order | double | Order of the task represented as a double. | |
parentId | guid | Dataverse Project Task ID of the parent task. | |
scheduleDrivers | stringArray | Describes why a task is scheduled to start on its start date. Can contain any of Actual, LevelingDelay, Constraint, Predecessor, ProjectStart, Calendar, Child, Parent, Deadline, Link. | |
start | datetime | Date and time that a task is scheduled to begin. | |
finish | datetime | The date and time that a task is scheduled to be completed. | |
duration | duration | The total span of active working time. | |
bucketId | guid | Dataverse Project Bucket ID the task is part of. | |
bucketOrder | string | The order of the task within the bucket. | |
sprintOrder | string | The order of the task within the sprint. | |
notes | HTML | Notes entered about a task formatted in HTML. | |
unformattednotes | HTML | Notes with all HTML stripped out. | |
manual | bool | Whether this task is blank or has dates. | |
showNotesOnCard | bool | Indicates if the note will be shown on the card in the board view. | |
showChecklistOnCard | bool | Indicates if the checklist items will be shown on the card in the board view. | |
priority | integer | Indicates the level of importance assigned to a task, with 5 being standard priority; the lower the number, the more urgent the task. | |
sprintId | guid | Property name of the sprint the task is assigned to. | |
gridColor | gridColor | Color indexes for each field on this task where a conditionalColoringRule has evaluated to true. See for the color index mapping. | |
[guid] | enum | Task custom field definition. See Task Custom Field Properties for definition. | stringOption, datetime, double, bool, string |
Task Custom Field Properties
Property name | Type | Description | Enumeration Values |
---|---|---|---|
id | guid | Unique ID for the task custom field. | |
type | enum | Type of Custom Field | stringOption, datetime, double, bool, string |
custom | bool | true if it's a local custom field | |
name | string | name of the custom field | |
rollup | enum | Rollup type if type=double | max, min, sum, average |
values | JSONArray | Values for options if type=stringOption. see Choice Type |
Custom Field Types
Custom Field Type | Enum Type |
---|---|
Text | string |
Date | datetime |
Number | double |
Yes/No | bool |
Choice | stringOption |
Choice Type
For Custom Fields of type 'stringOption'
Property name | Type | Description |
---|---|---|
ID | guid | Unique ID for choice |
value | string | Display value of the choice |
order | double | Display order of choices |
color | integer | Color index assigned to the value. |
View Properties
Reference /project/views/grid/fields
Property name | Type | Description |
---|---|---|
name | string | Name of the grid view. |
columns | columns | Array of columns shown in the view and their width. |