public/git/Add-PSTSGitRepositoryInit.ps1
function Add-PSTSGitRepositoryInit { param( [Parameter(Mandatory=$true)][string] $project, [Parameter(Mandatory=$true)][string] $repoName ) $id = $(Get-PSTSGitRepository -project $project | Where-Object {$_.name -eq $repoName} | Select-Object -ExpandProperty id ) if ([String]::IsNullOrEmpty($id)) { Write-Error "$repoName doesn't exist in $project !!" return 128 } else { Write-Debug "$repoName exists in $project" $newObjectId = Get-PSTSGitRepositoryRef -project devops -id "$id" | Where-Object {$_.name -eq "refs/heads/master" }| Select-Object -ExpandProperty objectId $payload= New-Object -TypeName "PSObject" $payload | Add-Member -MemberType NoteProperty "name" -Value "refs/heads/$refName" $payload | Add-Member -MemberType NoteProperty "newObjectId" -Value "$newObjectId" $payload | Add-Member -MemberType NoteProperty "oldObjectId" -Value "0000000000000000000000000000000000000000" $body = '{ "refUpdates": [ { "name": "refs/heads/master", "oldObjectId": "0000000000000000000000000000000000000000" } ], "commits": [ { "comment": "Initial commit.", "changes": [ { "changeType": "add", "item": { "path": "/readme.md" }, "newContent": { "content": "My first file!", "contentType": "rawtext" } } ] } ] }' $content = ` _PSTSAPI ` -resource "git/repositories/$id/pushes" ` -method "POST" ` -project $project ` -repositoryId $id ` -body $("$body" ) ` -contentType "application/json" ` -apiVersion "api-version=5.1-preview" return [Object]$content } } |