SlideShare a Scribd company logo
1 of 29
Tulsa TechFest 2016
Extensions in VSTS and TFS
Friday, August 5th
Jeff Bramwell
VP – Enterprise Architecture, Farm Credit Services of America
MVP - Visual Studio & Development Technologies
jeff@moonspace.net ::: @jbramwell
Tulsa TechFest 2016 | Fri, Aug 5th, 2016 | OSU - Tulsa | 70+ Speakers, 20+ Tracks & 85+ Sessions!
Tulsa TechFest 2016 | Fri, Aug 5th, 2016 | OSU - Tulsa | 70+ Speakers, 20+ Tracks & 85+ Sessions!
Agenda
• Ways You Can Extend
• Custom Hubs
• Custom Widgets
• Custom Build Tasks
• Service Hooks
• More on the Marketplace
• Continuous Integration/Delivery
• Summary
EXTENSIONS
Let’s take a deeper look at:
Ways You Can Extend
External
Tools
• REST APIs
• Service Hooks
Full
Integration
• Build Tasks
• Web UI Integration
Components of an Extension
An extension is made up of:
+ +
Get the Client SDK
• npm install vss-web-extension-sdk
• Add VSS.SDK.js to home/sdk/scripts
npm install vss-web-extension-sdk
CUSTOM HUBS
Let’s take a quick look at:
Custom Hubs
• Requires an HTML page
• Requires a vss-extension.json manifest file
• Requires a reference to the VSS.SDK.js library
• Uses JavaScript and TypeScript (optional)
Hub Groups
• Home: ms.vss-web.home-hub-group
• Code: ms.vss-code-web.code-hub-group
• Work: ms.vss-work-web.work-hub-group
• Build: ms.vss-build-web.build-hub-group
• Release: ms.vss-releaseManagement-web.hub-group-rm
• Test: ms.vss-test-web.test-hub-group
• Admin (collection): ms.vss-web.collection-admin-hub-group
• Admin (project): ms.vss-web.project-admin-hub-group
DEMO
Creating a Custom Hub
CUSTOM WIDGETS
Let’s take a quick look at:
Custom Widgets
• Widgets are displayed on dashboards in VSTS/TFS
• Very similar to custom Hubs
• Requires an HTML page
• Require a vss-extension.json manifest file
• Requires a reference to the VSS.SDK.js library
• Uses JavaScript and TypeScript (optional)
DEMO
Creating a Custom Widget
CUSTOM BUILD TASKS
Let’s take a quick look at:
Build Tasks
• Typically written in PowerShell and/or TypeScript
• Use TypeScript for cross-platform tasks
• Can also integrate .NET code if desired/needed
• Also requires a vss-extension.json manifest file
DEMO
Creating a Custom Build Task
SERVICE HOOKS
Let’s take a quick look at:
Service Hooks
• Built-in feature of VSTS/TFS
• Integrate with 3rd party services
• Can also integrate with custom services
• No coding required to integrate with existing services
Available Services
• AppVeyor
• Azuqua
• Azure App Service
• Azure Service Bus
• Azure Storage
• Bamboo
• Campfire
• Flowdock
• HipChat
• Hubot
• Jenkins
• MyGet
• Office 365
• Slack
• Trello
• UserVoice
• Web Hooks
• Zapier
• Zendesk
DEMO
Setting up a Service Hook
MARKETPLACE
Let’s take another look at:
Visual Studio Marketplace
• Includes Visual Studio, VSTS and Visual Studio Code
• Public preview made available last November
• Hundreds (thousands?) of extensions available now
• Monetization is not yet available but is planned
• User reviews are available… author can also respond to reviews
• Can use web site and/or command line to publish
Continuous Delivery
• Published by Jesse Houwing (MVP)
• Publishes your extensions to Marketplace
• Can be shared with one or more accounts
• Can override version (task and extension)
• Can make public or private (several options)
My Extensions
VSTS-Tools Build Extensions Markdown to WordPress
Summary
• VSTS/TFS can be extended in many ways
• You can extend your automated builds as well as the web UI
• Customizations can make full use of existing REST APIs
• Build customizations can be Windows specific or cross-platform
• You can share your extensions in the Visual Studio Marketplace
• At some point you will be able to charge for them if desired
• Start here: http://bit.ly/VSTSExtensions
Questions? More
Information?
Extensions Reference for VS Team Services and TFS
• http://bit.ly/VSTSExtensions
Brian Harry (Product Unit Manager for TFS)
• https://blogs.msdn.microsoft.com/bharry/
My Blog
• http://blog.devmatter.com
Code/Extension Examples
• https://github.com/jbramwell/VSTS-Tools
Tulsa TechFest 2016 | Fri, Aug 5th, 2016 | OSU - Tulsa | 70+ Speakers, 20+ Tracks & 85+ Sessions!
Your input is important!
http://TulsaTechFest.com

