使用Rest API从Azure Devops存储库获取文件

手指脉轮

我正在尝试使用以下代码从AzureDevops存储库中获取特定文件:

public static async void GetFile()
        {
            try
            {
                var personalaccesstoken = "XXXXXXXXX";

                using (HttpClient client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Add(
                        new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
                        Convert.ToBase64String(
                            System.Text.ASCIIEncoding.ASCII.GetBytes(
                                string.Format("{0}:{1}", "", personalaccesstoken))));

                    using (HttpResponseMessage response = client.GetAsync(
                                "https://dev.azure.com/MS-ADM/SAPBuild/_apis/git/repositories/SAPBuild/items?path=/TestResult&download=true&api-version=5.0").Result)
                    {
                        response.EnsureSuccessStatusCode();
                        string responseBody = await response.Content.ReadAsStringAsync();
                        Console.WriteLine(responseBody);
                        Console.ReadLine();
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }

但是我回来了以下json:

{
    "objectId": "08205d1ecfa86e4d8a2451fa189e68711398f126",
    "gitObjectType": "tree",
    "commitId": "xxxxxxxxxxxxxxxx",
    "path": "/TestResult",
    "isFolder": true,
    "url": "https://dev.azure.com/MS-ADM/xxxxxxxxxx/_apis/git/repositories/768454e2-4250-4d83-821b-7ac1c2707f5d/items?path=%2FTestResult&versionType=Branch&versionOptions=None",
    "_links": {
        "self": {
            "href": "https://dev.azure.com/MS-ADM/xxxxxxxx/_apis/git/repositories/768454e2-4250-4d83-821b-7ac1c2707f5d/items?path=%2FTestResult&versionType=Branch&versionOptions=None"
        },
        "repository": {
            "href": "https://dev.azure.com/MS-ADM/xxxxxxxxx/_apis/git/repositories/768454e2-4250-4d83-821b-7ac1c2707f5d"
        },
        "tree": {
            "href": "https://dev.azure.com/MS-ADM/xxxxxxx/_apis/git/repositories/768454e2-4250-4d83-821b-7ac1c2707f5d/trees/08205d1ecfa86e4d8a2451fa189e68711398f126"
        }
    }
}

要在TestResult文件夹中获取文件,我应该在URL中写些什么?

帕特里克·卢

您正在使用的API "https://dev.azure.com/MS-ADM/SAPBuild/_apis/git/repositories/SAPBuild/items?path=/TestResult&download=true&api-version=5.0

您应该指定该特定文件路径,而不是文件夹路径,例如 path=path=%2FTestResult/**Home.cshtml**

如您所见,使用文件夹路径,return json也显示"isFolder": true,

有关更多详细信息和powershell示例,请参考以下示例:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Azure DevOps REST Api从Git存储库下载分支中的文件?

使用 REST API 下载 Azure Devops 存储库的存档

Azure DevOps:如何使用REST API存储库在GIT存储库中创建文件夹

Azure Devops 使用存储库名称获取 repositoryId

如何使用 Azure DevOps REST API 创建父存储库的分支?

使用其REST API将Azure DevOps指标获取到Elatic搜索数据库中?

如何在 azure devops 管道中使用来自 azure devops 存储库的共享文件

如何使用 Python 为 Azure 文件存储使用获取文件属性 REST API

使用Azure DevOps REST Api如何获取分支的提交哈希?

使用Rest API获取Azure DevOps构建的构建结果

使用REST API获取与Azure Devops中的构建关联的更改

如何使用Azure devops Rest Api获取最新标签?

使用 Azure DevOps REST Api 如何获取默认分支?

Azure DevOps使用REST API调用GetItem

使用推入使用Python创建Api将文件上传/推入Azure Devops存储库时出现无效的Json错误

Azure DevOps REST API

使用 REST API (JAVA) 的 Microsoft Azure 文件存储的代码示例

无法使用Azure REST API删除Azure存储表

Azure DevOps REST API中断导入私有Git存储库

使用REST API获取Azure API管理SKU

Azure Devops REST API 删除

如何使用Azure DevOps Rest API使用Powershell获取版本状态(成功,失败)

使用 Rest API 在 Azure DevOps 中创建新用户

无法使用 Postman 从 Azure Devops rest API 下载附件

使用Azure Devops Rest API跳过阶段不起作用

使用REST API批准Azure DevOps中的Yaml管道部署

Azure DevOps REST api-使用变量运行管道

使用REST API设置Azure devops Release管道变量

使用 PKCE 的 Azure DevOps REST API 身份驗證