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

如何基于返回纯文本的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中使用徽章:

![Latest Version](http://your-middle-service/artifact-version-badge)

方案2:环境支持时用命令拼接参数

如果你的Markdown在支持执行Shell命令的环境中渲染(比如CI/CD流程、本地预览工具),可以直接通过命令获取版本号并拼接成徽章URL:

![Version](https://img.shields.io/badge/version-$(curl -s http://your-internal-artifactory/version-endpoint)-blue)

注意:静态文档(如Git仓库README)无法执行命令,此方案仅适用于动态渲染场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 00:53:19