ct-释放-mcp
管理,读取"呼叫遥测"代理机和操作器的首发规划.
@calltelemetry/ct-release-mcp 暴露与stdio MCP工具相同的命令,
由ct-mcp组成,作为结构化的CLI:
get_release_stateget_stable_nightlyget_release_trainlist_versionsplan_releaseshow_planvalidate_planget_appliance_build
软件包不发送统一放出,无法创建标记,放出,
图像、捆绑或频道标记. plan_release 是一个突变命令 :
它只发送无副作用释放计划的工作流程。 候选人
身份只来自成功 calltelemetry/ct-release 释放计划
工作流程文物.
安装
在没有参数的情况下以 stdio MCP 服务器运行被绑定的软件包 :
{
"command": "npx",
"args": ["-y", "@calltelemetry/[email protected]"]
}
直接通过同一被绑定的软件包运行任何被规范的命令 :
npx -y @calltelemetry/[email protected] get_release_state \
--channel stable \
--line 0.8.7
npx -y @calltelemetry/[email protected] plan_release \
--target-branch 0.8.7-stable
使用 --input-json 以不翻译字段的方式传递 MCP 输入对象
名称 :
npx -y @calltelemetry/[email protected] list_versions \
--input-json '{"line":"0.8.7","limit":20,"includePrereleases":true}'
需要22号节点或更新.
软件包发布工作流程恢复
这个 docker.yml 工作流程仅用于推动 main注册后
但是,在任何版本图像推前,它检查 准确的软件包版本 git
标签和两个GHCR版本的图像别名(vX.Y.Z 财务报告和审定财务报表 X.Y.Z) (中文(简体) ). 现有
只有当两个别名共享一个文摘和两个平台时,才接受释放
图像将标记的承诺标明为源。 如果选中的话, 它会跳过
建立和npm调度。 向 git 标签的推力不会重建或覆盖该图像 .
该寄存器的图像构建被序列化,包括工作流程再运行.
在主推前使用 GitHub 扩展的通量队列, 从而承认
用于100个等待工作; 超额工作被取消,必须进行调查。 自兹
GitHub 不保证发送命令, 旧版本的构建不保证
移动 latest 何时 main 有不同的软件包版本.
如果 git 标签或任何一幅图像别名不存在完整的集,则
文摘或来源承诺不同,或任何查询失败,工作流程停止
在推出图像之前。 调查精确的标记、 图像和运行失败
在恢复前; 不根据已存在的图像重运行建构或
移动已存在的标签。 已经出版的软件包不应是
再次发表。 主持MCP的是云花板工人 ci.yml
从 main。 。 。 .
认证
服务器按此顺序解决 GitHub 认证 :
- 嵌入应用程序提供的明确标志
GH_TOKENGITHUB_TOKEN- 活跃
gh auth token
证书必须能够读取 被管理的呼叫遥测存储器,
发布记录,标签,工作流程运行,以及文物. plan_release 需求
允许发送 calltelemetry/ct-release 发布计划工作流程.
在工具结果或错误上下文中,托肯永远不会返回 .
用户和 PAT 证书与工作流程参与者相关
GET /user. GitHub App 安装符号不能称为端点,所以
服务器通过仅安装仓库验证安装身份
列入清单和要求访问 calltelemetry/ct-release然后生成
从符号认证的 GraphQL 中的应用机器人身份 viewer 并绑住
工作流程 actor 财务报告和审定财务报表 triggering_actor 登录、数据库ID和节点ID
那个身份 只有先入为出才能互相关联 可选设置
CT_RELEASE_GITHUB_APP_ACTOR 用于信任的 App 机器人登录(例如,
ct-pr-agent[bot])作为补充许可名单。 工作流程校正默认为
main 并可以配置为 CT_RELEASE_GITHUB_DEFAULT_BRANCH。 。 。 .
安装电源的发送仍与App的确切身份有关,
存储库、工作流程参考、目标分支非ce、先前运行的快照和定界
调度时间; 通用的403绝不被接受为安装身份.
目录来源
0.3.15 读取 scripts/release-storage.json 从发布存储器通过
已认证的 GitHub 客户端 。 每个操作都会解决其目录
URL 一次来自已配置的 Cloudflare R2 发布源(https://get.calltelemetry.com报告
同样的来源。 配置和获取失败在分支之前停止规划
快照或发送。 为下一个操作再次读取配置; a
失败的读取不会成为缓存源 .
配置读取范围为 16 KiB 。 提供方、 计划、 桶、 区域、, 终点和公共来源必须同意。 Catalog 获取界限,列车验证, 计划身份和共享的MCP/CLI指令登记册保留其现有 合同.
命令行为
MCP工具名和CLI子命令完全相同. CLI 战地旗帜使用 MCP
骆驼 Case 名称作为cononical 拼写,并接受克巴克语的别名,例如
--includePrereleases 或者说 --include-prereleases。布尔旗帜需要
明确 true 或者说 false;整数必须是安全的整数. --input-json
不能与战地旗帜结合。 只有适配器,没有价值 --pretty
旗帜可能出现在命令之后的任何地方,缩进JSON而不更改
MCP等同输入或结果.
get_release_state阅读公共电器目录、生命周期和 成份分类账, GitHub 发布,和组件标记. 目录和发布 记录是主要权威;组件标记是贴有标签的次要证据. 它暴露了被提升的频道提示(tip_marker ?? tip),可下载catalogDownloadTip后退旗 (单位:千美元)catalogTipFallback编号 :catalogTipMarkerDeployable页:1 头catalogVersionTip),以及 变种. 较新的候选人不是晋升权力机构,也不是漂泊。 A 类 受制裁的捆绑后退( e)tip_fallback: true, (中文(简体) ),tip_marker_deployable: false) 也不是漂移: 标记保持 释放密针时catalogDownloadTip命名旧的电器。 A 类 其生命周期分类账明确标记未公布的回报的最后通道channelStatus: "not_published"而不是虚假目录/所有者漂移。 中学 组件标签后缀返回到advisories· ;drift预留用于 权威分歧。 辅助证据是用GitHub的 释放行匹配- ref 端点而不是爬行每个组件标记 页 次 何时trains/<line>.yaml拥有stable-nightly, (中文(简体) ),get_release_state也包括表面stableNightly明确无资格 (单位:千美元)qualifiedForStable: false),同时保留catalogTip严格约束 被提升的主线权威(null何时channel实值stable-nightly) (中文(简体) ).get_stable_nightly(CLI别名:stable-nightly)读取选入channels/stable-nightly.jsonr2释放源的指针 256 KiB 绑定, 拒绝重复的 JSON 密钥和非整数, 验证 警犬 JSON SHA -256号admission_id执行qualified_for_stable: false财务报告和审定财务报表package_origin来源, 验证指针线拥有stable-nightly内trains/<line>.yaml,并评估readyForStablePromotion反对promotion_receipts.stable(单位:千美元)security财务报告和审定财务报表uat核查通道). HTTP 404 返回status: "uninitialized"而不是治疗未公布 夜间频道作为行动坠机.get_release_train返回单独版本的生命周期和组件 包含精确的Git SHA的构成文件.list_versions列表目录和ct-release一个发行行的版本, 包括有明确标签的身份保留草案,包括stable-nightly预释放记录qualified_for_stable: false当includePrereleases实值true在一条拥有的线上stable-nightly。 。 。 .plan_release只发送无副作用的释放计划工作流程, 然后迅速返回精确运行的ID和发送前的授权快照. 它还对所要求的稳定分支进行生命周期验证 组件显示,快照calltelemetry/cisco-cdr分支 SHA,并发送由此产生的四地释放目标而不添加 调频输入. 这一精确目标合同在下列年份成为强制性合同:calltelemetry/ct-release承诺579ff34720cf1a273201f12174b242ec926ebc39(PR 第1570号);v0.3.4在其信任的-publisher工作流程后被标记但未发布 身份被拒绝.@calltelemetry/[email protected]是第一个 出版了协调呼叫器版本,以及0.3.6增加严格验证 目标在目前的计划文物和发送投入中持续存在.0.3.7采用直接目录来读取包边规划;其GCS 默认在0.3.15。主机释放计划当局必须独立使用相同的程序 canonical source; 光是这个软件包更改并不能证明计划成功. 现有文物需携带候选R2release_bundle打开https://get.calltelemetry.com· ; 退休人员gcs_bundle文物不能对当前放行规划进行限定.0.3.12计划设计过渡阶段:合同版本1仍保留 只可读取它的遗产..train形状,而合同版本 2 需要被管理的顶层train. 确切的释放目标可能确定 cisco-cdr/Web 或 ct-quasar/Vue 分支最新快照; 选中的 寄存器的源代码 SHA必须匹配不可改变的快照.0.3.13支持旋转 GitHub App 安装符号而不削弱 工作流程运行关联或接受无关的 PAT 授权失败. 主机工作流程拒绝一个计划,如果该约束权限在之前更改 文物创作. 使用show_plan读取不可更改的 艺术品 没有公共频道的明显活跃、未公布的列车 可以计划首次发布 以无效目录提示。 这要求不 矛盾的目录 文物或公布的终局 并保存准确 编目、生命周期和组成快照;它从不借用另一行的 频道或创建公共标记.0.3.23增加合同版本4,用于认证的Quasar图像身份; 版本的Quasar标签需要准确的来源,制作工作流程,配方, 建设投入、平台、候选人和尝试投影。 遗产短 SHA 仍然支持快照,而合同版本3则保留给 分离0.8.6 固定相片形状.show_plan通过工作流程获取并验证成功的计划文物 身份证.get_appliance_build读取一个calltelemetry/ai-workspace由 id 运行的 Build OVA 应用程序,或最新运行,其标题包含版本,图像格式和关联 id. 它返回状态,当前步骤,失败步骤. 它不发送或出版.validate_plan重新读取当前权威, 但更改后的列车关闭失败 SHA, 无效候选人身份, 丢弃或更改发信针, 或已知 权力漂移。 对于仍然未公布的没有信道的列车,目前状态 报告channel: null, (中文(简体) ),channelOwner: null,以及channelStatus: "not_published"。 。 。 . 明确隐藏的信道( E)customer_visible: false) 无效晋升 标记可能在 v2 下验证一个更新的,不可再变换的草稿唯一的主线RC 或 v4计划合同. 有效寿命周期列车必须明确不公布,其latest_stable必须等同上一个决赛公布的同一行。 仅CATALOG_LEDGER_MISMATCH财务报告和审定财务报表CATALOG_RELEASE_MISMATCH匹配的条目 拥有者、 请求行、 无效标记和前最后上下文符合条件; 未知 可见度或不完整/相匹配的漂移上下文失败关闭 。 β升级 在计划和发送投入中都必须是虚假的,OVA的发送必须是 假的,没有允许的覆盖。 被接受的计划返回无阻DRAFT_RC_WITHOUT_STABLE_MARKER在其可选条目中advisories阵列; 被拒绝的计划省略它, 而当前状态保留了缺失标记漂移 . 此例外从未授权最终的,别名, OVA 调度,自动 晋升,或任何其他当局的不同意见.
命名的变种RC, 如 0.8.7-i18n-rc17 保持与正常分离
频道版本. 它们按其数字RC后缀排序,从未满足
普通频道所有权检查。 常规 <line>-stable 规划总是有束缚
至主线频道,即使变量预览是唯一可看见的客户
那条线上的频道.
plan_release 返回精确运行关联,而不是等待
主机工作流程,将其保留在普通MCP请求的最后期限之内. 虽然
运行已排队或活动, show_plan 返回可重试 PLAN_RUN_PENDING页:1
工作流程返回失败 PLAN_RUN_FAILED 及其运行的 URL.
该计划保留了生产者的准备状态候选人和OCI指数/amd64/arm64 证明收据中的文摘。 冻结计划需要完整的文摘集 与准备就绪的候选人有关;遗留的0.8.6固定备用计划可能带去无效的文摘和 一个空位候选人。 遗漏这些地段的历史文物仍可读取. 错误或部分约束和未识别字段仍然是错误.
所有 MCP 和 CLI 命令错误使用结构化
{ error: { code, message, retryable, context } } 形状。 CLI 命令结果和
错误是默认情况下在stdout上的一行JSON,或者缩进的JSON与
--pretty。帮助和版本是纯文本。 CLI 退出
代码是 0 为成功的命令, 2 用于 CLI 用途或输入-schema
错误,以及 1 对于操作失败。 一个成功的 validate_plan 电话可以
仍然返回 valid: false;这是权威时的规范结果
消息来源不同意.
使用 release-control dispatch --plan-run <run-id> 仅在 show_plan 财务报告和审定财务报表
validate_plan 成功 。 那个单独的调度员拥有统一发布系统 这个
软件包在权威的规划和验证中故意停止.
CLI 参考
ct-release-mcp get_release_state --channel <channel> --line <line>
ct-release-mcp get_stable_nightly [--line <line>]
ct-release-mcp stable-nightly [--line <line>]
ct-release-mcp get_release_train --line <line>
ct-release-mcp list_versions --line <line> [--limit <n>] [--includePrereleases true|false]
ct-release-mcp plan_release --targetBranch <branch> [--version <candidate>]
ct-release-mcp show_plan --planRunId <run-id>
ct-release-mcp validate_plan --planRunId <run-id>
ct-release-mcp get_appliance_build [--runId <run-id>] [--version <version>] [--correlationId <id>] [--imageFormat qcow2|ova]
运行 ct-release-mcp --help 或者说 ct-release-mcp <command> --help 现场直播
从共享命令登记册生成的引用.
发展
npm ci
npm run validate