Visual Studio Team Services (VSTS) extension code generator
Interested how our CI/CD pipeline works? Read Set up a CI/CD pipeline for your Yeoman generator package to learn more.
Capabilities
generator-team-services-extension is a Yeoman generator that creates an extension for Visual Studio Team Services or Team Foundation Server.
The extension type can be :
- New hub extension
- Custom build or release task
- Widget dashboard
- Service hooks consumer
Requirements
- Node.js with NPM, Minimum version 6.9.5 LTS (https://nodejs.org/)
- Yeoman : npm install -g yo
- (Optional) Microsoft Azure subscription for monitoring with Application Insights
Installation
First, install the generator
npm install -g generator-team-services-extension
Then generate your new extension project:
yo team-services-extension
Test this generator locally
- clone this repository
- with command prompt navigate to the package folder and run this command for link npm package on this folder Use npm link
npm link
Visual Studio Code
Debug this generator using- Click Debug in the VS Code Activity Bar
- Click Configure (gear icon right to Configuration dropdown)
- Select Node.js
- From the configuration dropdown click Add Configuration
- Popup will show with a list of available configruations, select Node.js: Yeoman generator
- Change args value to generator name: team-services-extension
The final configuration should looks like below
Execute Unit Tests
- on the generator folder run this command
npm run test
Getting started
Generated templates
We've included //TODO: placeholders in the generated license, thirdpartynotices, and overview files to guide you through the changes you need to make.
Visual Studio Teams Service Web Extension
Take a look at the information on getting started with extensions, RESTful APIs, SDK, and the marketplace. I
Yeoman
- Yeoman has a heart of gold.
- Yeoman is a person with feelings and opinions, but is very easy to work with.
- Yeoman can be too opinionated at times but is easily convinced not to be.
- Feel free to learn more about Yeoman.
Contributions
Team
We thank the following contributor(s): Josh Garverick , Mikael Krief and Hosam Kamel
Contributions are welcome
Here is how you can contribute to this project:
- Submit bugs and help us verify fixes
- Submit pull requests for bug fixes and features and discuss existing proposals
Please refer to Contribution guidelines and the Code of Conduct for more details.
Notices
Building this solution will download other software, subject to the third party license terms that are between you and the third party.
And npm dependencies list are :
- chalk
- eslint
- eslint-config-xo-space
- fs-extra
- Istanbul
- jshint
- Mocha
- Sinon
- snyk
- Typescript
- uuid
- xunit-file
- yeoman-assert
- yeoman-generator
- Yeoman-test
- Yo
- yosay
- gulp
- gulp-inline-source
The generated extensions needs these 3 rd libraries