[TOC]

如何通过Gitlab的API接口获取远程仓库中的文件内容

描述: 在一些实际情况中,希望能够直接像读取本地文件一样读取远程仓库中的文件内容,避免git操作失败的情况下读取的本地缓存的文件内容。由于项目使用gitLab管理配置文件,查询了GitLabApi,其提供了诸多API接口,包括常见的git操作、项目管理以及我们需要的获取文件内容等接口。

GitLab获取仓库中文件内容的API文档(https://docs.gitlab.com/ee/api/repository_files.html#get-file-from-repository)

  • GitLab 获取仓库中文件内容
    1
    2
    3
    4
    5
    6
    7
    # 请求格式
    GET /projects/:id/repository/files/:file_path

    # 请求实例
    curl -s --header "PRIVATE-TOKEN: n_Ly9WZzpkQxStCe_r2H" "http://gitlab.weiyigeek.top/api/v4/projects/{id}/repository/files/Jenkins%2fbuild%2fmaven-settings.xml?ref=master" | jq .content | tr -d '"'

    curl -s --header "PRIVATE-TOKEN: n_Ly9WZzpkQxStCe_r2H" "http://gitlab.weiyigeek.top/api/v4/projects/75/repository/files/Jenkins%2fJenkinsDeployDoc.md?ref=master"

温馨提示: 在路径files/URL之后如遇到/需要要使用%2f编码格式进行替代,开始这此处卡了很久。