Giter Club home page Giter Club logo

vsteam's Introduction

VSTeam

Build Status License Documentation - VSTeam PowerShell Gallery - VSTeam Minimum Supported PowerShell Version Contributor Covenant

Introduction

VSTeam is a PowerShell module with commands for accessing your Azure DevOps Server (previously named Visual Studio Team Foundation Server) 2017/2018 and Azure DevOps (previously named Visual Studio Team Services).

The VSTeam module is also a provider allowing users to navigate their Azure DevOps Server and Azure DevOps as a file system.

To get started you can visit this blog PowerShell I would like you to meet TFS and VSTS

Documentation of the cmdlets can be found on the GitHub pages for the module or using Get-Help VSTeam once the module is installed.

Requirements

  • Windows PowerShell 5.0 or newer.
  • PowerShell Core.

Installation

Install this module from the PowerShell Gallery

Change Log

Change Log

Module Dependencies

Building Module

In an effort to reduce the module size this repository contains two scripts Build-Module.ps1 and Merge-File.ps1 that merges similar files into a single file. The files in the formats folder are merged into vsteam.format.ps1xml. The files in the classes folder are merged into vsteam.classes.ps1. The functions from the Private and Public folders are merged into vsteam.functions.ps1. Finally all the files in the types folder are merged into vsteam.types.ps1xml. The order of the files being merged can be controlled by the config.json files in the repository.

The JSON config file must be in the following format:

{
   "types" : {
      "outputFile": "vsteam.types.ps1xml",
      "path": "./Source/types/",
      "fileType": "types",
      "files": [
         "*.ps1xml"
      ]
   },
   "functions" : {
      "outputFile": "vsteam.functions.ps1",
      "path": "./Source/",
      "fileType": "functions",
      "files": [
         "./Private/*.ps1",
         "./Public/*.ps1"
      ]
   },
   "formats": {
      "outputFile": "vsteam.format.ps1xml",
      "path": "./Source/formats/",
      "fileType": "formats",
      "files": [
         "vsteam_lib.TaskGroup.TableView.ps1xml"
      ]
   }
}

How to build locally

To run build the script Build-Module.ps1. The script has the following parameters:

  • -outputDir 'C:\outputdir': The final module is stored in a dist folder by default. You can override this folder by using the parameter
  • -buildHelp: Building help is skipped by default to speed your inner loop. Use this flag to include building the help
  • -installDep: By default the build will not install dependencies unless this switch is used
  • -ipmo: build module will be imported into session. IF a loaded module exist, it will be overwritten with the build version.
  • -analyzeScript: run the static code analyzer for the scripts with PSScriptAnalyzer
  • -runTests: runs the unit tests
  • -testName 'tests to filter': can be used to filter the unit test parts that should be run. Wildcards can be used! See the Pester documentation for a more elaborate explanation.
  • -codeCoverage: outputs the code coverage. Output by default is NUnit

Below are some examples on how to build the module locally. It is expected that your working directory is at the root of the repository.

Builds the module, installs needed dependencies, loads the module into the session and also builds the help.

.\Build-Module.ps1 -installDep -ipmo -buildHelp

Run Tests Locally

Runs all unit tests and executes the static code analysis.

.\Build-Module.ps1 -runTests -codeCoverage -analyzeScript

Runs the tests, but executes only the unit tests that have the description "workitems" for the logical grouped unit tests. This can be used if you only want to test a portion of your unit tests.

.\Build-Module.ps1 -runTests -testName workitems

Run Tests in Docker

You can run your unit tests also locally and cross-platform in a standardized environment.

Contributors

Guidelines

Maintainers

License

This project is licensed under the MIT License.

vsteam's People

Contributors

darquewarrior avatar sebastianschuetze avatar michelz avatar cadacious avatar aneillans avatar keesv avatar miiitch avatar kaiwalter avatar stefanstranger avatar seekatar avatar jeffrey-opdam avatar codedbeard avatar mydevopsdemos avatar mblaschke avatar eosfor avatar gitmje avatar woehrl01 avatar gpugnet avatar geertvdc avatar daveneeley avatar danstur avatar brianschmitt avatar asifma avatar japj avatar jimpriestley avatar jwallaceatcm avatar minimoe avatar markwragg avatar hangar18rip avatar rdtechie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.