在Electron / angularjs app中访问TFS和visualstudio在线REST Api

时间:2017-10-10 12:42:59

标签: angularjs tfs azure-devops electron

使用angularjs在Electron中与TFS和Visual Studio在线集成的最佳方式是什么?用户可以为服务器提供用户名,密码和URL,我想获得项目,任务,在州之间移动任务,创建新项目等等。

我有一个使用angularjs和电子的项目。我想从Microsoft Team Foundation服务器(在内部安装)和visual studio在线获取我的项目,任务等。我找到了关于基本auth和oAuth的文档来做这件事,但我想oAuth只适用于在线视觉工作室,而基本auth适用于两者,但不让我采用配置文件数据(用户的名字等)。

我看到微软的ac#lib具有完全访问权限,但是要在电子邮件中使用它我需要用c#或类似的东西编写一个web服务,如果我把我的应用程序作为一个独立的,那就更好了,直接使用tfs API。

2 个答案:

答案 0 :(得分:2)

VSTS也为Javascript提供客户端。

您可以在Github Repo

上找到它们

答案 1 :(得分:1)

更新

您可以使用一些不同的处理程序,包括NodeJS API中的Basic / NTML进行身份验证,例如:

export function getBasicHandler(username: string, password: string): VsoBaseInterfaces.IRequestHandler {
    return new basicm.BasicCredentialHandler(username, password);
}

export function getNtlmHandler(username: string, password: string, workstation?: string, domain?: string): VsoBaseInterfaces.IRequestHandler {
    return new ntlmm.NtlmCredentialHandler(username, password, workstation, domain);
}

更多详情请参阅此链接:vsts-node-api-webapi您只需创建一个登录页面来收集用户名/密码,然后将参数传递给处理程序。

能够访问Team Foundation Server(TFS)/ Visual Studio Team Services(VSTS)中的数据,大多使用两种方法。已知方法是使用NuGet包Microsoft.TeamFoundationServer.Client来执行此类任务。随着TFS 2015及以上/ VSTS的到来,Microsoft推出了可用于访问相同数据的 REST API

与TFS2017一样,On-Prem TFS还支持为所有用户创建个人访问令牌。使用 @Elmar 的javascript代码,您可以发出连接请求,从REST API编辑TFS工作项。详情请参阅此问题:TFS 2015 REST API Authentication

但是在TFS2015上,没有(个人访问令牌)。如果您正在使用此版本,则可以在页面中创建登录,并在cookie中存储用户名和密码。然后使用httpntlm执行此请求。请参阅此案例,他们与您有类似的问题:connecting to TFS using windows auth in electron app