2021-07-14 15:02:30 -07:00
import {
INodeProperties ,
} from 'n8n-workflow' ;
2021-12-03 00:44:16 -08:00
export const taskOperations : INodeProperties [ ] = [
2021-07-14 15:02:30 -07:00
{
displayName : 'Operation' ,
name : 'operation' ,
type : 'options' ,
2022-05-20 14:47:24 -07:00
noDataExpression : true ,
2021-07-14 15:02:30 -07:00
displayOptions : {
show : {
resource : [
'task' ,
] ,
} ,
} ,
options : [
{
name : 'Create' ,
value : 'create' ,
description : 'Create a task' ,
} ,
{
name : 'Delete' ,
value : 'delete' ,
description : 'Delete a task' ,
} ,
{
name : 'Get' ,
value : 'get' ,
description : 'Get a task' ,
} ,
{
name : 'Get All' ,
value : 'getAll' ,
description : 'Get all tasks' ,
} ,
{
name : 'Update' ,
value : 'update' ,
description : 'Update a task' ,
} ,
] ,
default : 'create' ,
} ,
2021-12-03 00:44:16 -08:00
] ;
2021-07-14 15:02:30 -07:00
2021-12-03 00:44:16 -08:00
export const taskFields : INodeProperties [ ] = [
2021-07-14 15:02:30 -07:00
// ----------------------------------------
// task: create
// ----------------------------------------
{
2022-06-03 10:23:49 -07:00
displayName : 'Project Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'projectId' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the project to which the task belongs. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getProjects' ,
} ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
} ,
{
displayName : 'Subject' ,
name : 'subject' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
} ,
{
displayName : 'Additional Fields' ,
name : 'additionalFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'create' ,
] ,
} ,
} ,
options : [
{
2022-06-03 10:23:49 -07:00
displayName : 'Asignee Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'assigned_to' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getUsers' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the user to whom the task is assigned. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
displayName : 'Blocked Note' ,
name : 'blocked_note' ,
type : 'string' ,
default : '' ,
2022-04-22 09:29:51 -07:00
description : 'Reason why the task is blocked. Requires "Is Blocked" toggle to be enabled.' ,
2021-07-14 15:02:30 -07:00
} ,
{
displayName : 'Description' ,
name : 'description' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Is Blocked' ,
name : 'is_blocked' ,
type : 'boolean' ,
default : false ,
description : 'Whether the task is blocked' ,
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'Milestone (Sprint) Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'milestone' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getMilestones' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the milestone of the task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'Status Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'status' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getTaskStatuses' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the status of the task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
displayName : 'Tags' ,
name : 'tags' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getTags' ,
} ,
default : [ ] ,
} ,
{
displayName : 'Taskboard Order' ,
name : 'taskboard_order' ,
type : 'number' ,
default : 1 ,
description : 'Order of the task in the taskboard' ,
typeOptions : {
minValue : 1 ,
} ,
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'User Story Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'user_story' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getUserStories' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the user story of the task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
displayName : 'User Story Order' ,
name : 'us_order' ,
type : 'number' ,
default : 1 ,
description : 'Order of the task in the user story' ,
typeOptions : {
minValue : 1 ,
} ,
} ,
] ,
} ,
// ----------------------------------------
// task: delete
// ----------------------------------------
{
displayName : 'Task ID' ,
name : 'taskId' ,
description : 'ID of the task to delete' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'delete' ,
] ,
} ,
} ,
} ,
// ----------------------------------------
// task: get
// ----------------------------------------
{
displayName : 'Task ID' ,
name : 'taskId' ,
description : 'ID of the task to retrieve' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'get' ,
] ,
} ,
} ,
} ,
// ----------------------------------------
// task: getAll
// ----------------------------------------
{
2022-06-03 10:23:49 -07:00
displayName : 'Project Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'projectId' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the project to which the task belongs. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getProjects' ,
} ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'getAll' ,
] ,
} ,
} ,
} ,
{
displayName : 'Return All' ,
name : 'returnAll' ,
type : 'boolean' ,
default : false ,
description : 'Whether to return all results or only up to a given limit' ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'getAll' ,
] ,
} ,
} ,
} ,
{
displayName : 'Limit' ,
name : 'limit' ,
type : 'number' ,
default : 50 ,
2022-05-06 14:01:25 -07:00
description : 'Max number of results to return' ,
2021-07-14 15:02:30 -07:00
typeOptions : {
minValue : 1 ,
} ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'getAll' ,
] ,
returnAll : [
false ,
] ,
} ,
} ,
} ,
{
displayName : 'Filters' ,
name : 'filters' ,
type : 'collection' ,
placeholder : 'Add Filter' ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'getAll' ,
] ,
} ,
} ,
default : { } ,
options : [
{
2022-06-03 10:23:49 -07:00
displayName : 'Asignee Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'assigned_to' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getUsers' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the user whom the task is assigned to. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
displayName : 'Is Closed' ,
name : 'statusIsClosed' ,
description : 'Whether the task is closed' ,
type : 'boolean' ,
default : false ,
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'Milestone (Sprint) Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'milestone' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getMilestones' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the milestone of the task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'Owner Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'owner' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the owner of the task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getUsers' ,
} ,
default : '' ,
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'Role Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'role' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getRoles' ,
} ,
default : '' ,
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'Status Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'status' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the status of the task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getTaskStatuses' ,
} ,
default : '' ,
} ,
{
displayName : 'Tags' ,
name : 'tags' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getTags' ,
} ,
default : [ ] ,
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'User Story Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'userStory' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the user story to which the task belongs. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getUserStories' ,
} ,
default : '' ,
} ,
] ,
} ,
// ----------------------------------------
// task: update
// ----------------------------------------
{
2022-06-03 10:23:49 -07:00
displayName : 'Project Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'projectId' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the project to set the task to. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
type : 'options' ,
typeOptions : {
loadOptionsMethod : 'getProjects' ,
} ,
default : '' ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
} ,
{
displayName : 'Task ID' ,
name : 'taskId' ,
description : 'ID of the task to update' ,
type : 'string' ,
required : true ,
default : '' ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
} ,
{
displayName : 'Update Fields' ,
name : 'updateFields' ,
type : 'collection' ,
placeholder : 'Add Field' ,
default : { } ,
displayOptions : {
show : {
resource : [
'task' ,
] ,
operation : [
'update' ,
] ,
} ,
} ,
options : [
{
2022-06-03 10:23:49 -07:00
displayName : 'Asignee Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'assigned_to' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getTypes' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the user to assign the task to. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
displayName : 'Blocked Note' ,
name : 'blocked_note' ,
type : 'string' ,
default : '' ,
2022-04-22 09:29:51 -07:00
description : 'Reason why the task is blocked. Requires "Is Blocked" toggle to be enabled.' ,
2021-07-14 15:02:30 -07:00
} ,
{
displayName : 'Description' ,
name : 'description' ,
type : 'string' ,
default : '' ,
} ,
{
displayName : 'Is Blocked' ,
name : 'is_blocked' ,
type : 'boolean' ,
default : false ,
description : 'Whether the task is blocked' ,
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'Milestone (Sprint) Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'milestone' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getMilestones' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the milestone of the task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'Status Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'status' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getTaskStatuses' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the status of the task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
displayName : 'Subject' ,
name : 'subject' ,
type : 'string' ,
default : '' ,
} ,
{
2022-06-03 10:23:49 -07:00
displayName : 'User Story Name or ID' ,
2021-07-14 15:02:30 -07:00
name : 'user_story' ,
type : 'options' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getUserStories' ,
} ,
default : '' ,
2022-06-03 10:23:49 -07:00
description : 'ID of the user story of the task. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/nodes/expressions.html#expressions">expression</a>.' ,
2021-07-14 15:02:30 -07:00
} ,
{
displayName : 'User Story Order' ,
name : 'us_order' ,
type : 'number' ,
default : 1 ,
typeOptions : {
minValue : 1 ,
} ,
description : 'Order of the task in the user story' ,
} ,
{
displayName : 'Tags' ,
name : 'tags' ,
type : 'multiOptions' ,
typeOptions : {
loadOptionsDependsOn : [
'projectId' ,
] ,
loadOptionsMethod : 'getTags' ,
} ,
default : [ ] ,
} ,
{
displayName : 'Taskboard Order' ,
name : 'taskboard_order' ,
type : 'number' ,
default : 1 ,
typeOptions : {
minValue : 1 ,
} ,
description : 'Order of the task in the taskboard' ,
} ,
] ,
} ,
2021-12-03 00:44:16 -08:00
] ;