用途 本技能用于把 Azure DevOps 工作项的 Discussion 留言统一以 Markdown 发布,统计并修复既有 HTML 格式留言,另附通用 Markdown 校正工具。仅在用户明确点名时执行,未被点名不自动套用。
主要能力 一、发布新留言:先写 comment.md 草稿(标题、表格、编号清单、项目清单等结构优先),用 markdown-fixer.mjs 校正后再通过脚本调用 Comments REST API 发布,指定 format=markdown。 二、修复既有 HTML 留言:用 pull 命令盘点指定作者或指定范围的留言,生成原文、草稿与 manifest.json;人工重整草稿后用 markdown-fixer 校正;先 --dry-run 预演,再写入;最后用 verify 抽查渲染结果(table/ol/ul/strong 等)。 三、Markdown 校正工具:零依赖 Node 脚本,支持 --check(默认不写文件)、--write(必须明确指定路径)、--rule/--ignore-rule、--json、--strict 等选项;规则分为可自动修正(如 BOM、行尾换行、标题空格、列表标记、表格分隔线)与仅报告(如结构、fence、链接、图片等问题)。
使用方式 设置 ADO_ORG 与 ADO_PROJECT 环境变量;草稿与 manifest 放临时目录,不进项目工作树。发布用 python3 -I $T post --id <workItemId> --file comment.md;盘点用 pull,预演用 apply --dry-run,写入用 apply,抽查用 verify。Markdown 校正先 --check,再 --write 明确文件,查看 diff 后重跑确认。
适用场景 需要向 ADO 工作项发布结构化留言、或批量把旧 HTML 留言改为 Markdown 的团队;以及需要对项目内 Markdown 文件做语法检查与机械校正的仓库。
限制 format 由留言字段决定,不是由内容决定;#12345 会渲染为工作项链接,裸网址不会自动变成链接;表格单元格内不能有未转义 |;同时改状态或指派需分两步。Done/Removed/Closed 项目默认不改。工具是行导向启发式检查器,非完整 CommonMark 解析器,跨行 inline、MDX/JSX、复杂 YAML 不完整解析;部分规则仅报告、不自动修正,blocking 规则即使被忽略也不会放行写入。