跳到主要内容

自动化:使用Python和Trello API创建板子、列表和卡片

在Trello中创建板,列表和卡片

在本文中,我将指导您在Trello中创建板子、列表和卡片,但我们将使用Python和Trello API以编程方式完成这些工作,而不是从Trello的网站或移动应用程序手动完成所有这些工作。

如果您不经常使用Trello,或者如果您一次只需要创建一些卡片,那么这对您来说可能没有意义,但这允许您将Trello项的创建与其他程序集成在一起。为了给出一些例子,我将写几篇文章来告诉您可以在哪里应用这种自动化。以下文章将在此之后陆续发表:

需求

Python

我使用的是Python 3.6.8,但你可以使用其他版本。有些语法可能会有所不同,特别是对于Python 2版本。

Trello API密钥和令牌

您需要密钥和令牌来连接并向Trello帐户发出请求。登录到您的Trello帐户,并按照说明带上你的钥匙和代币.记下你的钥匙和令牌。

创建董事会

将下面代码中的"your_key"和"your_token"字符串替换为Trello帐户的密钥和令牌。的create_board ()方法创建一个具有给定名称的板,并在其创建时返回板的ID。

我们返回创建的板子的ID,因为我们稍后将使用它在板子中创建一个列表。

进口请求关键=“your_key”令牌=“your_token”defcreate_boardboard_name):url =“https://api.trello.com/1/boards/”查询字符串= {“名称”: board_name,“关键”:关键,“令牌”:令牌}Response = requests.request(“职位”, url, params=querystring)Board_id = response.json()[“shortUrl”] .split (“/”) (-1] .strip ()返回board_id

创建列表

将下面的方法添加到相同的脚本中。这个是用来创建列表的。正如前面提到的,我们需要板ID来让API知道我们想在哪个板中创建列表,因此下面的方法定义将“board_id”作为参数,与“list_name”一起使用。

此方法将返回创建的列表的ID,稍后将使用该ID在列表中创建卡片。

defcreate_listboard_id, list_name):url =f“https://api.trello.com/1/boards/{board_id}/列表”查询字符串= {“名称”: list_name,“关键”:关键,“令牌”:令牌}Response = requests.request(“职位”, url, params=querystring)List_id = response.json()[“id”返回list_id

创建卡片

将下面的方法添加到相同的脚本中。这个是用来创建卡片的。它以“list_id”和“card_name”作为参数。

defcreate_cardlist_id, card_name):url =f“https://api.trello.com/1/cards”查询字符串= {“名称”: card_name,“idList”: list_id,“关键”:关键,“令牌”:令牌}Response = requests.request(“职位”, url, params=querystring)Card_id = response.json()[“id”返回card_id

样品的自动化

你可以测试每种方法,并尝试一些简单的任务,如创建板子、列表和卡片,但这有点无聊。让我们尝试基于我们创建的脚本进行简单的自动化。首先,将脚本保存为“trello.py”,并创建两个您希望出现在您的电路板上的任务的文本文件。

下面是一些示例文件,包括我们之前创建的脚本。

trello.py

进口请求关键=“your_key”令牌=“your_token”defcreate_boardboard_name):url =“https://api.trello.com/1/boards/”查询字符串= {“名称”: board_name,“关键”:关键,“令牌”:令牌}Response = requests.request(“职位”, url, params=querystring)Board_id = response.json()[“shortUrl”] .split (“/”) (-1] .strip ()返回board_iddefcreate_listboard_id, list_name):url =f“https://api.trello.com/1/boards/{board_id}/列表”查询字符串= {“名称”: list_name,“关键”:关键,“令牌”:令牌}Response = requests.request(“职位”, url, params=querystring)List_id = response.json()[“id”返回list_iddefcreate_cardlist_id, card_name):url =f“https://api.trello.com/1/cards”查询字符串= {“名称”: card_name,“idList”: list_id,“关键”:关键,“令牌”:令牌}Response = requests.request(“职位”, url, params=querystring)Card_id = response.json()[“id”返回card_id

chores.txt

洗碗扔掉垃圾小衣服买食品杂货做晚饭

work.txt

检查代码<一些任务>测试代码<一些项目>编写文档

Trello任务

将下面的代码复制到名为“tasks_to_trello.py”的文件中。

在这段代码中,发生了以下事情:

  • 导入os模块
  • “trello.py”文件及其方法被导入
  • 创建“Tasks”面板
  • “os”模块listdir ()方法用于列出当前目录中的文件
  • 文件列表以“.txt”结尾的文件过滤。
  • 检索的文件名不包括其文件扩展名,因此可以将其用作列表名
  • 列表是在板中创建的标题()方法将列表名大写(例如:“工作”变成了“工作”)
  • 访问该文件,并将文件中的每一行创建为特定列表中的卡片

tasks_to_trello.py

进口操作系统trello进口Create_board, create_list, create_cardBoard_id = create_board(“任务”文件名os.listdir ():如果filename.endswith (. txt”):文件名= os.path.splitext(文件名)[0List_name = create_list(board_id, filename.title())开放f”{文件名}. txt”“r”作为txt_file:card_nametxt_file.readlines ():create_card (list_name card_name)

最后

当你访问你的Trello时,你会发现你创建的板、列表和卡片(如下面的截图所示)。如果您将这个简单的程序(trello.py)与从多个源获取信息的其他程序结合使用,那么您可以用它做很多事情。正如我之前提到的,我将单独发表以下文章:

现在都在Trello中了

现在都在Trello中了

©2019 Joann Mistica

评论

一个人2020年8月13日:

好文章,非常感谢

乔安·米斯蒂卡(作者)2020年7月27日:

嗨莱安德罗,

我不确定我是否正确理解了你的问题,但这是为“自动化:从Gmail电子邮件导出动作项到Trello”文章,对吗?您可以将日期附加到操作项(卡片)本身,但如果这看起来不愉快,您可以为它们添加标签,以便即使您将它们移动到不同的列表和板,您仍然可以看到它们来自哪个日期。

你也可以使用Python来做到这一点,更多信息可以在这里找到:https://developer.atlassian.com/cloud/trello/rest/..。

我希望这能回答你的问题。

莱安德罗mourao2020年7月26日:

这些例子很好!恭喜你!

关于“行动”,我怎么能抓住他们的日期,当一个列表被移动到另一个?

Baidu