More Related Content

What's hot

What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013Danijel Malik
 
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...Waldek Mastykarz
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Rodolfo Finochietti
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowVincent Biret
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?Vincent Biret
 
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas VochtenO365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas VochtenNCCOMMS
 
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016Waldek Mastykarz
 
My slides from SharePoint Saturday Oslo
My slides from SharePoint Saturday OsloMy slides from SharePoint Saturday Oslo
My slides from SharePoint Saturday OsloRick Van Rousselt
 
Canadian Cloud Summit 2022 - SharePoint Framework Tests Introduction
Canadian Cloud Summit 2022 - SharePoint Framework Tests IntroductionCanadian Cloud Summit 2022 - SharePoint Framework Tests Introduction
Canadian Cloud Summit 2022 - SharePoint Framework Tests IntroductionLaurent Sittler
 
Building a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioBuilding a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioKasun Kodagoda
 
Signal r azurepresentation
Signal r azurepresentationSignal r azurepresentation
Signal r azurepresentationJustin Wendlandt
 
Building solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionBuilding solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionWaldek Mastykarz
 
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore
 
Automate yourself out of a job - Use ChatOps!
Automate yourself out of a job - Use ChatOps!Automate yourself out of a job - Use ChatOps!
Automate yourself out of a job - Use ChatOps!Jaap Brasser
 
Serverless with Azure Functions
Serverless with Azure FunctionsServerless with Azure Functions
Serverless with Azure FunctionsAndreas Willich
 
Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0EastBanc Tachnologies
 
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...DevDay.org
 
WordCamp IL 2016 - WordPress Scale on AWS
WordCamp IL 2016 - WordPress Scale on AWSWordCamp IL 2016 - WordPress Scale on AWS
WordCamp IL 2016 - WordPress Scale on AWSBoaz Ziniman
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flowVincent Biret
 
Building Custom Visual Studio Team Service Build Tasks With VSTS DevOps Task SDK
Building Custom Visual Studio Team Service Build Tasks With VSTS DevOps Task SDKBuilding Custom Visual Studio Team Service Build Tasks With VSTS DevOps Task SDK
Building Custom Visual Studio Team Service Build Tasks With VSTS DevOps Task SDKKasun Kodagoda
 

What's hot (20)

What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013
 
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
 
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
 
Sps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flowSps toronto introduction to azure functions microsoft flow
Sps toronto introduction to azure functions microsoft flow
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
 
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas VochtenO365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
 
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
 
My slides from SharePoint Saturday Oslo
My slides from SharePoint Saturday OsloMy slides from SharePoint Saturday Oslo
My slides from SharePoint Saturday Oslo
 
Canadian Cloud Summit 2022 - SharePoint Framework Tests Introduction
Canadian Cloud Summit 2022 - SharePoint Framework Tests IntroductionCanadian Cloud Summit 2022 - SharePoint Framework Tests Introduction
Canadian Cloud Summit 2022 - SharePoint Framework Tests Introduction
 
