返回顶部
d

dingtalk-teambition钉钉团队任务

Use for anything related to Teambition tasks and projects. Triggers on: checking my todos, what tasks are due today or this week, create a task, update task status or priority or assignee or note, mark task as done, query overdue tasks, search tasks by keyword, view task details, upload file to task, check team members, query project list, add task comment with @mention, track task progress. NOT for: non-Teambition platforms or Git operations.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.0.1
安全检测
已通过
190
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

dingtalk-teambition

适用场景

适合使用本技能:

  • - 查询我的待办任务、今天/本周到期的任务、逾期任务
  • 创建、更新、归档任务
  • 更新任务状态、优先级、执行人、备注
  • 管理任务进展、评论(支持 @提及)、动态
  • 上传文件到任务
  • 查询项目列表、项目详情
  • 查询企业成员
  • 管理迭代(创建/开始/完成)

不适用场景:

  • - 操作非 Teambition 平台(Jira、Asana 等)
  • Git 操作或代码管理 → 直接使用 git
  • 管理脚本未覆盖的 Teambition 组织/管理员设置



环境准备


获取 User Token:Teambition 开放平台


bash

方式 1:环境变量


export TEAMBITIONUSERTOKEN=your_token

方式 2:在 dingtalk-teambition/ 目录下创建 user-token.json

{userToken: your_token}

cd dingtalk-teambition && uv sync



核心规则

  1. 1. me():TQL 中查询我的任务/项目,必须用 executorId = me(),禁止硬编码用户 ID
  2. 时区:createtask.py / updatetask.py / manage_sprint.py 已内置东八区→UTC 转换,直接传本地时间即可;不要手动传 UTC 时间(会被再次转换导致偏差)。转换逻辑参考:
python from datetime import datetime, timedelta user_date = 2026-03-15 dt = datetime.strptime(user_date, %Y-%m-%d) - timedelta(hours=8) iso_date = dt.strftime(%Y-%m-%dT%H:%M:%S.000Z) # 结果:2026-03-14T16:00:00.000Z
  1. 3. ID→名称:API 返回的各类 ID 字段均为原始 ID 字符串,展示给用户前必须转换为可读名称,禁止直接展示原始 ID
- 需要转换的常见 ID 字段: | 字段 | 含义 | 转换方式 | |------|------|---------| | executorId | 执行人 | query_members.py --user-ids 批量查询 | | creatorId | 创建人 | query_members.py --user-ids 批量查询 | | involveMembers | 参与人列表 | query_members.py --user-ids 批量查询 | | sprintId | 所属迭代 | queryprojectdetail.py 获取迭代列表后匹配 | | stageId | 所属任务列 | 任务详情中通常包含 stageName,否则需查项目工作流 | | projectId | 所属项目 | 项目名通常已在上下文中,或用 queryprojectdetail.py 查询 | | parentTaskId | 父任务 | querytaskdetail.py 获取父任务标题 | - 展示任务列表/详情时的必要步骤: 1. 收集所有任务中出现的各类 ID(去重) 2. 批量查询对应的名称(人员用 query_members.py,项目/迭代/任务用各自的查询脚本) 3. 将 ID 替换为名称后再向用户展示 - 如果无法确定某个 ID 对应的名称,可展示为未知或保留该字段不展示,不要直接展示原始 ID bash # 按姓名搜索成员,获取 userId uv run scripts/query_members.py --keyword 张三 # 返回结果中匹配 userId,确认后用于展示或操作

# 批量按用户ID查询成员(推荐用于ID转换)
uv run scripts/query_members.py --user-ids id1,id2,id3

  1. 4. 优先级:数值含义为 0=紧急 1=高 2=中 3=低,但企业通常会自定义优先级名称,脚本输出的 priorityLabel 仅为系统默认值,不代表该企业的真实配置。
