This will be a relatively short post today to get be back into the blogging rhythm. Most of my time has been spent of late working on the DSC Resource Kit adding code coverage reporting and new xCertificate features.
So, today’s post shows how you can use some simple PowerShell code to pull down the list of .gitIgnore templates from GitHub and then retrieve the one I wanted. There are lots of different ways I could have done this, but I decided to use the GitHub REST API.
First up, lets get the list of available .gitIgnore templates:
|$templateList = (Invoke-WebRequest -URI 'https://api.github.com/gitignore/templates' -UseBasicParsing).Content ||
This will get the list of .GitIgnore templates to an array variable called $templateList. I could then display the list to a user:
Now, all I need to do is to download the named .gitIgnore Template to a folder:
|Invoke-WebRequest -URI 'https://api.github.com/gitignore/templates/VisualStudio' -UseBasicParsing ||
|Select-Object -ExpandProperty Content ||
|Select-Object -ExpandProperty Source ||
|Out-File -FilePath .\.gitignore|
This will download the VisualStudio .giIgnore template and save it with the filename .gitignore to the current folder.
I could have specified a different .gitIgnore template by changing the VisualStudio in the URL to another template that appears in the $templateList.
You might have noticed that I included the -UseBasicParsing parameter in the Invoke-WebRequest call. This is to ensure the cmdlet works on machines that don’t have Internet Explorer installed – e.g. Nano Server or Linux/OSX. I haven’t tried this on PowerShell running on Linux or OSX, but I can’t see any reason why it wouldn’t work on those OS’s.
The next steps for this code might be to get these included as some new cmdlets in Trevor Sullivan’s PSGitHub PowerShell Module. You can download his module from the PowerShell Gallery if you’re not familiar with it.
Thanks for reading.