You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Markdown中通过issue编号获取并展示对应issue标题

解决方案

Markdown语法相关说明

标准Markdown本身不支持通过issue编号自动拉取远程仓库issue标题的能力,这类功能都是代码托管平台基于自身生态扩展实现的:

  • 目前主流的GitHub、GitLab、Gitee等平台,都会自动识别内容中#123格式的issue引用,鼠标hover时会弹出浮层展示issue标题、状态等信息
  • 部分平台支持配置自动在issue编号旁直接显示标题,你可以查询对应平台的内部配置规则开启即可

工具实现方案

平台原生能力

  • GitHub自带Release生成工具,创建Release时可以选择自动关联该版本包含的PR和关闭的issue,直接输出「编号+标题」格式的列表,可直接作为发布说明使用
  • GitLab支持自定义发布说明模板,配置完成后会自动提取MR关联的所有issue的编号和标题,按预设格式生成内容,直接复制即可使用

自定义脚本方案

你也可以自己写轻量脚本快速实现需求,核心逻辑只有两步:

  1. 用正则匹配MR描述、commit信息中的#\d+格式字符串,提取所有关联的issue编号
  2. 调用对应代码托管平台的OpenAPI,传入issue编号查询对应标题,按发布说明的格式要求输出即可

以下是极简的Python实现参考:

import re
import requests

# 替换为你的MR描述文本或commit日志内容
source_content = "本次MR修复问题:#123 #124 #127"
# 提取所有issue编号
issue_ids = re.findall(r"#(\d+)", source_content)

# 以下为GitLab接口调用示例,GitHub/Gitee等平台替换为对应接口规则即可
API_DOMAIN = "你的代码托管平台域名"
API_TOKEN = "你的个人访问鉴权令牌"
PROJECT_ID = "你的项目唯一ID"

release_note = []
for issue_id in issue_ids:
    resp = requests.get(
        f"{API_DOMAIN}/api/v4/projects/{PROJECT_ID}/issues/{issue_id}",
        headers={"PRIVATE-TOKEN": API_TOKEN}
    )
    issue_title = resp.json()["title"]
    release_note.append(f"- #{issue_id} {issue_title}")

# 输出最终可直接使用的发布说明
print("\n".join(release_note))
  • 如果你的团队使用标准化的commit规范,也可以搭配commitlint自定义插件,在代码提交阶段就自动查询关联issue的标题写入commit body,后续提取发布说明时可以直接从commit日志中解析,无需重复调用接口

内容的提问来源于stack exchange,提问作者R4cOOn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:39:04