Zapier Pro调用Monday Get Items by Column Value接口返回条数受限问题
解决Monday+Zapier数据返回条数限制问题(仅返回25条)
问题分析
你遇到的25条返回限制是因为Monday API默认分页每页返回25条,Zapier的原生集成“返回全部”选项未正确处理多页数据,导致只拿到了第一页结果。
解决方案
1. 手动通过Python Code调用Monday API分页获取全量数据
替换原来的“导入line items”步骤,用Zapier Code工具编写Python代码,循环调用Monday API获取所有分页的数据,再过滤出目标test suite的用例。
示例代码:
import requests # 替换成你的实际配置 MONDAY_API_TOKEN = '你的Monday API令牌' SPEC_BOARD_ID = 'specifications看板的ID' TARGET_TEST_SUITE = '要检索的test suite名称' per_page = 50 # 每页最多可设50条,减少循环次数 current_page = 1 all_test_cases = [] while True: # 构造Monday API查询 query = f''' query {{ boards(ids: {SPEC_BOARD_ID}) {{ items_page(limit: {per_page}, page: {current_page}) {{ items {{ name column_values {{ title text }} }} }} }} }} ''' # 发送请求 response = requests.post( 'https://api.monday.com/v2', json={'query': query}, headers={'Authorization': MONDAY_API_TOKEN} ) response_data = response.json() # 提取当前页的测试用例 current_items = response_data['data']['boards'][0]['items_page']['items'] if not current_items: break # 没有更多数据,终止循环 # 过滤出目标test suite的用例 filtered = [ item for item in current_items if any(col['title'] == 'test suite' and col['text'] == TARGET_TEST_SUITE for col in item['column_values']) ] all_test_cases.extend(filtered) current_page += 1 # 返回全量数据,供后续创建subitem步骤使用 return {'test_cases': all_test_cases}
之后在Zapier里把这个Code步骤的输出test_cases作为后续遍历创建subitem的数据源即可。
2. 无代码方案:用Zapier Loop组件实现分页
如果不想写代码,可以按以下步骤操作:
- 先添加一个Code步骤,调用Monday API获取目标test suite的总条数(通过
items的count字段) - 添加Loop组件,设置循环次数为
总条数/25向上取整 - 在Loop内部添加“获取Monday看板数据”的Action,每次循环指定
page参数为当前循环索引+1 - 添加“合并line items”的步骤,把所有循环返回的数据合并成一个全量列表
- 用合并后的列表作为创建subitem的数据源
3. 检查Zapier集成的隐藏设置
部分Zapier的Monday集成可能在高级设置里有“每页条数”选项,尝试把它调到50(Monday API允许的最大值),再勾选“返回全部”,可能无需额外代码就能拿到全量数据。
内容的提问来源于stack exchange,提问作者RogerB
相关产品推荐
相关产品推荐

