AsanaCreateTaskOperator¶
使用 AsanaCreateTaskOperator 來建立一個 Asana 任務。
使用該操作器¶
AsanaCreateTaskOperator 最低要求新任務的名稱和用於連線到您賬戶的 Asana 連線(conn_id)。您可以透過 task_parameters 指定許多其他任務屬性。您必須在 task_parameters 或連線中指定 workspace、parent 或 projects 中的至少一個。
AsanaDeleteTaskOperator¶
使用 AsanaDeleteTaskOperator 來刪除現有的 Asana 任務。
使用該操作器¶
AsanaDeleteTaskOperator 需要要刪除的任務 ID。使用 conn_id 引數來指定用於連線到您賬戶的 Asana 連線。
AsanaFindTaskOperator¶
使用 AsanaFindTaskOperator 來搜尋符合某些條件的 Asana 任務。
使用該操作器¶
AsanaFindTaskOperator 需要一個搜尋引數字典,其描述見此處。使用 conn_id 引數來指定用於連線到您賬戶的 Asana 連線。透過連線提供的任何引數,如果在 search_parameters 中沒有被覆蓋,則將用於搜尋。
AsanaUpdateTaskOperator¶
使用 AsanaUpdateTaskOperator 來更新現有的 Asana 任務。
使用該操作器¶
AsanaUpdateTaskOperator 最低要求要更新的任務 ID 和用於連線到您賬戶的 Asana 連線(conn_id)。您可以透過 task_parameters 覆蓋許多其他任務屬性。
tests/system/asana/example_asana.py
# Create a task. `task_parameters` is used to specify attributes the new task should have.
# You must specify at least one of 'workspace', 'projects', or 'parent' in `task_parameters`
# unless these are specified in the connection. Any attributes you specify in
# `task_parameters` will override values from the connection.
create = AsanaCreateTaskOperator(
task_id="run_asana_create_task",
task_parameters={"notes": "Some notes about the task."},
name="New Task Name",
)
# Find tasks matching search criteria. `search_parameters` is used to specify these criteria.
# You must specify `project`, `section`, `tag`, `user_task_list`, or both
# `assignee` and `workspace` in `search_parameters` or in the connection.
# This example shows how you can override a project specified in the connection by
# passing a different value for project into `search_parameters`
one_week_ago = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d")
find = AsanaFindTaskOperator(
task_id="run_asana_find_task",
search_parameters={"project": ASANA_PROJECT_ID_OVERRIDE, "modified_since": one_week_ago},
)
# Update a task. `task_parameters` is used to specify the new values of
# task attributes you want to update.
update = AsanaUpdateTaskOperator(
task_id="run_asana_update_task",
asana_task_gid=ASANA_TASK_TO_UPDATE,
task_parameters={"notes": "This task was updated!", "completed": True},
)
# Delete a task. This task will complete successfully even if `asana_task_gid` does not exist.
delete = AsanaDeleteTaskOperator(
task_id="run_asana_delete_task",
asana_task_gid=ASANA_TASK_TO_DELETE,
)
create >> find >> update >> delete