Building a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioBuilding a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual Studio
 
Signal r azurepresentation
Signal r azurepresentationSignal r azurepresentation
Signal r azurepresentation
 
Building solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionBuilding solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introduction
 
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
 
Automate yourself out of a job - Use ChatOps!
Automate yourself out of a job - Use ChatOps!Automate yourself out of a job - Use ChatOps!
Automate yourself out of a job - Use ChatOps!
 
Serverless with Azure Functions
Serverless with Azure FunctionsServerless with Azure Functions
Serverless with Azure Functions
 
Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0
 
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
 
WordCamp IL 2016 - WordPress Scale on AWS
WordCamp IL 2016 - WordPress Scale on AWSWordCamp IL 2016 - WordPress Scale on AWS
WordCamp IL 2016 - WordPress Scale on AWS
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
 
Building Custom Visual Studio Team Service Build Tasks With VSTS DevOps Task SDK
Building Custom Visual Studio Team Service Build Tasks With VSTS DevOps Task SDKBuilding Custom Visual Studio Team Service Build Tasks With VSTS DevOps Task SDK
Building Custom Visual Studio Team Service Build Tasks With VSTS DevOps Task SDK
 

Viewers also liked

Centralizing users’ authentication at Active Directory level 
Centralizing users’ authentication at Active Directory level Centralizing users’ authentication at Active Directory level 
Centralizing users’ authentication at Active Directory level Hossein Sarshar
 
Managing software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile ScrumManaging software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile ScrumHossein Sarshar
 
Where shall we meet - Learn to say direction in Chinese
Where shall we meet - Learn to say direction in ChineseWhere shall we meet - Learn to say direction in Chinese
Where shall we meet - Learn to say direction in Chineseconglaoshi
 
SOA in banking issues and remedies
SOA in banking   issues and remediesSOA in banking   issues and remedies
SOA in banking issues and remediesDebajani Mohanty
 
SOA in Financial Services
SOA in Financial ServicesSOA in Financial Services
SOA in Financial ServicesMike Walker
 
Ifw framework for banking industry presentation
Ifw framework for banking industry presentationIfw framework for banking industry presentation
Ifw framework for banking industry presentationRavi Sarkar
 
Introduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) OnlineIntroduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) OnlineDenis Voituron
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewEnterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewWinton Winton
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkVolker Hirsch
 

Viewers also liked (13)

IIS Smooth Streaming
IIS Smooth StreamingIIS Smooth Streaming
IIS Smooth Streaming
 
Centralizing users’ authentication at Active Directory level 
Centralizing users’ authentication at Active Directory level Centralizing users’ authentication at Active Directory level 
Centralizing users’ authentication at Active Directory level 
 
Services oriented architecture
Services oriented architectureServices oriented architecture
Services oriented architecture
 
BIAN_IBM_PNC_white-paper_2014
BIAN_IBM_PNC_white-paper_2014BIAN_IBM_PNC_white-paper_2014
BIAN_IBM_PNC_white-paper_2014
 
Managing software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile ScrumManaging software projects with Team Foundation Server 2013 in Agile Scrum
Managing software projects with Team Foundation Server 2013 in Agile Scrum
 
Where shall we meet - Learn to say direction in Chinese
Where shall we meet - Learn to say direction in ChineseWhere shall we meet - Learn to say direction in Chinese
Where shall we meet - Learn to say direction in Chinese
 
Netezza pure data
Netezza pure dataNetezza pure data
Netezza pure data
 
SOA in banking issues and remedies
SOA in banking   issues and remediesSOA in banking   issues and remedies
SOA in banking issues and remedies
 
SOA in Financial Services
SOA in Financial ServicesSOA in Financial Services
SOA in Financial Services
 
Ifw framework for banking industry presentation
Ifw framework for banking industry presentationIfw framework for banking industry presentation
Ifw framework for banking industry presentation
 
Introduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) OnlineIntroduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) Online
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewEnterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Similar to Building Extensions in VSTS and TFS

Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsBIWUG
 
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp).NET Crowd
 
Zure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayZure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayOkko Oulasvirta
 
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?Vincent Biret
 
VSTS Migration Briefing
VSTS Migration BriefingVSTS Migration Briefing
VSTS Migration BriefingAngela Dugan
 
Serverless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL ShortenerServerless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL ShortenerLuca Bianchi
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineSPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineDavid Schneider
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...Amazon Web Services
 
Keynote speech
Keynote speechKeynote speech
Keynote speechBizTalk360
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015DotNetCampus
 
Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Microsoft 365 Developer
 
The new Azure App Service Architecture
The new Azure App Service ArchitectureThe new Azure App Service Architecture
The new Azure App Service ArchitectureJoão Pedro Martins
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchRob Windsor
 
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS User Group - Thailand
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...Vincent Biret
 
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraphVincent Biret
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Microsoft 365 Developer
 
First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)Daniel Toomey
 
Architecture Battle: PaaS vs. FaaS
Architecture Battle: PaaS vs. FaaSArchitecture Battle: PaaS vs. FaaS
Architecture Battle: PaaS vs. FaaSEstelle Auberix
 

Similar to Building Extensions in VSTS and TFS (20)

Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
 
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
 
Zure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training dayZure Azure PaaS Zero to Hero - DevOps training day
Zure Azure PaaS Zero to Hero - DevOps training day
 
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
#SPFestDc dev302 Is it possible to do #DevOps with the SharePoint Framework?
 
VSTS Migration Briefing
VSTS Migration BriefingVSTS Migration Briefing
VSTS Migration Briefing
 
Serverless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL ShortenerServerless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL Shortener
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineSPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 
Welcome to Azure Devops
Welcome to Azure DevopsWelcome to Azure Devops
Welcome to Azure Devops
 
Keynote speech
Keynote speechKeynote speech
Keynote speech
 
TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015
 
Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020
 
The new Azure App Service Architecture
The new Azure App Service ArchitectureThe new Azure App Service Architecture
The new Azure App Service Architecture
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
 
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
 
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret what's new with the #MicrosoftGraph
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
 
First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)
 
Architecture Battle: PaaS vs. FaaS
Architecture Battle: PaaS vs. FaaSArchitecture Battle: PaaS vs. FaaS
Architecture Battle: PaaS vs. FaaS
 

More from Jeff Bramwell

The Power of Azure DevOps - Global Azure Day 2020
The Power of Azure DevOps - Global Azure Day 2020The Power of Azure DevOps - Global Azure Day 2020
The Power of Azure DevOps - Global Azure Day 2020Jeff Bramwell
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOpsJeff Bramwell
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityJeff Bramwell
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOpsJeff Bramwell
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOpsJeff Bramwell
 
Roadmap to Enterprise Quality
Roadmap to Enterprise QualityRoadmap to Enterprise Quality
Roadmap to Enterprise QualityJeff Bramwell
 
Evaluating Docker in the Enterprise - Getting Started
Evaluating Docker in the Enterprise - Getting StartedEvaluating Docker in the Enterprise - Getting Started
Evaluating Docker in the Enterprise - Getting StartedJeff Bramwell
 
Adventures in enterprise architecture
Adventures in enterprise architectureAdventures in enterprise architecture
Adventures in enterprise architectureJeff Bramwell
 
Building with Visual Studio Online
Building with Visual Studio OnlineBuilding with Visual Studio Online
Building with Visual Studio OnlineJeff Bramwell
 
Introduction to Windows 8 Development
Introduction to Windows 8 DevelopmentIntroduction to Windows 8 Development
Introduction to Windows 8 DevelopmentJeff Bramwell
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Jeff Bramwell
 
Getting Started With the TFS Object Model
Getting Started With the TFS Object ModelGetting Started With the TFS Object Model
Getting Started With the TFS Object ModelJeff Bramwell
 