- 展示优先级名称前必须先查询企业配置,查询链路: 1. 从任务详情获取 projectId 2. uv run scripts/queryprojectdetail.py --extra-fields organizationId 获取 organizationId 3. uv run scripts/getprioritylist.py 获取企业真实优先级列表 - 返回结果中每条优先级包含 priority(数值)和 name(企业自定义名称),以此覆盖默认 label 后再展示 - 更新优先级前同样需要先查询,将用户描述的优先级名称与企业配置匹配后,再用对应的 priority 数值调用更新接口
  1. 5. 归档 vs 删除:归档任务会移入回收站,不在正常列表显示,可通过 --restore 恢复;归档不等于删除
  2. 动态 vs 进展:动态(activity)是系统自动记录的操作历史(状态变更、字段修改等);进展(trace)是用户手动填写的阶段性状态更新
  3. 迭代操作顺序:先用 --action create --project-id --name <名> 创建迭代获取 sprint-id,再用 --action start --project-id --sprint-id 开始,完成后用 --action complete --project-id --sprint-id ;start/complete 都需要同时传 --project-id 和 --sprint-id
  4. 状态查询优先:更新任务状态时,优先使用 gettaskstatuses.py 直接查询该任务的工作流状态列表,无需先获取 projectId;只有创建任务需要初始状态时才用 gettaskflowstatuses.py
  5. 按需读文档:TQL 语法 → references/tql.md;进展/评论/动态/归档 → references/task-ops.md;错误处理 → references/error-handling.md
  6. 文件上传流程:先用 uploadfile.py 上传文件获取 fileToken,再用 createcomment.py --file-tokens 将文件附加到评论;两步均走脚本,无需直接调 API
  7. ID 链接渲染:当回复中涉及任务 ID 或项目 ID 时,必须将其渲染为可点击的链接,格式如下:
- 任务链接:https://www.teambition.com/task/{taskId} - 项目链接:https://www.teambition.com/project/{projectId}
  1. 12. 任务的 content = 标题:API 返回的 content 字段就是任务的标题,向用户展示时统一使用标题而非内容,避免混淆;createtask.py 和 updatetask.py 都统一使用 --title 参数
  2. 空字段隐藏:展示任务或项目信息时,值为空、null、0、false 或空数组的字段应当隐藏,不向用户展示,只展示有实际值的字段。例如:
- 进度为 0 → 不展示进度 - 截止时间为 null → 不展示截止时间 - 备注为空字符串 → 不展示备注 - 迭代为 null → 不展示迭代 - 标签为空数组 → 不展示标签 - 此规则适用于所有可选字段,保持信息展示简洁
  1. 14. 自定义字段更新格式:使用 --customfields 更新任务自定义字段时,不同类型有不同格式:
bash # 日期类型(date):value 是数组,包含带 title 的对象,日期格式为 ISO 8601 uv run scripts/update_task.py --task-id xxx \ --customfields [{customfieldId: 字段ID, value: [{title: 2026-03-16T00:00:00.000Z}]}] # 文本类型(text):value 是数组,包含带 title 的对象 uv run scripts/update_task.py --task-id xxx \ --customfields [{customfieldId: 字段ID, value: [{title: 文本内容}]}] # 单选类型(select):value 是数组,包含带 id 的选项对象 uv run scripts/update_task.py --task-id xxx \ --customfields [{customfieldId: 字段ID, value: [{id: 选项ID}]}]
  1. 15. 文件类型自定义字段上传:使用 uploadfileto_customfield.py 一站式上传文件到自定义字段:
bash uv run scripts/uploadfileto_customfield.py \ --task-id \

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 dingtalk-teambition-project-1776193266 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 dingtalk-teambition-project-1776193266 技能

通过命令行安装

skillhub install dingtalk-teambition-project-1776193266

下载

⬇ 下载 dingtalk-teambition v0.0.1(免费)

文件大小: 57.77 KB | 发布时间: 2026-4-17 14:39

v0.0.1 最新 2026-4-17 14:39
Initial release of dingtalk-teambition-project skill.

- Provides tools for managing Teambition tasks and projects: querying, creating, updating, commenting, uploading files, project and member lookup, and sprint management.
- Triggers for common scenario prompts: "check my todos," "what tasks are due today/this week," "create or update task," etc.
- Includes strict display and naming conventions: all IDs must be resolved to human-readable names before showing to users; task titles shown instead of content for clarity.
- Handles special cases for enterprise-specific configuration, time zone conversion, file attachments, and requires confirmation for destructive operations like archive/delete.
- Offers concise scripts reference and operation rules for working efficiently with Teambition APIs through this skill.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部