【发布时间】:2021-04-02 00:06:03
【问题描述】:
我正在尝试使用 TFS 2018 的 REST API 在 cURL 的帮助下在我们的服务器上安装扩展。这个过程必须每天重复,这就是为什么我想使用带有 cURL 的命令来运行它。
到目前为止,我想出了如何使用以下命令获取服务器上所有已安装扩展的列表。这告诉我连接和身份验证运行良好。
curl -u {username}:{PAT} -d "" -X GET http://{instance}/{collection}/_apis/extensionmanagement/installedextensions?api-version=4.1-preview.1
要安装扩展,我从 microsoft doc 中阅读了此信息:https://docs.microsoft.com/en-us/rest/api/azure/devops/extensionmanagement/installed%20extensions/install%20extension%20by%20name?view=vsts-rest-tfs-4.1
我尝试制定一个命令来安装我在这里找到的扩展:https://marketplace.visualstudio.com/items?itemName=benjhuser.tfs-extensions-build-tasks。
命令是:
curl -u {username}:{PAT} -H "Content-Type: application/json" -X POST http://{instance}/{collection}/_apis/extensionmanagement/installedextensionsbyname/benjhuser/tfs-extensions-build-tasks/3.0.14?api-version=4.1-preview.1
我认为扩展的发布者、id 和版本应该是正确的,因为我从这个发布文档中获取它们:https://github.com/huserben/TfsExtensions/blob/master/BuildTasks/vss-extension.json。
响应说扩展程序不存在。这令人困惑。有人可以给我一些提示,问题可能是什么?提前谢谢你。
{
"$id": "1",
"innerException": null,
"message": "The requested extension 'benjhuser.tfs-extensions-build-tasks' doesn't exist.",
"typeName": "Microsoft.VisualStudio.Services.Gallery.WebApi.ExtensionDoesNotExistException, Microsoft.VisualStudio.Services.Gallery.WebApi",
"typeKey": "ExtensionDoesNotExistException",
"errorCode": 0,
"eventId": 3000
}
【问题讨论】:
-
您好朋友,下面的答案是否解决了您的问题?如果我的回复有帮助或给出了正确的方向。感谢marking it as an answer,这也将帮助社区中的其他人。
-
@WalterQian-MSFT 我在没有指定版本的情况下尝试了该命令,但它仍然返回相同的错误。
-
请尝试在命令中使用 installedextensionsbyname 而不是 installedextensions。另请检查我的答案中的结果截图。
-
你好朋友,安装扩展前请先使用另一个GET API。我更新了我的答案。如果您有任何困惑,请随时与我联系。
标签: curl tfs azure-devops azure-devops-rest-api azure-devops-extensions