This commit is contained in:
@@ -75,7 +75,7 @@ def build_markdown_notification(
|
||||
"""
|
||||
parts: List[str] = []
|
||||
|
||||
# 分组:路径变更、参数变更、新增、删除
|
||||
# 所有 API 级变更(新增、修改路径、删除、参数变更)统一走 model1.md 路径变更通知
|
||||
renamed_reports = [r for r in reports if r.is_renamed_endpoint]
|
||||
new_reports = [r for r in reports if r.is_new_endpoint]
|
||||
changed_reports = [
|
||||
@@ -84,13 +84,24 @@ def build_markdown_notification(
|
||||
]
|
||||
removed_reports = [r for r in reports if r.is_removed_endpoint]
|
||||
|
||||
# 路径变更优先使用 model1.md 模板
|
||||
for report in renamed_reports:
|
||||
old_uri = report.old_uri or "-"
|
||||
new_uri = report.uri or "已删除"
|
||||
# 1. 新增接口 → 走 API路径变更通知
|
||||
for report in new_reports:
|
||||
path_md = build_path_change_markdown(
|
||||
old_uri=old_uri,
|
||||
new_uri=new_uri,
|
||||
old_uri="-",
|
||||
new_uri=report.uri,
|
||||
change_type="新增接口",
|
||||
push_user=push_user,
|
||||
push_time=push_time,
|
||||
file_name=report.source_file or report.controller_class,
|
||||
)
|
||||
parts.append(path_md)
|
||||
parts.append("")
|
||||
|
||||
# 2. 修改路径 → 走 API路径变更通知
|
||||
for report in renamed_reports:
|
||||
path_md = build_path_change_markdown(
|
||||
old_uri=report.old_uri or "-",
|
||||
new_uri=report.uri,
|
||||
change_type="修改路径",
|
||||
push_user=push_user,
|
||||
push_time=push_time,
|
||||
@@ -99,27 +110,30 @@ def build_markdown_notification(
|
||||
parts.append(path_md)
|
||||
parts.append("")
|
||||
|
||||
if new_reports or changed_reports or removed_reports:
|
||||
parts.extend([
|
||||
"# API参数变更通知",
|
||||
f"- **变更类型:** 修改参数",
|
||||
f"- **修改人:** {push_user}",
|
||||
f"- **修改时间:** {push_time}",
|
||||
"",
|
||||
])
|
||||
|
||||
for report in new_reports:
|
||||
parts.append(_format_endpoint_block(report))
|
||||
parts.append("")
|
||||
|
||||
for report in changed_reports:
|
||||
parts.append(_format_endpoint_block(report))
|
||||
parts.append("")
|
||||
|
||||
# 3. 删除接口 → 走 API路径变更通知
|
||||
for report in removed_reports:
|
||||
parts.append(_format_endpoint_block(report))
|
||||
path_md = build_path_change_markdown(
|
||||
old_uri=report.uri,
|
||||
new_uri="已删除",
|
||||
change_type="删除接口",
|
||||
push_user=push_user,
|
||||
push_time=push_time,
|
||||
file_name=report.source_file or report.controller_class,
|
||||
)
|
||||
parts.append(path_md)
|
||||
parts.append("")
|
||||
|
||||
# 4. 普通参数变更(非路径变更)仍使用原有格式
|
||||
if changed_reports:
|
||||
parts.append("# API参数变更通知")
|
||||
parts.append(f"- **变更类型:** 修改参数")
|
||||
parts.append(f"- **修改人:** {push_user}")
|
||||
parts.append(f"- **修改时间:** {push_time}")
|
||||
parts.append("")
|
||||
for report in changed_reports:
|
||||
parts.append(_format_endpoint_block(report))
|
||||
parts.append("")
|
||||
|
||||
if llm_summary:
|
||||
cleaned = llm_summary.strip()
|
||||
# 去掉 LLM 可能输出的「排除框架注入」类说明
|
||||
@@ -247,29 +261,42 @@ def build_path_change_markdown(
|
||||
push_time: str,
|
||||
file_name: str,
|
||||
) -> str:
|
||||
"""构建 API路径变更通知,匹配 model1.md 模板,并加强高亮。"""
|
||||
old_display = f"<font color=\"warning\">~~`{old_uri}`~~</font>" if old_uri else "-"
|
||||
new_display = f"<font color=\"info\">**`{new_uri}`**</font>" if new_uri else "<font color=\"comment\">已删除</font>"
|
||||
"""构建 API路径变更通知,匹配 model1.md 模板,并加强高亮。
|
||||
|
||||
支持的 change_type:
|
||||
- 新增接口:原路径显示 "-",新路径高亮显示
|
||||
- 修改路径:原路径删除线,新路径高亮
|
||||
- 删除接口:原路径高亮,新路径显示 "已删除"
|
||||
"""
|
||||
if change_type == "新增接口":
|
||||
old_display = "-"
|
||||
new_display = f"<font color=\"info\">**`{new_uri}`**</font>"
|
||||
elif change_type == "删除接口":
|
||||
old_display = f"<font color=\"warning\">**`{old_uri}`**</font>"
|
||||
new_display = "<font color=\"comment\">已删除</font>"
|
||||
else: # 修改路径
|
||||
old_display = f"<font color=\"warning\">~~`{old_uri}`~~</font>" if old_uri else "-"
|
||||
new_display = f"<font color=\"info\">**`{new_uri}`**</font>" if new_uri else "<font color=\"comment\">已删除</font>"
|
||||
|
||||
parts = [
|
||||
"# 【API路径变更通知】",
|
||||
"# API路径变更通知",
|
||||
f"- **变更类型:** <font color=\"warning\">**{change_type}**</font>",
|
||||
f"- **修改人:** {push_user}",
|
||||
f"- **修改时间:** {push_time}",
|
||||
f"- **全路径类名:** <font color=\"info\">**{file_name}**</font>",
|
||||
"",
|
||||
"---------------",
|
||||
"---",
|
||||
"",
|
||||
"## URI变更详情",
|
||||
"",
|
||||
"---------------",
|
||||
"---",
|
||||
"",
|
||||
"| 项目 | 路径 |",
|
||||
"|------|------|",
|
||||
f"| 原路径 | {old_display} |",
|
||||
f"| 新路径 | {new_display} |",
|
||||
"",
|
||||
"---------------",
|
||||
"---",
|
||||
]
|
||||
return "\n".join(parts).strip()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user