我正在构建Azure DevOps管道扩展程序,并想使用数据存储功能
我正在使用打字稿进行开发和以下API:
- Azure-Devops-Extension-api
- Azure-Devops-Extension-SDK
我能够编写一个函数,并且它没有任何问题:
const extensionId = SDK.getExtensionContext().extensionId;
const accessToken = await SDK.getAccessToken();
const dataService = await SDK.getService<IExtensionDataService>(CommonServiceIds.ExtensionDataService);
const manager = await dataService.getExtensionDataManager(extensionId, accessToken);
const document = await manager.getDocument('MyCollection', 'MyDocument');
document.action = 'hello world - pipeline';
manager.updateDocument('MyCollection', document).then(function (doc) {
LoggingUtils.logMessage(`Doc version: ${doc.__etag}`);
});
问题是,在运行时我会遇到一个错误:未经处理:定义未定义
这个问题与模块有关,但我无法在这里出现问题。我试图将模块> tsconfig 中的参数更改为 commonjs , amd ,没有帮助。
最后,我找到了如何在管道扩展应用程序中使用数据存储的解决方案。
我创建了一个用法的存储库和示例:
https://github.com/parkhomenko/azure-build-task/blob/master/nodefiles/index.ts