如何基于返回纯文本的Artifactory接口生成Markdown版本徽章?
纯文本版本接口生成Markdown徽章的可行方案
方案1:搭建轻量中间转换服务
由于端点徽章要求接口返回特定结构的JSON(如{"schemaVersion":1,"label":"version","message":"x.y.z","color":"blue"}),而你的Artifactory接口仅返回纯文本版本号,最通用的解决办法是搭建一个中间服务做格式转换:
- 步骤1:中间服务调用内部Artifactory接口,获取纯文本版本号
- 步骤2:将版本号包装成徽章所需的JSON结构返回
- 步骤3:在Markdown中引用该中间服务的地址作为徽章数据源
以下是Python Flask实现的极简示例:
from flask import Flask import requests app = Flask(__name__) @app.route('/artifact-version-badge') def generate_badge(): # 替换为你的Artifactory版本查询接口 artifactory_url = "http://your-internal-artifactory/version-endpoint" version = requests.get(artifactory_url).text.strip() # 返回符合徽章规范的JSON return { "schemaVersion": 1, "label": "version", "message": version, "color": "brightgreen" # 可根据需求自定义颜色 } if __name__ == '__main__': app.run(host='0.0.0.0', port=8080)
之后在Markdown中使用徽章:

方案2:环境支持时用命令拼接参数
如果你的Markdown在支持执行Shell命令的环境中渲染(比如CI/CD流程、本地预览工具),可以直接通过命令获取版本号并拼接成徽章URL:
-blue)
注意:静态文档(如Git仓库README)无法执行命令,此方案仅适用于动态渲染场景。
内容的提问来源于stack exchange,提问作者Christopher Dancy
相关产品推荐
相关产品推荐