What's Coming in Visual Studio v.Next
What's Coming in Visual Studio v.NextWhat's Coming in Visual Studio v.Next
What's Coming in Visual Studio v.NextJeff Bramwell
 
Getting Started with WP7 Development
Getting Started with WP7 DevelopmentGetting Started with WP7 Development
Getting Started with WP7 DevelopmentJeff Bramwell
 
TDC 2010 - VS2010 ALM - What's In It for Me
TDC 2010 - VS2010 ALM - What's In It for MeTDC 2010 - VS2010 ALM - What's In It for Me
TDC 2010 - VS2010 ALM - What's In It for MeJeff Bramwell
 
TDC 2010 - Migrating to TFS 2010 - Lessons Learned
TDC 2010 - Migrating to TFS 2010 - Lessons LearnedTDC 2010 - Migrating to TFS 2010 - Lessons Learned
TDC 2010 - Migrating to TFS 2010 - Lessons LearnedJeff Bramwell
 
Tulsa TechFest 2010 - What's New in TFS 2010
Tulsa TechFest 2010 - What's New in TFS 2010Tulsa TechFest 2010 - What's New in TFS 2010
Tulsa TechFest 2010 - What's New in TFS 2010Jeff Bramwell
 
Tulsa TechFest 2010 - Migrating to TFS 2010 - Lessons Learned
Tulsa TechFest 2010 - Migrating to TFS 2010 - Lessons LearnedTulsa TechFest 2010 - Migrating to TFS 2010 - Lessons Learned
Tulsa TechFest 2010 - Migrating to TFS 2010 - Lessons LearnedJeff Bramwell
 
Tulsa TechFest 2010 - Creating Quality Software - A Look at Visual Studio 201...
Tulsa TechFest 2010 - Creating Quality Software - A Look at Visual Studio 201...Tulsa TechFest 2010 - Creating Quality Software - A Look at Visual Studio 201...
Tulsa TechFest 2010 - Creating Quality Software - A Look at Visual Studio 201...Jeff Bramwell
 

More from Jeff Bramwell (20)

The Power of Azure DevOps - Global Azure Day 2020
The Power of Azure DevOps - Global Azure Day 2020The Power of Azure DevOps - Global Azure Day 2020
The Power of Azure DevOps - Global Azure Day 2020
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise Quality
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Roadmap to Enterprise Quality
Roadmap to Enterprise QualityRoadmap to Enterprise Quality
Roadmap to Enterprise Quality
 
The Future is Here
The Future is HereThe Future is Here
The Future is Here
 
Evaluating Docker in the Enterprise - Getting Started
Evaluating Docker in the Enterprise - Getting StartedEvaluating Docker in the Enterprise - Getting Started
Evaluating Docker in the Enterprise - Getting Started
 
Adventures in enterprise architecture
Adventures in enterprise architectureAdventures in enterprise architecture
Adventures in enterprise architecture
 
Building with Visual Studio Online
Building with Visual Studio OnlineBuilding with Visual Studio Online
Building with Visual Studio Online
 
Introduction to Windows 8 Development
Introduction to Windows 8 DevelopmentIntroduction to Windows 8 Development
Introduction to Windows 8 Development
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?
 
Getting Started With the TFS Object Model
Getting Started With the TFS Object ModelGetting Started With the TFS Object Model
Getting Started With the TFS Object Model
 
What's Coming in Visual Studio v.Next
What's Coming in Visual Studio v.NextWhat's Coming in Visual Studio v.Next
What's Coming in Visual Studio v.Next
 
Getting Started with WP7 Development
Getting Started with WP7 DevelopmentGetting Started with WP7 Development
Getting Started with WP7 Development
 
TDC 2010 - VS2010 ALM - What's In It for Me
TDC 2010 - VS2010 ALM - What's In It for MeTDC 2010 - VS2010 ALM - What's In It for Me
TDC 2010 - VS2010 ALM - What's In It for Me
 
