通过 Python API 以相反的顺序创建 Asana 任务

Created Asana tasks via Python API in reverse order

我有一个 python 脚本,可将 csv 文件导入 Asana 项目,每行一个任务。

它工作正常,除了它似乎以与 Web 界面相反的顺序创建任务 - 即:在线,您在列表末尾创建新任务,但 API 似乎创建顶部的新任务。

由于 csv 的结构令人讨厌(即:按演示文稿排序而不是按截止日期排序,分为我在运行时解析的部分等)顺序实际上比理想情况下更重要。

那么:有没有一种简单的方法可以颠倒顺序,以便 API 将任务附加到最后而不是将它们插入到顶部?现在,我只是在导入它时反转 csv,它工作正常,但它丑陋且效率低下,我想知道我是否没有遗漏一些非常明显的东西:)

有什么建议吗?

通过 omni 按钮、多宿主等添加到 UI 中的项目的任务也将出现在项目的顶部,除非你明确地在项目中它自己,集中在中心窗格任务列表,然后按 "Enter" 添加新任务。有点混乱,我同意。

至于task ordering in the API,您是正确的,添加到项目的新任务将出现在项目的顶部。您可以通过调用 POST /tasks/task-id/addProject 并提供 insert_beforeinsert_aftersection 参数以及任务或部分的 ID 来更改任务的位置,以将此任务移动到旁边.

使用 Asana python client 调用如下所示:

`client.tasks.add_project(<TASK_ID>, { 'project' : <PROJECT_ID>, 'insert_after' : <PRECEDING_TASK> })`

您还可以在创建任务时指定 memberships 属性 以指定任务应出现的部分。

说实话,你现在的方案可能是最好的,以后我们可能会允许你在创建时指定相邻的任务。在这种情况下,您可以在每个创建的 insert_after 中指定每个响应的 ID 以获得相反的顺序。我会将其添加到我们的请求列表中。