Skip to main content
Trello 是一款基于 Web 的项目管理和协作工具,供个人和团队组织及跟踪任务和项目。它提供一个称为”看板”的可视化界面,用户可以创建列表和卡片来表示任务和活动。
TrelloLoader 允许您从 Trello 看板加载卡片,基于 py-trello 实现。 目前仅支持 api_key/token 认证方式。
  1. 凭证生成:trello.com/power-ups/admin/
  2. 点击手动生成令牌链接以获取令牌。
您可以通过设置环境变量 TRELLO_API_KEYTRELLO_TOKEN,或直接将 api_keytoken 传入 from_credentials 便捷构造方法来指定 API 密钥和令牌。 此加载器允许您提供看板名称,将相应卡片加载为 Document 对象。 注意,看板的”名称”在官方文档中也称为”标题”: support.atlassian.com/trello/docs/changing-a-boards-title-and-description/ 您还可以通过多个加载参数来控制文档 page_content 属性和元数据中包含或排除的字段。

功能特性

  • 从 Trello 看板加载卡片。
  • 根据卡片状态(开放或已关闭)过滤卡片。
  • 在加载的文档中包含卡片名称、评论和检查清单。
  • 自定义要包含在文档中的额外元数据字段。
默认情况下,所有卡片字段都会包含在完整文本 page_content 和元数据中。
pip install -qU  py-trello beautifulsoup4 lxml
# 如果您已通过环境变量设置了 API 密钥和令牌,
# 可以跳过此单元格,并注释掉下方初始化步骤中的 `api_key` 和 `token` 命名参数
from getpass import getpass

API_KEY = getpass()
TOKEN = getpass()
········
········
from langchain_community.document_loaders import TrelloLoader

# 从 "Awesome Board" 获取开放卡片
loader = TrelloLoader.from_credentials(
    "Awesome Board",
    api_key=API_KEY,
    token=TOKEN,
    card_filter="open",
)
documents = loader.load()

print(documents[0].page_content)
print(documents[0].metadata)
Review Tech partner pages
Comments:
{'title': 'Review Tech partner pages', 'id': '6475357890dc8d17f73f2dcc', 'url': 'https://trello.com/c/b0OTZwkZ/1-review-tech-partner-pages', 'labels': ['Demand Marketing'], 'list': 'Done', 'closed': False, 'due_date': ''}
# 从 "Awesome Board" 获取所有卡片,但只将
# 卡片列表(列)作为额外元数据包含
loader = TrelloLoader.from_credentials(
    "Awesome Board",
    api_key=API_KEY,
    token=TOKEN,
    extra_metadata=("list"),
)
documents = loader.load()

print(documents[0].page_content)
print(documents[0].metadata)
Review Tech partner pages
Comments:
{'title': 'Review Tech partner pages', 'id': '6475357890dc8d17f73f2dcc', 'url': 'https://trello.com/c/b0OTZwkZ/1-review-tech-partner-pages', 'list': 'Done'}
# 从 "Another Board" 获取卡片,排除文档 page_content 文本中的
# 卡片名称、检查清单和评论
loader = TrelloLoader.from_credentials(
    "test",
    api_key=API_KEY,
    token=TOKEN,
    include_card_name=False,
    include_checklist=False,
    include_comments=False,
)
documents = loader.load()

print("Document: " + documents[0].page_content)
print(documents[0].metadata)