The following REST Url of GitLab API gives me the repository tree of a project.
Get Repo Tree (WORKS)
https://gitlab.gspt.net/api/v3/projects/2931/repository/tree?private_token=XXXX
Output:
[
{
"id": "a49d11794ed56db7f935abfd61002aef67159d10",
"name": "src",
"type": "tree",
"path": "src",
"mode": "040000"
},
{
"id": "0fbd98527d4b36e3d22c164293d8fd8eee4d18cd",
"name": ".gitignore",
"type": "blob",
"path": ".gitignore",
"mode": "100644"
},
{
"id": "0ef0da472176f2e6a24843ac9d4bb738c8310d23",
"name": "pom.xml",
"type": "blob",
"path": "pom.xml",
"mode": "100644"
}
]
But I am not able to get the raw content of a file, pom.xml to be precise.
Get Raw Content of a file (DOES NOT WORK - Gives 404)
https://gitlab.gspt.net/api/v3/projects/2931/repository/files/pom%2Exml/raw?private_token=xxxx&ref_name=master
Output:
{
"error": "404 Not Found"
}
As per the documentation here (https://docs.gitlab.com/ee/api/repository_files.html#get-raw-file-from-repository) I am specify the correct rest url. The only thing that's different however is the use of V4 instead of V3 in the rest api endpoint. I searched around but could not find the endpoint of v3 api.
https://gitlab.gspt.net/api/v3/projects/2931/repository/files?file_path=pom.xml&ref=master
. However, the content of the file is encoded. How to get the raw content ? – Frumpy