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