SolveOptions#
Options for one scheduling run: which part of the project to schedule and what the result reports. It's the options_json argument of schedule and JsonProject.solve, sent as JSON text. "{}" schedules the whole project and reports only the tasks that moved.
Fields#
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
subtree |
Subtree | null |
no | absent (whole project) | Schedules one branch: { "task": <Id>, "inclusive": <boolean> }. inclusive defaults to true, which schedules the root task too. See Reschedule a branch. |
analytics |
AnalyticsOptions | null |
no | none requested | { "criticalPath": <boolean>, "slack": <boolean> }, both false by default. Fills analytics in the ScheduleResult. |
reasons |
boolean | null |
no | false |
Adds the planner's reason to each entry in updates. |
includeUnchanged |
boolean | null |
no | false |
Also lists unchanged scheduled tasks in updates, each with start_date, end_date and duration. Unscheduled tasks are never listed. With subtree, it lists every task of the subtree plus the changed or touched tasks outside it. baselineId still changes only when dates change. |
The payload must be a JSON object. Field names are camelCase. null reads as the default. Unknown fields, including unknown fields inside subtree and analytics, fail the call with parse. These rules are described in Wire format.
On a cyclic project with includeUnchanged, updates lists every scheduled task and subtree is ignored. Those entries carry no reason, even with reasons: true.
Used by#
schedule-options_jsonJsonProject.solve-options_json
JsonProject.preview takes the same subtree, analytics and reasons fields in its own options.
Example#
Reschedule the phase branch without its root task, report every task in it, and add critical path and slack:
Related#
ScheduleResult- the result these options shapePreviewOptions- thepreviewoptions with the same fields- Reschedule a branch -
subtree - Critical path and slack -
analytics - Load all task dates -
includeUnchanged