C# 列出所有带有Reactjs的Azure DevOps项目
我想用React列出从API调用返回的所有项目。我目前只有C代码,它获取用户有权访问的所有项目,并以JSON格式显示。在代码中硬编码personalaccesstoken,因为我不知道其他方法如何进行。现在,我希望列出使用React返回的所有项目,以便用户可以从下拉菜单中选择想要处理的项目 我对React没有什么经验,也从未将其用于RESTAPIC# 列出所有带有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 如果有人能回答上面的问题,我将非常感谢你对另一个问题的帮助。我还尝试在用户选择的项目中创建一个新的存储库,我希望他们能够使用输入字段指定此存储库的名称
如果有人能回答上面的问题,我将非常感谢你对另一个问题的帮助。我还尝试在用户选择的项目中创建一个新的存储库,我希望他们能够使用输入字段指定此存储库的名称。一旦用户指定了所需的存储库名称并从下拉菜单中选择了项目,他们应该能够点击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);
}
});
}