projectmanager-sdk
Version:
Software development kit for the ProjectManager.com API. for TypeScript
256 lines (255 loc) • 9.88 kB
TypeScript
/**
* ProjectManager API for TypeScript
*
* (c) ProjectManager.com, Inc.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @author ProjectManager.com <support@projectmanager.com>
* @copyright ProjectManager.com, Inc.
* @link https://github.com/projectmgr/projectmanager-sdk-typescript
*/
import { TaskProjectDto } from "../index.js";
import { TaskTagDto } from "../index.js";
import { TaskAssigneeDto } from "../index.js";
import { TaskTodoDto } from "../index.js";
import { TaskStatusDto } from "../index.js";
import { TaskFieldValueDto } from "../index.js";
import { TaskFileDto } from "../index.js";
/**
* A Task is an individual element of work that must be performed to complete a Project. A
* Task can have one or more Resources assigned to it. Tasks can be linked to other Tasks to
* indicate whether they have a dependency or a connection.
*/
export type TaskDetailsDto = {
/**
* The unique identifier of this Task.
*/
id: string;
/**
* The Project to which this Task belongs.
*/
project: TaskProjectDto;
/**
* The TaskTags that apply to this Task.
*/
tags: TaskTagDto[] | null;
/**
* The unique identifier of the Project to which this Task belongs.
*/
projectId: string;
/**
* The list of assignees who are to work on this Task, if any.
*/
assignees: TaskAssigneeDto[] | null;
/**
* A list of TaskTodo items, which are sub-tasks within this Task.
*/
todos: TaskTodoDto[] | null;
/**
* A short ID that can be used to refer to this Task. This short ID is
* guaranteed to be unique within your Workspace.
*/
shortId: string | null;
/**
* The common name of this Task.
*/
name: string;
/**
* This field contains the task's "Note" or "Description", which is a description of the work to be done to complete the task.
*
* Within the ProjectManager application, you can use this field as follows:
* * When in the Gantt view, select a task and click the "Add Note" button.
* * When in the Board view, click on a task to open the task panel, then edit the "Description" field.
*/
description: string | null;
/**
* The TaskStatus assigned to this Task.
*/
status: TaskStatusDto;
/**
* The date when work on this Task is planned to begin.
*
* This value contains only the date in year-month-day format. For display, this
* date will always be shown as this same year-month-day regardless of time zone.
* For reporting purposes, this date is calculated against the official time zone
* of the Workspace.
*
* For example: A Task has a planned completion date of July 5, 2023 in a Workspace
* that has a time zone of US Pacific Time (GMT-7 or GMT-8, depending on daylight
* savings time). This project is considered overdue on 12:01 AM July 6th 2023 in
* US Pacific time.
*/
plannedStartDate: string;
/**
* The date when work on this Task is expected to complete.
*
* This value contains only the date in year-month-day format. For display, this
* date will always be shown as this same year-month-day regardless of time zone.
* For reporting purposes, this date is calculated against the official time zone
* of the Workspace.
*
* For example: A Task has a planned completion date of July 5, 2023 in a Workspace
* that has a time zone of US Pacific Time (GMT-7 or GMT-8, depending on daylight
* savings time). This project is considered overdue on 12:01 AM July 6th 2023 in
* US Pacific time.
*/
plannedFinishDate: string | null;
/**
* If set, this is the actual date when work began on the Task.
*
* This value contains only the date in year-month-day format. For display, this
* date will always be shown as this same year-month-day regardless of time zone.
* For reporting purposes, this date is calculated against the official time zone
* of the Workspace.
*
* For example: A Task has a planned completion date of July 5, 2023 in a Workspace
* that has a time zone of US Pacific Time (GMT-7 or GMT-8, depending on daylight
* savings time). This project is considered overdue on 12:01 AM July 6th 2023 in
* US Pacific time.
*/
actualStartDate: string | null;
/**
* If set, this is the actual date when work was completed on this Task.
*
* This value contains only the date in year-month-day format. For display, this
* date will always be shown as this same year-month-day regardless of time zone.
* For reporting purposes, this date is calculated against the official time zone
* of the Workspace.
*
* For example: A Task has a planned completion date of July 5, 2023 in a Workspace
* that has a time zone of US Pacific Time (GMT-7 or GMT-8, depending on daylight
* savings time). This project is considered overdue on 12:01 AM July 6th 2023 in
* US Pacific time.
*/
actualFinishDate: string | null;
/**
* The actual effort (in minutes) for this Task.
*/
actualEffort: number | null;
/**
* The actual duration (in minutes) for this Task.
*/
actualDuration: number | null;
/**
* The timestamp in UTC when this Task was most recently modified.
*/
modifyDate: string;
/**
* The timestamp in UTC when this Task was created.
*/
createDate: string;
/**
* The numerical percentage, from 0-100, representing the percentage completion
* for this Task. Any numbers below zero or above 100 will be clamped to the
* minimum or maximum value.
*
* This value can be edited manually in the Gantt chart view of the application,
* or can be selected on the Task Detail page within the Kanban board.
*/
percentComplete: number;
/**
* True if this Task is the parent of multiple Tasks underneath it. A parent Task
* is a "rolled-up" view of multiple children that allows you to view a section of
* work at a glance.
*
* You can create a summary Task in the Gantt chart view of the application by
* adding child tasks underneath a parent Task.
*/
isSummary: boolean;
/**
* Unlocked tasks can be adjusted by changes to their dependencies, resource leveling, or other factors.
*
* All tasks are unlocked by default.
*
* If a task is set to `IsLocked` = `true`, the dates and assigned resources are locked for this task and will not
* be automatically changed by any process.
*/
isLocked: boolean;
/**
* True if this task is a milestone. Milestones represent a specific point in time for the project. When a
* milestone is locked, it represents a fixed time within the project that can be used to relate to other tasks.
*/
isMilestone: boolean;
/**
* Return the priority of a task
*/
priorityId: number | null;
/**
* The WBS (Work Breakdown Structure) number for this task within the Gantt chart hierarchy. See [What
* Is a Work Breakdown Structure (WBS)?](https://www.projectmanager.com/guides/work-breakdown-structure)
* on Project Manager for more information. The WBS number is an outline number in the form `#.#.#.#`
* which indicates how tasks are organized and sorted.
*
* The WBS value is only available to users at certain edition levels. This value can only be changed
* if you are a Project Editor.
*/
wbs: string | null;
/**
* The hexadecimal RRGGBB Task Color as set in the Gantt. This value is read-only; to set this value,
* change the `Theme` field.
*/
color: string | null;
/**
* Color theme definition for this Task.
*
* eg. Blue, Brown, DarkBlue, DarkGrey, Gold, Green, Grey, LightBrown, LightGreen,
* LightGrey, LightPurple, LightYellow, Magenta, Mauve, Navy, Orange, Purple, Red.
*/
theme: string | null;
/**
* The actual cost of this Task to date, if known.
*/
actualCost: number | null;
/**
* The actual resource cost of this Task
*/
actualResourceCost: number | null;
/**
* The planned cost for this Task. Cannot be negative.
*/
plannedCost: number | null;
/**
* The planned resource cost of this Task
*/
plannedResourceCost: number | null;
/**
* The planned duration (in minutes) for this Task.
*/
plannedDuration: number | null;
/**
* The planned effort (in minutes) for this Task.
*/
plannedEffort: number | null;
/**
* The one-based index of this Task within its parent project.
*
* This value is used to determine the order of tasks and sub-tasks in a project.
* For example, a Task with an Index of 1 is the first Task in the project.
*/
index: number;
/**
* The hierarchical level of this Task within the Task structure.
*
* A Level of 1 indicates that the Task is at the top level (e.g. a root Task),
* while higher values indicate deeper levels in the hierarchy (e.g. subtasks).
*/
level: number;
/**
* Task fields array with values
*/
fieldValues: TaskFieldValueDto[] | null;
/**
* The list of files associated with this Task, if any.
*
* This field will be present when you fetch a single object.
* When you query for multiple objects, this field is not included in results by default.
* To expand this field, specify the name of this field in the `$expand` parameter.
*/
files: TaskFileDto[] | null;
/**
* The parent task of this Task.
*/
parentTaskId: string | null;
};