mcpField
M
monday

monday

github.com/alphaonedev生产力43 次安装
代码仓库

关于 monday

monday 技能指导 Agent 使用 Monday.com API 管理项目看板及相关数据,涵盖看板和条目操作、自动化、报表数据访问,以及通过 Webhook 响应事件。

主要功能

  1. 01增删改查看板、条目和列
  2. 02管理自动化与集成
  3. 03操作仪表板和时间线
  4. 04筛选并分页查询数据
  5. 05通过 Webhook 响应变更

适用场景

  1. 01创建项目看板并添加任务
  2. 02在日常工作流中更新任务状态
  3. 03提取仪表板或时间线数据用于报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill monday

安装后在 Claude Code 中输入/monday确认已加载。

详细介绍

monday

用途

此技能支持通过 Monday.com 的 API 管理看板、项目、列、自动化、集成、仪表板和时间线。可用于自动化项目管理任务、查询数据,或通过 API 与其他工具集成。

适用场景

  • 需要以编程方式创建或更新 Monday.com 看板和项目以跟踪项目进度时。
  • 自动化工作流时,例如根据看板变更触发操作,或与外部服务集成。
  • 需要从仪表板或时间线提取数据以用于报告或分析时。

主要功能

  • 对看板、项目和列执行创建、读取、更新和删除(CRUD)操作。
  • 通过 API 调用管理自动化和集成。
  • 访问和操作仪表板及时间线,以便进行可视化和日程安排。
  • 处理实时数据的 API 查询,包括筛选和分页。
  • 支持 Webhook,以响应项目创建或更新等事件。

使用模式

始终使用 $MONDAY_API_KEY 环境变量进行身份验证初始化。使用 Python 中的 requests 等 HTTP 客户端发送 API 请求。将调用组织为包含必需字段的 JSON 载荷。例如,使用 try-except 块封装 API 调用以处理错误。请查阅 Monday.com 的 API 文档了解速率限制阈值(例如,每分钟 100 个请求),并据此限制请求频率。常见模式:完成一次身份验证后,在同一会话中连续发起多个 API 调用。

常见命令/API

使用 Monday.com 的 REST API,基地址为 https://api.monday.com/v2。使用 Authorization: YOUR_API_KEY 设置 Authorization 标头。以下是查询看板的方法:

Endpoint: GET /v2/boards
代码片段:

import requests  
headers = {'Authorization': os.environ['MONDAY_API_KEY']}  
response = requests.get('https://api.monday.com/v2/boards', headers=headers)  
print(response.json())

要在看板上创建项目:
Endpoint: POST /v2/pulses
Payload: {"query": 'mutation { create_item (board_id: 123456, item_name: "New Task") { id } }'}
代码片段:

import requests  
headers = {'Authorization': os.environ['MONDAY_API_KEY'], 'Content-Type': 'application/json'}  
data = {"query": 'mutation { create_item (board_id: 123456, item_name: "New Task") { id } }'}  
response = requests.post('https://api.monday.com/v2', headers=headers, json=data)  
print(response.json()['data']['create_item']['id'])

要更新列:
Endpoint: POST /v2
Query: mutation { change_column_value (board_id: 123456, item_id: 654321, column_id: "status", value: ""Done"") { id } }
在查询中使用 board_id 和 item_id 等标志以指定目标。

集成说明

将 API 密钥存储在 $MONDAY_API_KEY 中以安全访问;切勿将其硬编码。通过设置 Webhook 与其他工具集成(例如,项目创建时向自定义端点发送 POST 请求)。如有需要,可使用 Monday.com 的 OAuth 流程,但对于大多数 CLI/API 用途,API 密钥已足够。配置格式:JSON 载荷,例如 {"query": "your_graphql_query"}。与 Zapier 等服务集成时,请参考 Monday.com 的 Webhook 事件(例如,"item_created")。如果要构建 Web 界面,请确保应用处理 CORS。

错误处理

检查响应状态码:200 表示成功,401 表示未授权(请验证 $MONDAY_API_KEY),429 表示超出速率限制(添加带指数退避的重试逻辑)。解析 JSON 错误以获取详细信息,例如,如果存在 "errors" 键,则记录类似 "Invalid board_id" 的消息。在代码中使用 try-except:

try:  
    response = requests.get(url, headers=headers)  
    response.raise_for_status()  
except requests.exceptions.HTTPError as err:  
    print(f"Error: {err.response.status_code} - {err.response.json()['errors']}")

通过在 API 调用前验证输入,处理 ID 无效等常见问题。

具体使用示例

  1. 创建新看板并添加项目: 首先,使用 $MONDAY_API_KEY 进行身份验证。使用 POST /v2 端点创建看板:mutation { create_board (board_name: "My Project") { id } }。然后添加项目:mutation { create_item (board_id: <new_board_id>, item_name: "Task 1") { id } }。这可以自动为新项目设置看板。
  2. 查询项目并更新列: 使用 GET /v2/boards/{board_id}/items 获取看板中的项目。使用 limit=50 等查询参数进行筛选。然后更新状态列:mutation { change_column_value (board_id: 123456, item_id: 654321, column_id: "status", value: "\"In Progress\"") }。适用于自动化中的每日状态更新。

图关系

  • 相关对象:boards(父级)、items(子级)、columns(属性)
  • 集成对象:automations(触发器)、integrations(外部链接)、dashboards(可视化)、timeline(排期)
  • 连接方式:通过 API 端点传输数据,通过 webhooks 实现事件驱动的交互

评论

支持 Markdown