asana

package
v0.29.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2024 License: MIT Imports: 13 Imported by: 0

README

---
title: "Asana"
lang: "en-US"
draft: false
description: "Learn about how to set up a VDP Asana component https://github.com/instill-ai/instill-core"
---

The Asana component is an application component that allows users to do anything available on Asana.
It can carry out the following tasks:
- [Crud Goal](#crud-goal)
- [Crud Task](#crud-task)
- [Crud Project](#crud-project)
- [Crud Portfolio](#crud-portfolio)

## Release Stage

`Alpha`

## Configuration

The component definition and tasks are defined in the [definition.json](https://github.com/instill-ai/component/blob/main/application/asana/v0/config/definition.json) and [tasks.json](https://github.com/instill-ai/component/blob/main/application/asana/v0/config/tasks.json) files respectively.

## Setup


In order to communicate with Asana, the following connection details need to be
provided. You may specify them directly in a pipeline recipe as key-value pairs
within the component's `setup` block, or you can create a **Connection** from
the [**Integration Settings**](https://www.instill.tech/docs/vdp/integration)
page and reference the whole `setup` as `setup:
${connection.<my-connection-id>}`.

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Token (required) | `token` | string | Fill in your Asana Personal Access Token (PAT). You can generate one from <a href="https://app.asana.com/0/my-apps">developer console</a>  |

</div>




## Supported Tasks

### Crud Goal

Create, Update, Delete, Read and Duplicate goal in Asana

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Input | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| Task ID (required) | `task` | string | `TASK_CRUD_GOAL` |
| [Action](#crud-goal-action) | `action` | object | action |
</div>




<details>
<summary>The <code>action</code> Object </summary>

<h4 id="crud-goal-action">Action</h4>

`action` must fulfill one of the following schemas:

<h5 id="crud-goal-get"><code>Get</code></h5>

Get Goal

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"get"`   |
| Goal ID | `goal-gid` | string |  Globally unique identifier (GID) for the goal. You can find the GID of a goal from the URL of the goal in Asana. For example, if the URL of the goal is https://app.asana.com/0/goal/1234567890, then the GID is 1234567890.  |
</div>

<h5 id="crud-goal-update"><code>Update</code></h5>

Update Goal

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"update"`   |
| Due Date | `due-on` | string |  The date on which the goal is due. In the format YYYY-MM-DD.  |
| Goal ID | `goal-gid` | string |  Globally unique identifier (GID) for the goal. You can find the GID of a goal from the URL of the goal in Asana. For example, if the URL of the goal is https://app.asana.com/0/goal/1234567890, then the GID is 1234567890.  |
| Liked | `liked` | boolean |  Whether the goal is liked by the user.  |
| Goal Name | `name` | string |  The name of the goal.  |
| Goal Note | `notes` | string |  The notes of the goal.  |
| Start Date | `start-on` | string |  The date on which the goal starts. In the format YYYY-MM-DD.  |
| Status | `status` | string |  The current status of this goal. When the goal is open, its status can be green, yellow, and red to reflect "On Track", "At Risk", and "Off Track", respectively. When the goal is closed, the value can be missed, achieved, partial, or dropped.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`green`</li><li>`yellow`</li><li>`red`</li><li>`missed`</li><li>`achieved`</li><li>`partial`</li><li>`dropped`</li></ul></details>  |
</div>

<h5 id="crud-goal-delete"><code>Delete</code></h5>

Delete Goal.

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"delete"`   |
| Goal ID | `goal-gid` | string |  Globally unique identifier (GID) for the goal. You can find the GID of a goal from the URL of the goal in Asana. For example, if the URL of the goal is https://app.asana.com/0/goal/1234567890, then the GID is 1234567890.  |
</div>

<h5 id="crud-goal-create"><code>Create</code></h5>

Create Goal

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"create"`   |
| Due Date | `due-on` | string |  The date on which the goal is due. In the format YYYY-MM-DD.  |
| Liked | `liked` | boolean |  Whether the goal is liked by the user.  |
| Goal Name | `name` | string |  The name of the goal.  |
| Goal Note | `notes` | string |  The notes of the goal.  |
| Owner | `owner` | string |  User GID of the Owner. You can find one by filling the workspace id in the <a href="https://developers.asana.com/reference/getusers">Asana API Playground</a>  |
| Start Date | `start-on` | string |  The date on which the goal starts. In the format YYYY-MM-DD.  |
| Time Period | `time-period` | string |  GID of the time period. You can find one by filling the workspace id in the <a href="https://developers.asana.com/reference/gettimeperiods">Asana API Playground</a>  |
| Workspace | `workspace` | string |  GID of the workspace.  You can find one by filling the access token in the <a href="https://developers.asana.com/reference/getworkspaces">Asana API Playground</a>  |
</div>
</details>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Output | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| Goal ID (optional) | `gid` | string | Globally unique identifier (GID) for the goal. |
| Goal Name (optional) | `name` | string | The name of the goal. |
| [Owner](#crud-goal-owner) (optional) | `owner` | object | The owner of the goal. |
| Goal Note (optional) | `notes` | string | The notes of the goal. |
| Goal HTML Note (optional) | `html-notes` | string | The notes of the goal in HTML format. |
| Due Date (optional) | `due-on` | string | The date on which the goal is due. In the format YYYY-MM-DD. |
| Start Date (optional) | `start-on` | string | The date on which the goal starts. In the format YYYY-MM-DD. |
| Liked (optional) | `liked` | boolean | Whether the goal is liked by the user. |
| [Likes](#crud-goal-likes) (optional) | `likes` | array[object] | The users who likes the goal. |
</div>

<details>
<summary> Output Objects in Crud Goal</summary>

<h4 id="crud-goal-owner">Owner</h4>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Owner ID | `gid` | string | Globally unique identifier (GID) for the owner. |
| Owner Name | `name` | string | The name of the owner. |
</div>

<h4 id="crud-goal-likes">Likes</h4>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Like ID | `like-gid` | string | Globally unique identifier (GID) for the like. |
| User Name | `name` | string | The name of the user. |
| User ID | `user-gid` | string | Globally unique identifier (GID) for the user. |
</div>
</details>

### Crud Task

Create, Update, Delete, Read and Duplicate Task in Asana

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Input | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| Task ID (required) | `task` | string | `TASK_CRUD_TASK` |
| [Action](#crud-task-action) | `action` | object | Action |
</div>




<details>
<summary>The <code>action</code> Object </summary>

<h4 id="crud-task-action">Action</h4>

`action` must fulfill one of the following schemas:

<h5 id="crud-task-get"><code>Get</code></h5>

Get Task

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"get"`   |
| Task ID | `task-gid` | string |  Globally unique identifier (GID) for the task.  |
</div>

<h5 id="crud-task-update"><code>Update</code></h5>

Update Task

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"update"`   |
| Approval Status | `approval-status` | string |  The approval status of the task. If you set completed to true, this field will be set to approved.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`pending`</li><li>`approved`</li><li>`rejected`</li><li>`changes_requested`</li></ul></details>  |
| Assignee | `assignee` | string |  GID of the assignee.  |
| Completed | `completed` | boolean |  Whether the task is currently marked complete.  |
| Liked | `liked` | boolean |  Whether the task is liked by the user.  |
| Name of the task | `name` | string |  Name of the task. This is generally a short sentence fragment that fits on a line in the UI for maximum readability. However, it can be longer.  |
| Notes of the task | `notes` | string |  Free-form textual information associated with the task (i.e. its description).  |
| Parent Task | `parent` | string |  GID of the parent task.  |
| Resource Subtype | `resource-subtype` | string |  The subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`default_task`</li><li>`milestone`</li><li>`section`</li><li>`approval`</li><li>`custom`</li></ul></details>  |
| Task ID | `task-gid` | string |  Globally unique identifier (GID) for the task.  |
</div>

<h5 id="crud-task-delete"><code>Delete</code></h5>

Delete Task

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"delete"`   |
| Task ID | `task-gid` | string |  Globally unique identifier (GID) for the task.  |
</div>

<h5 id="crud-task-create"><code>Create</code></h5>

Create Task

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"create"`   |
| Approval Status | `approval-status` | string |  The approval status of the task. If you set completed to true, this field will be set to approved.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`pending`</li><li>`approved`</li><li>`rejected`</li><li>`changes_requested`</li></ul></details>  |
| Assignee | `assignee` | string |  GID of the assignee.  |
| Completed | `completed` | boolean |  Whether the task is currently marked complete.  |
| Due Date & Time | `due-at` | string |  Date and time on which work begins for the task, or null if the task has no start time. This takes an ISO 8601 date string in UTC.  |
| Liked | `liked` | boolean |  Whether the task is liked by the user.  |
| Task Name | `name` | string |  The name of the task.  |
| Task Notes | `notes` | string |  The notes of the task.  |
| Parent Task | `parent` | string |  GID of the parent task.  |
| Resource Subtype | `resource-subtype` | string |  The subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`default_task`</li><li>`milestone`</li><li>`section`</li><li>`approval`</li><li>`custom`</li></ul></details>  |
| Start Date & Time | `start-at` | string |  The UTC date and time on which this task is due, or null if the task has no due time. This takes an ISO 8601 date string in UTC.  |
| Workspace | `workspace` | string |  GID of the workspace.  You can find one by filling the access token in the <a href="https://developers.asana.com/reference/getworkspaces">Asana API Playground</a>  |
</div>

<h5 id="crud-task-duplicate"><code>Duplicate</code></h5>

Duplicate Task

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"duplicate"`   |
| Name | `name` | string |  Name of the new task. This is generally a short sentence fragment that fits on a line in the UI for maximum readability. However, it can be longer.  |
| Task ID | `task-gid` | string |  Globally unique identifier (GID) for the task.  |
</div>

<h5 id="crud-task-set-parent"><code>Set Parent</code></h5>

Set Parent Task

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"set parent"`   |
| Parent Task | `parent` | string |  GID of the parent task.  |
| Task ID | `task-gid` | string |  Globally unique identifier (GID) for the task.  |
</div>

<h5 id="crud-task-edit-tag"><code>Edit Tag</code></h5>

Edit Tag

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"edit tag"`   |
| Edit option | `edit-option` | string |  Edit option. You can choose to add or remove the tag.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`add`</li><li>`remove`</li></ul></details>  |
| Tag ID | `tag-gid` | string |  Globally unique identifier (GID) for the tag.  |
| Task ID | `task-gid` | string |  Globally unique identifier (GID) for the task.  |
</div>

<h5 id="crud-task-edit-follower"><code>Edit Follower</code></h5>

Edit Follower

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"edit follower"`   |
| Edit option | `edit-option` | string |  Edit option. You can choose to add or remove the follower.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`add`</li><li>`remove`</li></ul></details>  |
| Followers | `followers` | string |  This can either be the string "me", an email, or the gid of a user. For multiple followers, separate them with commas.  |
| Task ID | `task-gid` | string |  Globally unique identifier (GID) for the task.  |
</div>

<h5 id="crud-task-edit-project"><code>Edit Project</code></h5>

Edit Project

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"edit project"`   |
| Edit option | `edit-option` | string |  Edit option. You can choose to add or remove the project.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`add`</li><li>`remove`</li></ul></details>  |
| Project ID | `project-gid` | string |  Globally unique identifier (GID) for the project.  |
| Task ID | `task-gid` | string |  Globally unique identifier (GID) for the task.  |
</div>
</details>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Output | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| Task ID (optional) | `gid` | string | Globally unique identifier (GID) for the task. |
| Task Name (optional) | `name` | string | The name of the task. |
| Task Notes (optional) | `notes` | string | The notes of the task. |
| Task Notes in HTML format (optional) | `html-notes` | string | The notes of the task in HTML format. |
| Due Date (optional) | `due-on` | string | The date on which the task is due. In the format YYYY-MM-DD. |
| [Projects](#crud-task-projects) (optional) | `projects` | array[object] | The projects of the task. |
| Start Date (optional) | `start-on` | string | The date on which the task starts. In the format YYYY-MM-DD. |
| Liked (optional) | `liked` | boolean | Whether the task is liked by the user. |
| [Likes](#crud-task-likes) (optional) | `likes` | array[object] | The users who likes the task. |
| Approval Status (optional) | `approval-status` | string | The approval status of the task. If you set completed to true, this field will be set to approved. |
| Resource Subtype (optional) | `resource-subtype` | string | The subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning. |
| Completed (optional) | `completed` | boolean | Whether the task is currently marked complete. |
| Assignee (optional) | `assignee` | string | GID of the assignee. |
| Parent Task (optional) | `parent` | string | GID of the parent task. |
</div>

<details>
<summary> Output Objects in Crud Task</summary>

<h4 id="crud-task-projects">Projects</h4>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Project ID | `gid` | string | Globally unique identifier (GID) for the project. |
| Project Name | `name` | string | The name of the project. |
</div>

<h4 id="crud-task-likes">Likes</h4>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Like ID | `like-gid` | string | Globally unique identifier (GID) for the like. |
| User Name | `name` | string | The name of the user. |
| User ID | `user-gid` | string | Globally unique identifier (GID) for the user. |
</div>
</details>

### Crud Project

Create, Update, Delete, Read and Duplicate project in Asana

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Input | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| Task ID (required) | `task` | string | `TASK_CRUD_PROJECT` |
| [Action](#crud-project-action) | `action` | object | action |
</div>




<details>
<summary>The <code>action</code> Object </summary>

<h4 id="crud-project-action">Action</h4>

`action` must fulfill one of the following schemas:

<h5 id="crud-project-get"><code>Get</code></h5>

Get Project.

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"get"`   |
| Project ID | `project-gid` | string |  Globally unique identifier (GID) for the project.  |
</div>

<h5 id="crud-project-update"><code>Update</code></h5>

Update Project

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"update"`   |
| Archived | `archived` | boolean |  Whether the project is archived.  |
| Update Color | `color` | string |  The color of the project.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`dark-pink`</li><li>`dark-green`</li><li>`dark-blue`</li><li>`dark-red`</li><li>`dark-teal`</li><li>`dark-brown`</li><li>`dark-orange`</li><li>`dark-purple`</li><li>`dark-warm-gray`</li><li>`light-pink`</li><li>`light-green`</li><li>`light-blue`</li><li>`light-red`</li><li>`light-teal`</li><li>`light-brown`</li><li>`light-orange`</li><li>`light-purple`</li><li>`light-warm-gray`</li><li>`none`</li><li>`null`</li></ul></details>  |
| Due Date | `due-on` | string |  The date on which the project is due. In the format YYYY-MM-DD.  |
| Project Name | `name` | string |  The name of the project.  |
| Project Note | `notes` | string |  The notes of the project.  |
| Update Privacy Setting | `privacy-setting` | string |  The privacy setting of the project.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`public to workspace`</li><li>`private to team`</li><li>`private`</li></ul></details>  |
| Project ID | `project-gid` | string |  Globally unique identifier (GID) for the project.  |
| Start Date | `start-on` | string |  The date on which the project starts. In the format YYYY-MM-DD.  |
</div>

<h5 id="crud-project-delete"><code>Delete</code></h5>

Delete Project

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"delete"`   |
| Project ID | `project-gid` | string |  Globally unique identifier (GID) for the project.  |
</div>

<h5 id="crud-project-create"><code>Create</code></h5>

Create Project

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"create"`   |
| Update Color | `color` | string |  The color of the project.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`dark-pink`</li><li>`dark-green`</li><li>`dark-blue`</li><li>`dark-red`</li><li>`dark-teal`</li><li>`dark-brown`</li><li>`dark-orange`</li><li>`dark-purple`</li><li>`dark-warm-gray`</li><li>`light-pink`</li><li>`light-green`</li><li>`light-blue`</li><li>`light-red`</li><li>`light-teal`</li><li>`light-brown`</li><li>`light-orange`</li><li>`light-purple`</li><li>`light-warm-gray`</li><li>`none`</li><li>`null`</li></ul></details>  |
| Due Date | `due-on` | string |  The date on which the project is due. In the format YYYY-MM-DD.  |
| Project Name | `name` | string |  The name of the project.  |
| Project Note | `notes` | string |  The notes of the project.  |
| Update Privacy Setting | `privacy-setting` | string |  The privacy setting of the project.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`public to workspace`</li><li>`private to team`</li><li>`private`</li></ul></details>  |
| Start Date | `start-on` | string |  The date on which the project starts. In the format YYYY-MM-DD.  |
| Team ID | `team` | string |  Globally unique identifier (GID) for the team of the new project.  |
| Workspace ID | `workspace` | string |  Globally unique identifier (GID) for the workspace. You can find one by filling the access token in the <a href="https://developers.asana.com/reference/getworkspaces">Asana API Playground</a>  |
</div>

<h5 id="crud-project-duplicate"><code>Duplicate</code></h5>

Duplicate Project

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"duplicate"`   |
| Due Date | `due-on` | string |  Sets the last due date in the duplicated project to the given date. The rest of the due dates will be offset by the same amount as the due dates in the original project. In the format YYYY-MM-DD.  |
| New Project Name | `name` | string |  The name of the new project.  |
| Project ID | `project-gid` | string |  Globally unique identifier (GID) for the project. You can find the GID of a goal from the URL of the project in Asana. For example, if the URL of the project is https://app.asana.com/0/goal/1234567890, then the GID is 1234567890.  |
| Should Skip Weekends (For auto-shifted dates) | `should-skip-weekends` | boolean |  Determines if the auto-shifted dates should skip weekends.  |
| Start Date | `start-on` | string |  Sets the first start date in the duplicated project to the given date. The rest of the start dates will be offset by the same amount as the start dates in the original project. In the format YYYY-MM-DD.  |
| Team ID | `team` | string |  Globally unique identifier (GID) for the team of the new project. If team is not defined, the new project will be in the same team as the the original project.  |
</div>
</details>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Output | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| Project ID (optional) | `gid` | string | Globally unique identifier (GID) for the project. |
| Project Name (optional) | `name` | string | The name of the project. |
| [Owner](#crud-project-owner) (optional) | `owner` | object | The owner of the project. |
| Project Note (optional) | `notes` | string | The notes of the project. |
| Project HTML Note (optional) | `html-notes` | string | The notes of the project in HTML format. |
| Due Date (optional) | `due-on` | string | The date on which the project is due. In the format YYYY-MM-DD. |
| Start Date (optional) | `start-on` | string | The date on which the project starts. In the format YYYY-MM-DD. |
| Completed (optional) | `completed` | boolean | Whether the project is completed. |
| Color (optional) | `color` | string | The color of the project. |
| Privacy Setting (optional) | `privacy-setting` | string | The privacy setting of the project. |
| Archived (optional) | `archived` | boolean | Whether the project is archived. |
| [Completed By](#crud-project-completed-by) (optional) | `completed-by` | object | The user who completed the project. |
| [Current Status](#crud-project-current-status) (optional) | `current-status` | array[object] | The current status of the project. |
| [Custom Fields](#crud-project-custom-fields) (optional) | `custom-fields` | array[object] | The custom fields of the project. |
| [Custom Field Settings](#crud-project-custom-field-settings) (optional) | `custom-field-settings` | array[object] | The custom field settings of the project. |
| Modified At (optional) | `modified-at` | string | The time at which the project was last modified. |
</div>

<details>
<summary> Output Objects in Crud Project</summary>

<h4 id="crud-project-owner">Owner</h4>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Owner ID | `gid` | string | Globally unique identifier (GID) for the owner. |
| Owner Name | `name` | string | The name of the owner. |
</div>

<h4 id="crud-project-completed-by">Completed by</h4>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| User ID | `gid` | string | Globally unique identifier (GID) for the user. |
| User Name | `name` | string | The name of the user. |
</div>
</details>

### Crud Portfolio

Create, Update, Delete and Read portfolio in Asana

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Input | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| Task ID (required) | `task` | string | `TASK_CRUD_PORTFOLIO` |
| [Action](#crud-portfolio-action) | `action` | object | action |
</div>




<details>
<summary>The <code>action</code> Object </summary>

<h4 id="crud-portfolio-action">Action</h4>

`action` must fulfill one of the following schemas:

<h5 id="crud-portfolio-get"><code>Get</code></h5>

Get Portfolio

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"get"`   |
| Portfolio ID | `portfolio-gid` | string |  Globally unique identifier (GID) for the portfolio.  |
</div>

<h5 id="crud-portfolio-update"><code>Update</code></h5>

Update Portfolio

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"update"`   |
| Update Color | `color` | string |  The color of the portfolio.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`dark-pink`</li><li>`dark-green`</li><li>`dark-blue`</li><li>`dark-red`</li><li>`dark-teal`</li><li>`dark-brown`</li><li>`dark-orange`</li><li>`dark-purple`</li><li>`dark-warm-gray`</li><li>`light-pink`</li><li>`light-green`</li><li>`light-blue`</li><li>`light-red`</li><li>`light-teal`</li><li>`light-brown`</li><li>`light-orange`</li><li>`light-purple`</li><li>`light-warm-gray`</li><li>`none`</li><li>`null`</li></ul></details>  |
| Portfolio Name | `name` | string |  The name of the portfolio.  |
| Portfolio ID | `portfolio-gid` | string |  Globally unique identifier (GID) for the portfolio.  |
| Public | `public` | boolean |  Whether the portfolio is public.  |
| Workspace | `workspace` | string |  The workspace of the portfolio. Please fill in the Globally unique identifier (GID) for the workspace.  |
</div>

<h5 id="crud-portfolio-delete"><code>Delete</code></h5>

Delete Portfolio

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"delete"`   |
| Portfolio ID | `portfolio-gid` | string |  Globally unique identifier (GID) for the portfolio.  |
</div>

<h5 id="crud-portfolio-create"><code>Create</code></h5>

Create Portfolio

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Action | `action` | string |  Must be `"create"`   |
| Color | `color` | string |  The color of the portfolio.  <br/><details><summary><strong>Enum values</strong></summary><ul><li>`dark-pink`</li><li>`dark-green`</li><li>`dark-blue`</li><li>`dark-red`</li><li>`dark-teal`</li><li>`dark-brown`</li><li>`dark-orange`</li><li>`dark-purple`</li><li>`dark-warm-gray`</li><li>`light-pink`</li><li>`light-green`</li><li>`light-blue`</li><li>`light-red`</li><li>`light-teal`</li><li>`light-brown`</li><li>`light-orange`</li><li>`light-purple`</li><li>`light-warm-gray`</li><li>`none`</li><li>`null`</li></ul></details>  |
| Portfolio Name | `name` | string |  The name of the portfolio.  |
| Public | `public` | boolean |  Whether the portfolio is public.  |
| Workspace | `workspace` | string |  The workspace of the portfolio. Please fill in the Globally unique identifier (GID) for the workspace.  |
</div>
</details>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Output | ID | Type | Description |
| :--- | :--- | :--- | :--- |
| Portfolio ID (optional) | `gid` | string | Globally unique identifier (GID) for the portfolio. |
| Portfolio Name (optional) | `name` | string | The name of the portfolio. |
| [Owner](#crud-portfolio-owner) (optional) | `owner` | object | The owner of the portfolio. |
| Due Date (optional) | `due-on` | string | The date on which the portfolio is due. In the format YYYY-MM-DD. |
| Start Date (optional) | `start-on` | string | The date on which the portfolio starts. In the format YYYY-MM-DD. |
| Color (optional) | `color` | string | The color of the portfolio. |
| Public (optional) | `public` | boolean | Whether the portfolio is public. |
| [Created By](#crud-portfolio-created-by) (optional) | `created-by` | object | The user who created the portfolio. |
| [Current Status](#crud-portfolio-current-status) (optional) | `current-status` | array[object] | The current status of the portfolio. |
| [Custom Fields](#crud-portfolio-custom-fields) (optional) | `custom-fields` | array[object] | The custom fields of the portfolio. |
| [Custom Field Settings](#crud-portfolio-custom-field-settings) (optional) | `custom-field-settings` | array[object] | The custom field settings of the portfolio. |
</div>

<details>
<summary> Output Objects in Crud Portfolio</summary>

<h4 id="crud-portfolio-owner">Owner</h4>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| Owner ID | `gid` | string | Globally unique identifier (GID) for the owner. |
| Owner Name | `name` | string | The name of the owner. |
</div>

<h4 id="crud-portfolio-created-by">Created by</h4>

<div class="markdown-col-no-wrap" data-col-1 data-col-2>

| Field | Field ID | Type | Note |
| :--- | :--- | :--- | :--- |
| User ID | `gid` | string | Globally unique identifier (GID) for the user. |
| User Name | `name` | string | The name of the user. |
</div>
</details>

Documentation

Index

Constants

View Source
const (
	TaskAsanaGoal      = "TASK_CRUD_GOAL"
	TaskAsanaTask      = "TASK_CRUD_TASK"
	TaskAsanaPortfolio = "TASK_CRUD_PORTFOLIO"
	TaskAsanaProject   = "TASK_CRUD_PROJECT"
)

Variables

This section is empty.

Functions

func Init

func Init(bc base.Component) *component

Types

type AsanaTask

type AsanaTask struct {
	Action string `json:"action"`
}

type AuthConfig

type AuthConfig struct {
	Token   string `json:"token"`
	BaseURL string `json:"base-url"`
}

type Client

type Client struct {
	*httpclient.Client
	APIBaseURL string `json:"api-base-url"`
	// contains filtered or unexported fields
}

func (*Client) CreateGoal

func (c *Client) CreateGoal(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) CreatePortfolio

func (c *Client) CreatePortfolio(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) CreateProject

func (c *Client) CreateProject(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) CreateTask

func (c *Client) CreateTask(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) DeleteGoal

func (c *Client) DeleteGoal(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) DeletePortfolio

func (c *Client) DeletePortfolio(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) DeleteProject

func (c *Client) DeleteProject(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) DeleteTask

func (c *Client) DeleteTask(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) DuplicateProject

func (c *Client) DuplicateProject(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) DuplicateTask

func (c *Client) DuplicateTask(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) GetGoal

func (c *Client) GetGoal(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) GetJob

func (c *Client) GetJob(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) GetPortfolio

func (c *Client) GetPortfolio(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) GetProject

func (c *Client) GetProject(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) GetTask

func (c *Client) GetTask(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) GoalRelatedTask

func (c *Client) GoalRelatedTask(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) PortfolioRelatedTask

func (c *Client) PortfolioRelatedTask(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) ProjectRelatedTask

func (c *Client) ProjectRelatedTask(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) TaskEditFollower

func (c *Client) TaskEditFollower(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) TaskEditProject

func (c *Client) TaskEditProject(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) TaskEditTag

func (c *Client) TaskEditTag(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) TaskRelatedTask

func (c *Client) TaskRelatedTask(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) TaskSetParent

func (c *Client) TaskSetParent(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) UpdateGoal

func (c *Client) UpdateGoal(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) UpdatePortfolio

func (c *Client) UpdatePortfolio(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) UpdateProject

func (c *Client) UpdateProject(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

func (*Client) UpdateTask

func (c *Client) UpdateTask(ctx context.Context, props *structpb.Struct) (*structpb.Struct, error)

type CreateGoalInput

type CreateGoalInput struct {
	Action     string `json:"action"`
	Name       string `json:"name"`
	Notes      string `json:"notes"`
	DueOn      string `json:"due-on"`
	StartOn    string `json:"start-on"`
	Liked      bool   `json:"liked"`
	Workspace  string `json:"workspace"`
	TimePeriod string `json:"time-period"`
	Owner      string `json:"owner"`
}

type CreateGoalReq

type CreateGoalReq struct {
	Name       string `json:"name"`
	Notes      string `json:"notes"`
	DueOn      string `json:"due_on"`
	StartOn    string `json:"start_on"`
	Liked      bool   `json:"liked"`
	Workspace  string `json:"workspace"`
	TimePeriod string `json:"time_period"`
	Owner      string `json:"owner"`
}

type CreatePortfolioInput

type CreatePortfolioInput struct {
	Action    string `json:"action"`
	Name      string `json:"name"`
	Color     string `json:"color"`
	Public    bool   `json:"public"`
	Workspace string `json:"workspace"`
}

type CreatePortfolioReq

type CreatePortfolioReq struct {
	Name      string `json:"name"`
	Color     string `json:"color,omitempty"`
	Public    bool   `json:"public"`
	Workspace string `json:"workspace"`
}

type CreateProjectInput

type CreateProjectInput struct {
	Action         string `json:"action"`
	Name           string `json:"name"`
	Notes          string `json:"notes"`
	DueOn          string `json:"due-on"`
	StartOn        string `json:"start-on"`
	Color          string `json:"color"`
	PrivacySetting string `json:"privacy-setting"`
	Workspace      string `json:"workspace"`
	Team           string `json:"team"`
}

type CreateProjectReq

type CreateProjectReq struct {
	Name           string `json:"name,omitempty"`
	Notes          string `json:"notes,omitempty"`
	DueOn          string `json:"due_on,omitempty"`
	StartOn        string `json:"start_on,omitempty"`
	Color          string `json:"color,omitempty"`
	PrivacySetting string `json:"privacy_setting,omitempty"`
	Workspace      string `json:"workspace"`
	Team           string `json:"team"`
}

type CreateTaskInput

type CreateTaskInput struct {
	Action          string `json:"action"`
	Name            string `json:"name"`
	Notes           string `json:"notes"`
	ResourceSubtype string `json:"resource-subtype"`
	ApprovalStatus  string `json:"approval-status"`
	Completed       bool   `json:"completed"`
	Liked           bool   `json:"liked"`
	Assignee        string `json:"assignee"`
	Parent          string `json:"parent"`
	StartAt         string `json:"start-at"`
	DueAt           string `json:"due-at"`
	Workspace       string `json:"workspace"`
}

type CreateTaskReq

type CreateTaskReq struct {
	Name            string `json:"name"`
	Notes           string `json:"notes,omitempty"`
	ResourceSubtype string `json:"resource_subtype,omitempty"`
	ApprovalStatus  string `json:"approval_status,omitempty"`
	Completed       bool   `json:"completed"`
	Liked           bool   `json:"liked"`
	Assignee        string `json:"assignee,omitempty"`
	Parent          string `json:"parent,omitempty"`
	StartAt         string `json:"start_at,omitempty"`
	DueAt           string `json:"due_at,omitempty"`
	Workspace       string `json:"workspace"`
}

type DeleteGoalInput

type DeleteGoalInput struct {
	Action string `json:"action"`
	ID     string `json:"goal-gid"`
}

type DeletePortfolioInput

type DeletePortfolioInput struct {
	Action string `json:"action"`
	ID     string `json:"portfolio-gid"`
}

type DeleteProjectInput

type DeleteProjectInput struct {
	Action string `json:"action"`
	ID     string `json:"project-gid"`
}

type DeleteTaskInput

type DeleteTaskInput struct {
	Action string `json:"action"`
	ID     string `json:"task-gid"`
}

type DuplicateProjectInput

type DuplicateProjectInput struct {
	Action             string `json:"action"`
	ID                 string `json:"project-gid"`
	Name               string `json:"name"`
	Team               string `json:"team"`
	DueOn              string `json:"due-on,omitempty"`
	StartOn            string `json:"start-on,omitempty"`
	ShouldSkipWeekends bool   `json:"should-skip-weekends"`
}

type DuplicateProjectReq

type DuplicateProjectReq struct {
	Name          string        `json:"name"`
	Team          string        `json:"team,omitempty"`
	Include       string        `json:"include"`
	ScheduleDates ScheduleDates `json:"schedule_dates"`
}

type DuplicateTaskInput

type DuplicateTaskInput struct {
	Action string `json:"action"`
	ID     string `json:"task-gid"`
	Name   string `json:"name"`
}

type DuplicateTaskReq

type DuplicateTaskReq struct {
	Name    string `json:"name"`
	Include string `json:"include"`
}

type GetGoalInput

type GetGoalInput struct {
	Action string `json:"action"`
	ID     string `json:"goal-gid"`
}

type GetJobInput

type GetJobInput struct {
	Action string `json:"action"`
	ID     string `json:"job-gid"`
}

type GetPortfolioInput

type GetPortfolioInput struct {
	Action string `json:"action"`
	ID     string `json:"portfolio-gid"`
}

type GetProjectInput

type GetProjectInput struct {
	Action string `json:"action"`
	ID     string `json:"project-gid"`
}

type GetTaskInput

type GetTaskInput struct {
	Action string `json:"action"`
	ID     string `json:"task-gid"`
}

type Goal

type Goal struct {
	GID       string `json:"gid" api:"gid"`
	Name      string `json:"name" api:"name"`
	Owner     User   `json:"owner" api:"owner.name"`
	Notes     string `json:"notes" api:"notes"`
	HTMLNotes string `json:"html-notes" api:"html_notes"`
	DueOn     string `json:"due-on" api:"due_on"`
	StartOn   string `json:"start-on" api:"start_on"`
	Liked     bool   `json:"liked" api:"liked"`
	Likes     []Like `json:"likes" api:"likes.user.name"`
}

type GoalTaskOutput

type GoalTaskOutput struct {
	Goal
}

type GoalTaskResp

type GoalTaskResp struct {
	Data struct {
		GID       string    `json:"gid"`
		Name      string    `json:"name"`
		Owner     User      `json:"owner"`
		Notes     string    `json:"notes"`
		HTMLNotes string    `json:"html_notes"`
		DueOn     string    `json:"due_on"`
		StartOn   string    `json:"start_on"`
		Liked     bool      `json:"liked"`
		Likes     []RawLike `json:"likes"`
	} `json:"data"`
}

type Job

type Job struct {
	GID        string  `json:"gid" api:"gid"`
	NewTask    Task    `json:"task" api:"new_task.name"`
	NewProject Project `json:"project" api:"new_project.name"`
}

type JobTaskOutput

type JobTaskOutput struct {
	Job
}

func JobResp2Output

func JobResp2Output(resp *JobTaskResp) JobTaskOutput

type JobTaskResp

type JobTaskResp struct {
	Data struct {
		GID        string  `json:"gid"`
		NewTask    Task    `json:"new_task"`
		NewProject Project `json:"new_project"`
	} `json:"data"`
}

type Like

type Like struct {
	LikeGID  string `json:"like-gid"`
	UserGID  string `json:"user-gid"`
	UserName string `json:"name"`
}

type Portfolio

type Portfolio struct {
	GID                 string                   `json:"gid" api:"gid"`
	Name                string                   `json:"name" api:"name"`
	Owner               User                     `json:"owner" api:"owner.name"`
	DueOn               string                   `json:"due-on" api:"due_on"`
	StartOn             string                   `json:"start-on" api:"start_on"`
	Color               string                   `json:"color" api:"color"`
	Public              bool                     `json:"public" api:"public"`
	CreatedBy           User                     `json:"created-by" api:"created_by.name"`
	CurrentStatus       []map[string]interface{} `` /* 199-byte string literal not displayed */
	CustomFields        []map[string]interface{} `` /* 392-byte string literal not displayed */
	CustomFieldSettings []map[string]interface{} `` /* 620-byte string literal not displayed */
}

type PortfolioTaskOutput

type PortfolioTaskOutput struct {
	Portfolio
}

type PortfolioTaskResp

type PortfolioTaskResp struct {
	Data struct {
		GID                 string                   `json:"gid"`
		Name                string                   `json:"name"`
		Owner               User                     `json:"owner"`
		DueOn               string                   `json:"due_on"`
		StartOn             string                   `json:"start_on"`
		Color               string                   `json:"color"`
		Public              bool                     `json:"public"`
		CreatedBy           User                     `json:"created_by"`
		CurrentStatus       []map[string]interface{} `json:"current_status"`
		CustomFields        []map[string]interface{} `json:"custom_fields"`
		CustomFieldSettings []map[string]interface{} `json:"custom_field_settings"`
	} `json:"data"`
}

type Project

type Project struct {
	GID                 string                   `json:"gid" api:"gid"`
	Name                string                   `json:"name" api:"name"`
	Owner               User                     `json:"owner" api:"owner.name"`
	Notes               string                   `json:"notes" api:"notes"`
	HTMLNotes           string                   `json:"html-notes" api:"html_notes"`
	DueOn               string                   `json:"due-on" api:"due_on"`
	StartOn             string                   `json:"start-on" api:"start_on"`
	Completed           bool                     `json:"completed" api:"completed"`
	Color               string                   `json:"color" api:"color"`
	PrivacySetting      string                   `json:"privacy-setting" api:"privacy_setting"`
	Archived            bool                     `json:"archived" api:"archived"`
	CompletedBy         User                     `json:"completed-by" api:"completed_by.name"`
	CurrentStatus       []map[string]interface{} `` /* 199-byte string literal not displayed */
	CustomFields        []map[string]interface{} `` /* 392-byte string literal not displayed */
	CustomFieldSettings []map[string]interface{} `` /* 620-byte string literal not displayed */
	ModifiedAt          string                   `json:"modified-at" api:"modified_at"`
}

type ProjectTaskOutput

type ProjectTaskOutput struct {
	Project
}

type ProjectTaskResp

type ProjectTaskResp struct {
	Data struct {
		GID                 string                   `json:"gid"`
		Name                string                   `json:"name"`
		Owner               User                     `json:"owner"`
		Notes               string                   `json:"notes"`
		HTMLNotes           string                   `json:"html_notes"`
		DueOn               string                   `json:"due_on"`
		StartOn             string                   `json:"start_on"`
		Completed           bool                     `json:"completed"`
		Color               string                   `json:"color"`
		PrivacySetting      string                   `json:"privacy_setting"`
		Archived            bool                     `json:"archived"`
		CompletedBy         User                     `json:"completed_by"`
		CurrentStatus       []map[string]interface{} `json:"current_status"`
		CustomFields        []map[string]interface{} `json:"custom_fields"`
		CustomFieldSettings []map[string]interface{} `json:"custom_field_settings"`
		ModifiedAt          string                   `json:"modified_at"`
	} `json:"data"`
}

type RawLike

type RawLike struct {
	LikeGID string `json:"gid"`
	User    User   `json:"user"`
}

type ScheduleDates

type ScheduleDates struct {
	ShouldSkipWeekends bool   `json:"should_skip_weekends"`
	DueOn              string `json:"due_on,omitempty"`
	StartOn            string `json:"start_on,omitempty"`
}

type SimpleProject

type SimpleProject struct {
	GID  string `json:"gid"`
	Name string `json:"name"`
}

type Task

type Task struct {
	GID             string          `json:"gid" api:"gid"`
	Name            string          `json:"name" api:"name"`
	Notes           string          `json:"notes" api:"notes"`
	HTMLNotes       string          `json:"html-notes" api:"html_notes"`
	Projects        []SimpleProject `json:"projects" api:"projects.name"`
	DueOn           string          `json:"due-on" api:"due_on"`
	StartOn         string          `json:"start-on" api:"start_on"`
	Liked           bool            `json:"liked" api:"liked"`
	Likes           []Like          `json:"likes" api:"likes.user.name"`
	ApprovalStatus  string          `json:"approval-status" api:"approval_status"`
	ResourceSubtype string          `json:"resource-subtype" api:"resource_subtype"`
	Completed       bool            `json:"completed" api:"completed"`
	Assignee        string          `json:"assignee" api:"assignee.name"`
	Parent          string          `json:"parent" api:"parent.name"`
}

type TaskEditFollowerInput

type TaskEditFollowerInput struct {
	Action     string `json:"action"`
	ID         string `json:"task-gid"`
	Followers  string `json:"followers"`
	EditOption string `json:"edit-option"`
}

type TaskEditFollowerReq

type TaskEditFollowerReq struct {
	Followers []string `json:"followers"`
}

type TaskEditProjectInput

type TaskEditProjectInput struct {
	Action     string `json:"action"`
	ID         string `json:"task-gid"`
	ProjectID  string `json:"project-gid"`
	EditOption string `json:"edit-option"`
}

type TaskEditProjectReq

type TaskEditProjectReq struct {
	ProjectID string `json:"project"`
}

type TaskEditTagInput

type TaskEditTagInput struct {
	Action     string `json:"action"`
	ID         string `json:"task-gid"`
	TagID      string `json:"tag-gid"`
	EditOption string `json:"edit-option"`
}

type TaskEditTagReq

type TaskEditTagReq struct {
	Tag string `json:"tag"`
}

type TaskParent

type TaskParent struct {
	GID             string `json:"gid"`
	Name            string `json:"name"`
	ResourceSubtype string `json:"resource-subtype"`
	CreatedBy       User   `json:"created-by"`
}

type TaskSetParentInput

type TaskSetParentInput struct {
	Action string `json:"action"`
	ID     string `json:"task-gid"`
	Parent string `json:"parent"`
}

type TaskSetParentReq

type TaskSetParentReq struct {
	Parent string `json:"parent"`
}

type TaskTaskOutput

type TaskTaskOutput struct {
	Task
}

type TaskTaskResp

type TaskTaskResp struct {
	Data struct {
		GID             string          `json:"gid"`
		Name            string          `json:"name"`
		Notes           string          `json:"notes"`
		HTMLNotes       string          `json:"html_notes"`
		Projects        []SimpleProject `json:"projects"`
		DueOn           string          `json:"due_on"`
		StartOn         string          `json:"start_on"`
		Liked           bool            `json:"liked"`
		Likes           []RawLike       `json:"likes"`
		ApprovalStatus  string          `json:"approval_status" api:"approval_status"`
		ResourceSubtype string          `json:"resource_subtype"`
		Completed       bool            `json:"completed" api:"completed"`
		Assignee        User            `json:"assignee" api:"assignee"`
		Parent          TaskParent      `json:"parent" api:"parent"`
	} `json:"data"`
}

type UpdateGoalInput

type UpdateGoalInput struct {
	Action  string `json:"action"`
	ID      string `json:"goal-gid"`
	Name    string `json:"name"`
	Notes   string `json:"notes"`
	DueOn   string `json:"due-on"`
	StartOn string `json:"start-on"`
	Liked   bool   `json:"liked"`
	Status  string `json:"status"`
}

type UpdateGoalReq

type UpdateGoalReq struct {
	Name    string `json:"name,omitempty"`
	Notes   string `json:"notes,omitempty"`
	DueOn   string `json:"due_on,omitempty"`
	StartOn string `json:"start_on,omitempty"`
	Liked   bool   `json:"liked"`
	Status  string `json:"status,omitempty"`
}

type UpdatePortfolioInput

type UpdatePortfolioInput struct {
	Action    string `json:"action"`
	ID        string `json:"portfolio-gid"`
	Name      string `json:"name"`
	Color     string `json:"color"`
	Public    bool   `json:"public"`
	Workspace string `json:"workspace"`
}

type UpdatePortfolioReq

type UpdatePortfolioReq struct {
	Name      string `json:"name,omitempty"`
	Color     string `json:"color,omitempty"`
	Public    bool   `json:"public"`
	Workspace string `json:"workspace,omitempty"`
}

type UpdateProjectInput

type UpdateProjectInput struct {
	Action         string `json:"action"`
	ID             string `json:"project-gid"`
	Name           string `json:"name"`
	Notes          string `json:"notes"`
	DueOn          string `json:"due-on"`
	StartOn        string `json:"start-on"`
	Color          string `json:"color"`
	PrivacySetting string `json:"privacy-setting"`
	Archived       bool   `json:"archived"`
}

type UpdateProjectReq

type UpdateProjectReq struct {
	Name           string `json:"name,omitempty"`
	Notes          string `json:"notes,omitempty"`
	DueOn          string `json:"due_on,omitempty"`
	StartOn        string `json:"start_on,omitempty"`
	Color          string `json:"color,omitempty"`
	PrivacySetting string `json:"privacy_setting,omitempty"`
	Archived       bool   `json:"archived"`
}

type UpdateTaskInput

type UpdateTaskInput struct {
	Action          string `json:"action"`
	ID              string `json:"task-gid"`
	Name            string `json:"name"`
	ResourceSubtype string `json:"resource-subtype"`
	ApprovalStatus  string `json:"approval-status"`
	Completed       bool   `json:"completed"`
	Liked           bool   `json:"liked"`
	Notes           string `json:"notes"`
	Assignee        string `json:"assignee"`
	Parent          string `json:"parent"`
}

type UpdateTaskReq

type UpdateTaskReq struct {
	Name            string `json:"name,omitempty"`
	ResourceSubtype string `json:"resource_subtype,omitempty"`
	ApprovalStatus  string `json:"approval_status,omitempty"`
	Completed       bool   `json:"completed"`
	Liked           bool   `json:"liked"`
	Notes           string `json:"notes,omitempty"`
	Assignee        string `json:"assignee,omitempty"`
	Parent          string `json:"parent,omitempty"`
}

type User

type User struct {
	GID  string `json:"gid"`
	Name string `json:"name"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL