我看到一些有关如何使用API创建任务的问题,但我想知道如何创建新项目。
每次我想创建一个新项目时,我都有预定的格式来创建一个新项目。我有特定的任务,每个任务都有自己的子任务。现在我在Asana上有一个模板,每次我想创建一个新项目时,我都会去那个项目并复制它并将其重命名为我当前的项目。
有没有人知道使用Python自动执行此操作的方法,这样我就可以运行脚本并输入项目名称的详细信息,它将自动在Asana上创建一个新项目(如果需要,这样就可以了一次制作5个项目我可以只列出所有项目名称并循环遍历所有项目吗?
我知道你需要一个密钥,我有一些名为API_KEY的东西,长度为32个字符。
ADD ON:以下是我在Python中用来访问Asana工作空间中所有任务和子任务的代码:
import asana
api_key = '################################' //my private key goes here
client = asana.Client.basic_auth(api_key)
me = client.users.me()
all_projects = next(workspace for workspace in me['workspaces'])
projects = client.projects.find_by_workspace(all_projects['id'], iterator_type=None)
for project in projects:
if 'Template' not in project['name']:
continue
print(project['name'])
project_id = project['id']
tasks = client.tasks.find_by_project(project_id, iterator_type=None)
for task in tasks:
print(" " + task['name'])
task_id = task['id']
task_subtasks = client.tasks.subtasks(task_id, full_payload=True)
for subtask in task_subtasks:
print(" " + subtask['name'])
当我运行这个时,我得到了他们的标题中包含“模板”一词的项目的所有任务和子任务。那么,这是如何阅读,如果我以JSON格式保存所有这些,那么每次我想创建一个新项目时我都可以上传那个JSON并获得一个新项目吗?
答案 0 :(得分:5)
看起来您正在使用python-asana客户端库。这个库提供了一个很好的包装器,可以实现访问Asana API的最佳实践。我鼓励您阅读文档以充分理解它的设计和功能。
Creating a project需要工作空间或组织的上下文,并且在组织的情况下还需要项目团队的上下文属于。
以下代码使用相同的库在“Moon Landing”工作区中创建项目,如果工作区是将项目放入“Astronauts”团队的组织。
Echo
创建“培训”项目后,您可以像这样向该项目添加任务。
WScript.exe
然后,添加子任务
var angularApp = angular.module('app', [dep1,dep2]);
答案 1 :(得分:1)
要在体式中创建项目,您需要获得工作区,或者需要获得团队ID。我用工作区创建了一个。这些是步骤: -
在python中这是代码
import asana
client = asana.Client.basic_auth('ASANA_KEY')
project = {'name':'test','workspace':'WORKSPACE_ID'}
client.projects.create(project)
这将在您的帐户中创建项目。它确实在我的情况下。要创建任务,请遵循以下步骤。
然后运行此代码
a={'name':'abc','projects':'PROJECT_ID','workspace':'WORKSPACE_ID'}
client.tasks.create(a)
这将在您提供其ID的项目下创建任务。