Out with the old, in with the new! With the rename of Visual Studio Team Services Build and Release Management to Azure DevOps Pipelines all of the underlying libraries are being renamed too.
In order to stay up to date and receive the latest updates you'll need to make a few small changes to your existing build tasks:
Update your vss-extension.json
The categories in the Marketplace have changed to reflect the new names of the Hubs in Azure DevOps.Your tasks must be updated to reflect this change:
"description": "Snyk continuously finds and fixes vulnerabilities in your dependencies.",
- "Build and release"
+ "Azure Pipelines"
Change the category of your extension in your extension manifest from it's old name to the new names:
Azure Test Plans, and
Remove your dependency on vsts-task-lib
vsts-task-lib has been renamed to
azure-pipelines-task-lib and you'll need to update your
package.json to pickup this new library:
npm uninstall vsts-task-lib --save
npm install azure-pipelines-task-lib@latest --save
Or manually update your
- "vsts-task-lib": "^2.3.0"
+ "azure-pipelines-task-lib": "^2.7.5"
Update your typescript files to import the new library
And now that you have a new module you depend on, you'll need to import it in your typescript files:
- import * as tl from "vsts-task-lib/task";
- import * as tr from "vsts-task-lib/toolrunner";
+ import * as tl from "azure-pipelines-task-lib/task";
+ import * as tr from "azure-pipelines-task-lib/toolrunner";
After changing your
require statements, all the existing functions should remain operational, unless you're upgrading from a very old version of the
Update to the latest version of tfx-cli
If you're using the old version of
tfx-cli it will balk at the new extension categories. The easiest way to fix that is to update to the latest version of
tfx-cli, but if you're stuck on an older version for whatever reason, suppress local validation to get your extension published:
tfx extension publish --bypass-validation
And if you're using the Azure DevOps Tasks for Extensions you'll have to make sure you're on 1.2.8 or you'll have to enable this feature:
I've just upgraded my first task, the Snyk Task, and you can see all the changes here. I've done a bit of refactoring in this release as well and the old name has mostly been eradicated. The only thing I'll be stuck with is the Extension ID, all of my extensions have
vsts in their ID and there is no way to get rid of that without breaking all my users.