UNPKG

projectmanager-sdk

Version:

Software development kit for the ProjectManager.com API. for TypeScript

256 lines (255 loc) 9.88 kB
/** * 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; };