【发布时间】:2019-09-09 09:46:25
【问题描述】:
我有一个使用包 azure-devops-node-api 的 nodejs api。我的 api 调用 azure-devops throw the package 使用 PAT 在每次调用时获取令牌。我在 azure devops 上发布版本,获取发布状态,...
它运行良好,但在某些请求下我得到了超时:
错误:连接 ETIMEDOUT 13.107.42.18:443
我重试相同的查询,我得到的信息没有任何超时。
有人有一个想法,根本原因,......如何解决这个问题。
提前致谢
这里是获取发布状态的调用示例。
首先我有一种方法可以根据路径获取连接令牌:
public async azureDevOpsConnectWebApi(): Promise<vm.WebApi> {
this._authentificationHandler = vm.getPersonalAccessTokenHandler(this.PAT);
let option = null;
// Force the non usage of proxy in local environment
if (InfraPortalConfig.ENVIRONMENT === InfraPortalConstant.LOCAL_ENVIRONMENT) {
option = {
allowRetries: true,
maxRetries: 20,
proxy: {
proxyUrl: '',
proxyUsername: '',
proxyPassword: '',
proxyBypassHosts: [
'visualstudio\.com',
'azure\.com'
],
},
ignoreSslError: true
};
}
this._vstsWebApiConnect = new vm.WebApi(this.AZURE_DEV_OPS_URL, this._authentificationHandler, option);
return this._vstsWebApiConnect;
}`
在本地,我在代理后面。所以我将属性设置为绕过visualstudio.com 和azure.com 的代理。
我还有另一种获取token并调用api获取release的方法:
public async getRelease(projectName: string, releaseDefinitionId: number): Promise<releaseInterface.Release> {
const _self = this;
try {
const vstsWebApiConnect: vm.WebApi = await AzureDevOpsHelper.getInstance().azureDevOpsConnectWebApi();
const releaseApiConnect: releaseApi.IReleaseApi = await vstsWebApiConnect.getReleaseApi();
const release: releaseInterface.Release = await releaseApiConnect.getRelease(projectName, releaseDefinitionId);
return release;
} catch (error) {
LogUtils.Instance.error(`** AzureDevOpsReleaseHelper - getRelease ${projectName} - ${releaseDefinitionId}: ${error}`);
throw error;
}
}
它工作了 10 次,但突然我超时了 2、5 次,没有任何改变它又可以工作了......
您能否提供一个直接调用 azure dev ops 以获取发布信息或排队发布的示例? 或者参考尺寸,我没有找到nodejs调用的任何东西。
非常感谢
【问题讨论】:
-
有这个问题,看起来有时node-API工作完美,有时无缘无故失败,我最终使用了更可靠的标准API。只是为了好奇,你能发布给你带来麻烦的代码吗?
-
感谢您的回复。我用代码示例编辑了我的第一篇文章。有直接调用api的例子吗? :)
-
是的..就像一个想法,同样的问题。我建议使用 API,如果您需要帮助,请联系我。
-
感谢您提供链接以获取 nodejs 中调用 azure devops api 的示例。我需要获得释放并排队。识别将通过 PAT 令牌完成。感谢您的支持
-
您想按名称获取版本并对其进行队列化吗?
标签: azure-devops azure-devops-rest-api