TDC 2010 - Migrating to TFS 2010 - Lessons Learned
TDC 2010 - Migrating to TFS 2010 - Lessons LearnedTDC 2010 - Migrating to TFS 2010 - Lessons Learned
TDC 2010 - Migrating to TFS 2010 - Lessons Learned
 
Tulsa TechFest 2010 - What's New in TFS 2010
Tulsa TechFest 2010 - What's New in TFS 2010Tulsa TechFest 2010 - What's New in TFS 2010
Tulsa TechFest 2010 - What's New in TFS 2010
 
Tulsa TechFest 2010 - Migrating to TFS 2010 - Lessons Learned
Tulsa TechFest 2010 - Migrating to TFS 2010 - Lessons LearnedTulsa TechFest 2010 - Migrating to TFS 2010 - Lessons Learned
Tulsa TechFest 2010 - Migrating to TFS 2010 - Lessons Learned
 
Tulsa TechFest 2010 - Creating Quality Software - A Look at Visual Studio 201...
Tulsa TechFest 2010 - Creating Quality Software - A Look at Visual Studio 201...Tulsa TechFest 2010 - Creating Quality Software - A Look at Visual Studio 201...
Tulsa TechFest 2010 - Creating Quality Software - A Look at Visual Studio 201...
 

Recently uploaded

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 

Recently uploaded (20)

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 

Building Extensions in VSTS and TFS

  • 1. Tulsa TechFest 2016 Extensions in VSTS and TFS Friday, August 5th Jeff Bramwell VP – Enterprise Architecture, Farm Credit Services of America MVP - Visual Studio & Development Technologies jeff@moonspace.net ::: @jbramwell
  • 2. Tulsa TechFest 2016 | Fri, Aug 5th, 2016 | OSU - Tulsa | 70+ Speakers, 20+ Tracks & 85+ Sessions!
  • 3. Tulsa TechFest 2016 | Fri, Aug 5th, 2016 | OSU - Tulsa | 70+ Speakers, 20+ Tracks & 85+ Sessions!
  • 4. Agenda • Ways You Can Extend • Custom Hubs • Custom Widgets • Custom Build Tasks • Service Hooks • More on the Marketplace • Continuous Integration/Delivery • Summary
  • 5. EXTENSIONS Let’s take a deeper look at:
  • 6. Ways You Can Extend External Tools • REST APIs • Service Hooks Full Integration • Build Tasks • Web UI Integration
  • 7. Components of an Extension An extension is made up of: + +
  • 8. Get the Client SDK • npm install vss-web-extension-sdk • Add VSS.SDK.js to home/sdk/scripts npm install vss-web-extension-sdk
  • 9. CUSTOM HUBS Let’s take a quick look at:
  • 10. Custom Hubs • Requires an HTML page • Requires a vss-extension.json manifest file • Requires a reference to the VSS.SDK.js library • Uses JavaScript and TypeScript (optional)
  • 11. Hub Groups • Home: ms.vss-web.home-hub-group • Code: ms.vss-code-web.code-hub-group • Work: ms.vss-work-web.work-hub-group • Build: ms.vss-build-web.build-hub-group • Release: ms.vss-releaseManagement-web.hub-group-rm • Test: ms.vss-test-web.test-hub-group • Admin (collection): ms.vss-web.collection-admin-hub-group • Admin (project): ms.vss-web.project-admin-hub-group
  • 13. CUSTOM WIDGETS Let’s take a quick look at:
  • 14. Custom Widgets • Widgets are displayed on dashboards in VSTS/TFS • Very similar to custom Hubs • Requires an HTML page • Require a vss-extension.json manifest file • Requires a reference to the VSS.SDK.js library • Uses JavaScript and TypeScript (optional)
  • 16. CUSTOM BUILD TASKS Let’s take a quick look at:
  • 17. Build Tasks • Typically written in PowerShell and/or TypeScript • Use TypeScript for cross-platform tasks • Can also integrate .NET code if desired/needed • Also requires a vss-extension.json manifest file
  • 19. SERVICE HOOKS Let’s take a quick look at:
  • 20. Service Hooks • Built-in feature of VSTS/TFS • Integrate with 3rd party services • Can also integrate with custom services • No coding required to integrate with existing services
  • 21. Available Services • AppVeyor • Azuqua • Azure App Service • Azure Service Bus • Azure Storage • Bamboo • Campfire • Flowdock • HipChat • Hubot • Jenkins • MyGet • Office 365 • Slack • Trello • UserVoice • Web Hooks • Zapier • Zendesk
  • 22. DEMO Setting up a Service Hook
  • 24. Visual Studio Marketplace • Includes Visual Studio, VSTS and Visual Studio Code • Public preview made available last November • Hundreds (thousands?) of extensions available now • Monetization is not yet available but is planned • User reviews are available… author can also respond to reviews • Can use web site and/or command line to publish
  • 25. Continuous Delivery • Published by Jesse Houwing (MVP) • Publishes your extensions to Marketplace • Can be shared with one or more accounts • Can override version (task and extension) • Can make public or private (several options)
  • 26. My Extensions VSTS-Tools Build Extensions Markdown to WordPress
  • 27. Summary • VSTS/TFS can be extended in many ways • You can extend your automated builds as well as the web UI • Customizations can make full use of existing REST APIs • Build customizations can be Windows specific or cross-platform • You can share your extensions in the Visual Studio Marketplace • At some point you will be able to charge for them if desired • Start here: http://bit.ly/VSTSExtensions
  • 28. Questions? More Information? Extensions Reference for VS Team Services and TFS • http://bit.ly/VSTSExtensions Brian Harry (Product Unit Manager for TFS) • https://blogs.msdn.microsoft.com/bharry/ My Blog • http://blog.devmatter.com Code/Extension Examples • https://github.com/jbramwell/VSTS-Tools
  • 29. Tulsa TechFest 2016 | Fri, Aug 5th, 2016 | OSU - Tulsa | 70+ Speakers, 20+ Tracks & 85+ Sessions! Your input is important! http://TulsaTechFest.com

