版本记录详情¶
GET /api/v1/pipeline_history/{pipeline_history_uuid}/get
概述¶
返回选中历史配置及beforePipelineHistoryInfo,调用方使用两份快照计算差异。
路由参数¶
| 参数名 | 类型 | 必选 | 说明 |
|---|---|---|---|
| pipeline_history_uuid | string | Y | 历史列表 historyRecord[].uuid 返回的历史 UUID,不是 Pipeline UUID 或数字 id。 |
参数补充说明¶
读取指定历史版本的完整配置及紧邻的更早版本,供调用方计算差异;该接口不修改 Pipeline,也不执行脚本。
调用与返回¶
先从历史列表 historyRecord[].uuid 取得 pipeline_history_uuid,而不是使用 Pipeline UUID、历史数字 id 或版本号。
content 是选中的历史记录,content.config 为其完整配置;content.beforePipelineHistoryInfo 是同一 Pipeline 版本号更小且最近的一条可用历史记录,无可用前一版本时返回 {}。历史清理后不保证所有中间版本连续存在。此接口不直接返回文本 diff,也不支持传入任意两个版本号;需要任意两版本比对时,分别读取两个历史 UUID 的 config 后自行比较。
使用前提¶
使用所属工作空间的 DF-API-KEY 调用 OpenAPI 服务。查询需要读取权限;恢复和克隆需要 Pipeline 管理及写入权限。接口不支持通过请求体指定其他工作空间或操作人。示例中的 Endpoint、资源 UUID 和 API-Key 均为占位符,请替换后调用,不要在日志中输出 API Key。
响应示例使用虚构资源,展示典型业务字段;实际响应可能包含普通 Pipeline 接口的其他字段。调用方应兼容新增字段。
版本字段¶
| 字段 | 含义 |
|---|---|
| configVersion | 配置版本号,新建资源从 1 开始;启用、禁用不推进此版本 |
| configVersionAt | 此配置版本生成时间,Unix 秒级时间戳,不是毫秒 |
| configVersionOperator / configVersionOperatorInfo | 操作人标识及展示信息;无法解析展示信息时可能为空对象 |
| configVersionSource / configVersionAction | 版本来源及动作,例如 openapi/modify、history/history_restore |
| configVersionSourceInfo | 来源补充信息;历史操作含 pipelineHistoryUUID、pipelineUUID、configVersion |
| createAt | 历史快照归档时间,可能晚于 configVersionAt;历史列表保留窗口按此字段计算 |
历史 config.content 和 config.testData 为 Base64 编码字符串。调用方先 Base64 解码,再按 UTF-8 读取;testData 是测试样例,不会因读取或恢复接口自动执行。不要把 configVersionSourceInfo 中的来源版本号当成当前版本号。
异常处理¶
历史记录被清理、所属 Pipeline 被删除或不属于当前工作空间时,返回资源不可访问错误。不要依赖列表保留窗口之外的历史 UUID 长期可用。
请求例子¶
curl 'https://openapi.guance.com/api/v1/pipeline_history/<pipeline_history_uuid>/get' -H 'DF-API-KEY: <API-Key>'
响应¶
{
"code": 200,
"content": {
"id": 101,
"uuid": "plh_example",
"pipelineUUID": "pl_example",
"configVersion": 2,
"configVersionAt": 1788800000,
"configVersionOperator": "acnt_example",
"configVersionOperatorInfo": {},
"configVersionSource": "openapi",
"configVersionAction": "modify",
"configVersionSourceInfo": {},
"createAt": 1788800100,
"config": {
"name": "demo",
"type": "local",
"category": "logging",
"source": [
"nginx"
],
"content": "YWRkX2tleShjaXR5LCAic2hhbmdoYWkiKQ==",
"testData": "W10=",
"dataType": "line_protocol",
"asDefault": 0,
"enableByLogBackup": 0,
"extend": {}
},
"beforePipelineHistoryInfo": {}
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE_EXAMPLE"
}