Codeplex, PowerShell, Scripting
comments 6

Programming CodePlex release web service in PowerShell

CodePlex provides a basic web service to add releases to an existing project. I wrote a quick module around using these web services to create releases and upload files to that release. This module itself is available as a CodePlex Project — PSCodePlex. You can download release 0.1 here.

This module is a simple one. It has only two functions.

Add-Release
Add-Release function can be used to create a CodePlex release. The following list describes the input parameters to it.

pName Project Name of your CodePlex project. This is a mandatory parameter.
rName Release Name of the new release you are creating under the specified project. This is a mandatory paramter.
rDescription Decription for the new release. This parameter is not mandatory. If not specified, rName will be used as description
status Status of the new release. Possible values are “Planning”, “Alpha”, “Beta”, “Stable”. This is a mandatory parameter.
IsPublic Specifies if you want to show this release to everyone or not. Possible values are $true, $false. This is a mandatory parameter
IsDefault Specifies if this is the default release in your project. This isn’t a mandatory parameter. The default value is $true
UserName Username to access your CodePlex project. This is a mandatory parameter
Password Password to access your CodePlex Project. This is a mandatory parameter

Apart from the above parameters, this function uses current date as the release date. Here is how you use this function.

Add Release

Add Release

This function returns the release ID of the newly created CodePlex release.

 Upload-Release
Upload-Release function can be used to upload files to a CodePlex release. The following list describes the input parameters to it.

 pName Project Name of your CodePlex project. This is a mandatory parameter.
rName Release Name of the new release you are creating under the specified project. This is a mandatory paramter. 
UserName Username to access your CodePlex project. This is a mandatory parameter.
Password Password to access your CodePlex Project. This is a mandatory parameter.
rFolderPath Path to all the files in your release. This function — at present — assumes that there are only files at this folder path and adds all the files to release. This is a mandatory parameter.
rType Specifies the type of release. Possible values are “RuntimeBinary”, “SourceCode”, “Documentation”, “Example”. This is a mandatory paramater.

Here is how you use this function

Upload Release 
Unfortunately, these are the only two methods available as a part of CodePlex webservices API. I am planning on integrating Mercurial version control which was recently enabled on CodePlex with these functions. So, stay tuned.
Filed under: Codeplex, PowerShell, Scripting

by

Ravikanth is a principal engineer and the lead architect for Microsoft and VMware virtualized and hybrid cloud solutions within the Infrastructure Solutions Group at Dell EMC. He is a multi-year recipient of Microsoft Most Valuable Professional (MVP) award in Windows PowerShell (CDM) and Microsoft Azure. Ravikanth is the author of Windows PowerShell Desired State Configuration Revealed (Apress) and leads Bangalore PowerShell and Bangalore IT Pro user groups. He can be seen speaking regularly at local user group events and conferences in India and abroad.