Kiln »
KilnSupportScriptsPowershell Scripts to help monitor a Kiln environment. Contact Fog Creek support before using.
Alias information
is an alias for .
Mercurial and Git clients can push and pull from this alias URL to interact with this repository. You can change to which repository an alias points by going to the Aliases link on the project page.
adding .Timeout set to 300000 ms or 300s (5 mins). Any more than this and there's something else wrong with the Storage Service that needs investigation, or a slow server.
<#.SYNOPSIS Repairs all repositories on a Kiln server.DESCRIPTION Uses the Kiln API to gather information about all repositories hosted on the Kiln server and then issues API commands to repair each of the repositories..EXAMPLE .\repair_all_repos.ps1 -kilnUrl "http://my.fogbugz/kiln" -token "gfd4567f2g7d8f2g4d6f8sdsdg88".PARAMETER kilnUrl Where Kiln is hosted, this URL must be reachable from the local machine.PARAMETER token A valid API token for the Kiln server.NOTES Author: Quentin Schroeder Version: 1.0 Date: Jan 22, 2013#>param([string]$kilnUrl="http://localhost/kiln",[string]$token="")functionmain(){if($token-eq""){write-host"Must provide a token to authorize access to Kiln.";exit;}$url="{0}/Api/1.0/Project?token={1}"-f($kilnUrl,$token)write-host("Getting repo information from {0}"-f$url)$response=(New-ObjectSystem.Net.WebClient).DownloadString($url)if(!($?)){write-host"Failed to get repo information. Confirm the kilnUrl parameter is correct.";exit;}$responseXml=Convert-JsonToXml($response)$projects=$responseXml.root.childnodesforeach($projectin$projects){foreach($groupin$project.repoGroups.childnodes){foreach($repoin$group.repos.childnodes){$ixRepo=$repo.ixRepo."#text"$repoName=$repo.sName."#text"$URI="{0}/api/1.0/repo/{1}/repair?token={2}"-f($kilnUrl,$ixRepo,$token)write-host("Attempting to repair repo '{0}' (ixRepo: {1})"-f($repoName,$ixRepo))Execute-HTTPPostCommand$URI"a=1"if(!($?)){write-host"Failed!!"}}}}}# This is provided as an alternative to ConvertFrom-JSON, which requires Powershell V3# which is not on most servers by default and requires a reboot to install.# Source: (https://www.cogmotive.com/blog/powershell/parsing-json-in-powershell-xml-the-member-item-is-already-present)Add-Type-AssemblySystem.ServiceModel.Web,System.Runtime.SerializationfunctionConvert-JsonToXml([string]$json){$bytes=[byte[]][char[]]$json$quotas=[System.Xml.XmlDictionaryReaderQuotas]::Max$jsonReader=[System.Runtime.Serialization.Json.JsonReaderWriterFactory]::CreateJsonReader($bytes,$quotas)try{$xml=new-objectSystem.Xml.XmlDocument$xml.Load($jsonReader)$xml}finally{$jsonReader.Close()}}# Source: (http://stackoverflow.com/questions/5246836/user-powershell-script-to-post-to-url)functionExecute-HTTPPostCommand(){param([string]$target=$null,[string]$post=$null) $webRequest = [System.Net.WebRequest]::Create($target)
$webRequest.ContentType = "text/html"
+ $webRequest.Timeout = 300000 $PostStr = [System.Text.Encoding]::UTF8.GetBytes($post)
$webrequest.ContentLength = $PostStr.Length
$webRequest.ServicePoint.Expect100Continue = $false
$webRequest.Method="POST"$requestStream=$webRequest.GetRequestStream()$requestStream.Write($PostStr,0,$PostStr.length)$requestStream.Close()try{[System.Net.WebResponse]$resp=$webRequest.GetResponse()}catch[Net.WebException]{write-host$_.Exception.ToString()}$rs=$resp.GetResponseStream()[System.IO.StreamReader]$sr=New-ObjectSystem.IO.StreamReader-argumentList$rs[string]$results=$sr.ReadToEnd()return$results}main
Attach a Trello Card
Add a tag
Your session has expired
You are no longer logged in. Please log in and try your request again.
Filter RSS Feed
This RSS feed URL allows you to see the contents of your current filter using any feed reader.
This link includes a special authentication token. If you share the URL with anyone else, they can see this RSS feed's activity. You can disable these tokens when needed.
Your current filter is unsaved; changing it won't affect this RSS feed.