C# 列出所有带有Reactjs的Azure DevOps项目

C# 列出所有带有Reactjs的Azure DevOps项目,c#,reactjs,asp.net-core,asp.net-core-webapi,azure-devops-rest-api,C#,Reactjs,Asp.net Core,Asp.net Core Webapi,Azure Devops Rest Api,我想用React列出从API调用返回的所有项目。我目前只有C代码,它获取用户有权访问的所有项目,并以JSON格式显示。在代码中硬编码personalaccesstoken,因为我不知道其他方法如何进行。现在,我希望列出使用React返回的所有项目,以便用户可以从下拉菜单中选择想要处理的项目 我对React没有什么经验,也从未将其用于RESTAPI 如果有人能回答上面的问题,我将非常感谢你对另一个问题的帮助。我还尝试在用户选择的项目中创建一个新的存储库,我希望他们能够使用输入字段指定此存储库的名称

我想用React列出从API调用返回的所有项目。我目前只有C代码,它获取用户有权访问的所有项目,并以JSON格式显示。在代码中硬编码personalaccesstoken,因为我不知道其他方法如何进行。现在,我希望列出使用React返回的所有项目,以便用户可以从下拉菜单中选择想要处理的项目

我对React没有什么经验,也从未将其用于RESTAPI


如果有人能回答上面的问题,我将非常感谢你对另一个问题的帮助。我还尝试在用户选择的项目中创建一个新的存储库,我希望他们能够使用输入字段指定此存储库的名称。一旦用户指定了所需的存储库名称并从下拉菜单中选择了项目,他们应该能够点击Submit以启动对REST API的POST请求并在项目中创建新的存储库。这也将通过React完成

您可能需要检查以下代码repos:。我们已经在该回购协议中提供了示例代码

:


您可以继续查看此页面,它显示了许多示例,包括创建项目。

谢谢您的链接。然而,我在理解代码和它的功能方面遇到了问题。。。想解释一下吗?@ZEKE,有一件事需要确认,我上面分享的零件代码有问题吗?或者困惑于不知道如何阅读完整的示例github代码的链接?我实际上对这两个tbh都感到困惑,试图理解代码。我看到这些链接包含了Azure DevOps的更多操作,但我不太了解它们是如何工作的,以及如何将其与我自己的代码集成。@ZEKE您是否查看过此入门指南?我将不得不在另一个项目中试用。我没有意识到有必要下载整个图书馆。我希望通过代码可以更容易地理解解决方案。无论如何,我都会检查一下,如果我有任何进一步的问题,我会告诉你。现在谢谢你!
public async getProjects(
        stateFilter?: any,
        top?: number,
        skip?: number,
        continuationToken?: string,
        getDefaultTeamImageUrl?: boolean
        ): Promise<CoreInterfaces.TeamProjectReference[]> {

        return new Promise<CoreInterfaces.TeamProjectReference[]>(async (resolve, reject) => {
            let routeValues: any = {
            };

            let queryValues: any = {
                stateFilter: stateFilter,
                '$top': top,
                '$skip': skip,
                continuationToken: continuationToken,
                getDefaultTeamImageUrl: getDefaultTeamImageUrl,
            };

            try {
                let verData: vsom.ClientVersioningData = await this.vsoClient.getVersioningData(
                    "6.0-preview.4",
                    "core",
                    "603fe2ac-9723-48b9-88ad-09305aa6c6e1",
                    routeValues,
                    queryValues);

                let url: string = verData.requestUrl!;
                let options: restm.IRequestOptions = this.createRequestOptions('application/json', 
                                                                                verData.apiVersion);

                let res: restm.IRestResponse<CoreInterfaces.TeamProjectReference[]>;
                res = await this.rest.get<CoreInterfaces.TeamProjectReference[]>(url, options);

                let ret = this.formatResponse(res.result,
                                              CoreInterfaces.TypeInfo.TeamProjectReference,
                                              true);

                resolve(ret);

            }
            catch (err) {
                reject(err);
            }
        });
    }