Editor's Notes

  1. External tools such as custom command-line tools, services etc. Service Hooks can integrate with 3rd party services such as Trello, Slack, Office 365, Jenkins, HipChat and many others! Build tasks allow you to customize the tasks within a build workflow. Web UI integration allows you to provide your own UI elements within the VSTS/TFS web experience (e.g. hubs, widgets, work item extensions, etc.)
  2. The JSON manifest contains metadata about the extension (e.g. name, ID, version, contributions, etc.) The discovery assets contain the markdown that describes the extension (and is displayed in the Marketplace) along with related images The static files apply only to contribution-based extensions (e.g. build tasks, widgets, etc.)
  3. Talk about issues with using PUT when contracts have changed (e.g. adding a new field that calling clients are unaware of and the new field ends up being nulled out on updates)
  4. With the exception of the two Admin hubs, the other hubs are scoped at the Project & Team levels.
  5. Web Hooks is highlighted because it provides generic support for custom services (i.e. your own services that you want to hook into) Slack is great for keeping an eye on multiple projects in VSTS/TFS. However, watch out for the number of messages being generated, especially if you’re on the free Slack plan!
  6. More information: https://blogs.msdn.microsoft.com/visualstudioalm/2015/08/26/visual-studio-online-extensibility-and-marketplace/ https://blogs.msdn.microsoft.com/visualstudioalm/2015/11/18/announcing-public-preview-of-visual-studio-marketplace/
  7. https://marketplace.visualstudio.com/items?itemName=moonspace-labs-llc.vsts-tools-build-extensions https://marketplace.visualstudio.com/items?itemName=moonspace-labs-llc.vsts-md2wp-extensions VSTS-Tools source code on GitHub: https://github.com/jbramwell/vsts-tools