我尝试使用Asana事件API来跟踪我们的某个项目中的更改,更多特定的部分之间的任务移动。 我们的工作流程如下:
我的想法是使用https://asana.com/developers/api-reference/events来实现基于拉取的机制,以获取最近的任务变化。
我的问题是:
欢迎提出意见或建议。感谢
答案 0 :(得分:0)
简而言之:
memberships
字段表示部分与其中的任务之间的关系,而不是其他方式。我认为这可以帮助你实现所需的目标。
我们假设您有一个项目Ninja Pipeline
,其中有2个部分Novice
& Expert
。请记住,部分实际上只是名称以:
字符结尾的任务,其中有一些额外的功能可以归属于它们。
活动"冒泡"从孩子到父母;因此,当您在此项目中的Wombat
任务形成Novice
部分到Expert
时,您将获得3个事件。从顶层开始,它们是:
Ninja Pipeline
项目已更改。Wombat
任务已更改。Wombat
任务中。对于您的用例,最有趣的事件是关于任务更改的第二个事件。您真正想知道的数据现在是任务改变了任务上memberships
字段的值。如果它现在是您感兴趣的部分的成员,请采取措施,否则忽略。
默认情况下,API中的许多资源都以紧凑的形式表示,通常只包含id
& name
。使用input/output options以展开对象或选择所需的特定字段。
在这种情况下,最好的办法是在项目中轮询事件时包含查询参数opt_expand=resource
。这应该扩展有效负载中的所有resource
个对象。对于type: "task"
的事件,如果resource.memberships[0].section.id=<id_of_the_section>
为真,请采取措施,否则忽略。