Я создал задачу построения на основе PowerShell для Visual Studio Team Services (ранее Visual Studio Online). Я реализовал большинство необходимых функций, но для последней части функциональности мне нужно иметь возможность сохранять небольшой объем данных между сборками.Может ли ExtensionDataService использоваться из задачи сборки VSTS на основе PowerShell?
ExtensionDataService кажется, именно то, что я хочу (в частности, SetValue и методы ПолучитьЗначение), но the documentation and examples I have found предназначены для Node.js на основе строительных задач:
VSS.getService(VSS.ServiceIds.ExtensionData).then(function(dataService) {
// Set a user-scoped preference
dataService.setValue("pref1", 12345, {scopeType: "User"}).then(function(value) {
console.log("User preference value is " + value);
});
предыдущая страница также имеет частичный пример от вызова API REST, но я получил 404 ошибки при попытке использовать его, чтобы сохранить или восстановить значение:
GET _apis/ExtensionManagement/InstalledExtensions/{publisherName}/{extensionName}/Data/Scopes/User/Me/Collections/%24settings/Documents
{
"id": "myKey",
"__etag": -1,
"value": "myValue"
}
Может PowerShell можно использовать для доступа к ExtensionDataService, либо с помощью библиотеки или позвонив по телефону REST API напрямую?
Как вы отправляете запрос REST? Через инструмент или код? Не могли бы вы установить значение методом call dataService.setValue в своем расширении? Если это так, вы можете захватить URL-адрес запроса через инструмент разработчика (https://msdn.microsoft.com/en-us/library/dn255004(v=vs.85).aspx) –
Я не могу назвать 'dataService.setValue 'из моего расширения, потому что я использую PowerShell, и инструмент разработчика не будет полезен прямо сейчас, потому что мое расширение - это просто задача сборки, которая не имеет каких-либо компонентов на основе браузера. Я дал URL-адрес запроса в ответ на один из ваших других комментариев. – Chris