开发者文档 · 开放接口

上线与更新日志

部署完成后登记上线记录、生成更新日志并推送到项目群,查看项目更新日志页设置。

以下接口的完整地址都以 https://api.yqpj.com/app-api/project/open-api 开头,请求头带 X-Api-Key: <你的密钥>。只能操作你是创建者或已接受开发者的项目。

POST /releases/publish 登记一次已完成的部署

任何会话部署完都可以调用,不限值守会话。平台记下上线记录;正式环境会生成更新日志版本,并把更新内容与更新日志页链接推到项目的每个对接群。

所需权限:接入值守(AGENT_MANAGE)。对应命令:yqpj-agent publish <TEST|PRODUCTION> --sha <线上提交号> --at "<实测上线时间>" [--summary-file <文件>]

请求参数

字段类型必填说明
env枚举是环境:TEST / PRODUCTION
deployedSha文本是线上实际运行的完整 40 位提交号(小写十六进制)
deployedTime数字否实测上线时间,毫秒时间戳;取部署平台或激活记录的时间,不要估算。不传按收到请求的时间
releaseDir文本否版本目录 / 部署编号
evidence文本否验收证据摘要
summary文本否更新内容,「本次更新」固定格式文本;没传 notes 时按它拆成条目
headline文本否更新标题(一句话)
notes数组否结构化更新条目,见下表
ends数组否本次发布的端:BACKEND / H5 / ADMIN / APP / SITE / DEVOPS / OTHER
projectId / project数字 / 文本否项目编号,或项目名称 / 业务编号
repoRemote / branch / repoPath文本否没给项目时按「仓库 + 分支」或本机路径认项目;给了远端地址时平台会记住这个仓库对应的项目

更新条目 notes[]

字段类型必填说明
end枚举否端:BACKEND / H5 / ADMIN / APP / SITE / DEVOPS / OTHER
type枚举否FEATURE 新增 / IMPROVE 优化 / FIX 修复 / NOTICE 说明;不传按文字推断
title文本否功能点
content文本否说明

请求示例

{
  "project": "钱包服务",
  "env": "PRODUCTION",
  "deployedSha": "3f9c2a7e1b0d4c8f9a6e5d2c1b0a9f8e7d6c5b4a",
  "deployedTime": 1792656000000,
  "summary": "本次更新(正式环境,2026-10-22 14:40 上线)\n\n【H5】\n1. 提现记录:新增按状态筛选",
  "ends": ["H5"]
}

返回示例

{
  "code": 0,
  "data": {
    "id": 88,
    "duplicate": false,
    "pushes": [
      { "chatTitle": "钱包服务对接群", "channel": "TELEGRAM", "sent": true, "messageId": "1024" }
    ],
    "no": "#V88",
    "projectName": "钱包服务",
    "env": "PRODUCTION",
    "version": "1.4.0",
    "url": "https://yqpj.com/changelog/wallet"
  },
  "msg": ""
}

规则说明

  • 幂等:同一项目、环境、提交号重复登记时,返回已有记录(duplicate 为 true,pushes 为空),不会重复推群。
  • 测试与正式分开:两个环境分别记录;只有正式环境推送到对接群,测试环境不推群。
  • 提交号:必须是 40 位小写十六进制,否则报错。
  • 更新内容长度:summary 超过 20000 字、evidence 超过 990 字、releaseDir 超过 250 字的部分会被截断。
命令行的 --at 可写毫秒时间戳或「2026-10-22 14:40:00」,没给时按当前时间登记并提示;没给 --project 时按当前仓库自动找项目,找不到视为本仓库没绑定,提示后正常退出(加 --strict 则失败)。

GET /changelog 更新日志页设置

查看项目更新日志页的链接、公开范围和版本数。

所需权限:查看我的项目(PROJECT_READ)。对应命令:yqpj-agent changelog [项目]

请求参数(查询串)

字段类型必填说明
projectId数字否项目编号
project文本否项目名称或业务编号
repoRemote / branch / repoPath文本否没给项目时按「仓库 + 分支」或本机路径认项目

请求示例

GET /app-api/project/open-api/changelog?project=钱包服务

返回示例

{
  "code": 0,
  "data": {
    "projectId": 34,
    "slug": "wallet",
    "visibility": "LINK",
    "visibilityName": "凭链接访问",
    "url": "https://yqpj.com/changelog/wallet",
    "releaseCount": 12,
    "testReleaseCount": 30,
    "latestVersion": "1.4.0"
  },
  "msg": ""
}
  • visibility:PUBLIC 公开 / LINK 凭链接访问 / OFF 关闭;关闭时 url 为空。
  • releaseCount 是正式环境已上线版本数,testReleaseCount 是测试环境已部署版本数。
  • 项目还没有更新日志页时,调用本接口会自动创建一份默认设置。