What are extensions?


This section covers developing custom extensions and service-hooks, to find information on installing extensions from the Marketplace, or buying Visual Studio Subscriptions, visit the Marketplace documentation.

Extensions are simple add-ons that can be used to customize and extend your DevOps experience with Azure DevOps Services. They are written with standard technologies - HTML, JavaScript, CSS - and can be developed using your preferred development tools. They utilize our RESTful API Library in order to easily interact with Azure DevOps Services and applications/services. The Visual Studio Marketplace is where extensions are published, where they can be kept privately for you and your team or shared with the millions of developers currently using Azure DevOps Services.

What makes up an extension?

Components of an extension
  • A JSON manifest file contains basic info about the extension.
  • Discovery assets - the markdown and images that make up your extension's overview and aesthetics in the marketplace.
  • Static files that contain the logic of your extension, including HTML, JS, and CSS files. Static files are only applicable to contribution-based extensions.

All of these are bundled up to make a Team Extensions Service Package (.vsix file) that is published to the marketplace. From the marketplace, extensions can be installed directly by Azure DevOps Services users.

What can you do with extensions?

There are dozens of places where you can add to the Azure DevOps Services user interface, and we're adding more every sprint. Learn about all of the places where you can add a hub in the contributions reference.

Extension building checklist

  1. Familiarize yourself with an overview of our platform and what's possible with it
    1. Azure Devops extensions overview
  2. Learn to build your first extension or check out our full set samples
    1. Build your first extension
    2. Samples
  3. Familiarize yourself with our RESTful APIs. If you're integrating from a 3rd party app or service, you'll also want to check out our Service Hooks
    1. REST APIs
    2. Service Hooks
  4. Once your extension is ready, you'll want to package it up, publish it to the Marketplace, and we hope you'll share it with the community!
    1. Package, publish, and install your extension
    2. Package and publish your integration with an external app or service
    3. Share your work publicly with the entire community

Next Steps