Adding GH Valet CLI support (#1)
* Update readme.md * Update readme.md * Update valet-audit-lab.md * Delete valet * Delete valet-update * Update devcontainer.json * Update valet-audit-lab.md * Update valet-dry-run-lab.md * Update valet-migrate-custom-lab.md * Update valet-migrate-lab.md * Update valet-migrate-lab.md * Update valet-audit-lab.md * Update valet-dry-run-lab.md * Update valet-migrate-custom-lab.md * Update .env.local * Update valet-migrate-lab.md * Update valet-audit-lab.md * Update valet-dry-run-lab.md * Update valet-migrate-lab.md * Update valet-migrate-custom-lab.md * Update devcontainer.json * Update devcontainer.json * Create setenvars.sh * Update readme.md * Update readme.md * Update valet-audit-lab.md * Update valet-dry-run-lab.md * Update valet-migrate-lab.md * Update valet-migrate-custom-lab.md * Update and rename setenvars.sh to setupcodespace.sh * Update devcontainer.json * Update azure_devops/readme.md Co-authored-by: Ethan Dennis <[email protected]> * Update readme.md * Update azure_devops/readme.md Co-authored-by: Ethan Dennis <[email protected]> * Update azure_devops/valet-audit-lab.md Co-authored-by: Ethan Dennis <[email protected]> * Update azure_devops/valet-audit-lab.md Co-authored-by: Ethan Dennis <[email protected]> * Update azure_devops/valet-dry-run-lab.md Co-authored-by: Ethan Dennis <[email protected]> * Update azure_devops/valet-dry-run-lab.md Co-authored-by: Ethan Dennis <[email protected]> * Update azure_devops/valet-dry-run-lab.md Co-authored-by: Ethan Dennis <[email protected]> * Update azure_devops/valet-migrate-custom-lab.md Co-authored-by: Ethan Dennis <[email protected]> * Update azure_devops/valet-dry-run-lab.md Co-authored-by: Ethan Dennis <[email protected]> * Update readme.md * Update readme.md * Update devcontainer.json * Update devcontainer.json * Update readme.md * Update devcontainer.json * Update readme.md * Update valetbsazdo.yml * Create .gitignore * Update readme.md * Update readme.md * Update azDevOps.ps1 * Delete updateEnvs.ps1 * Update devcontainer.json * Update readme.md * Update azure_devops/valet-audit-lab.md Co-authored-by: David Hathaway <[email protected]> * Update azure_devops/valet-audit-lab.md Co-authored-by: David Hathaway <[email protected]> * Update valet-audit-lab.md * Update valet-dry-run-lab.md * Update azure_devops/valet-dry-run-lab.md Co-authored-by: David Hathaway <[email protected]> * Update azure_devops/valet-migrate-lab.md Co-authored-by: David Hathaway <[email protected]> * Update valet-dry-run-lab.md * Update readme.md * Update readme.md * Update setupcodespace.sh * Rename .env.local to .env.local.template * Update .gitignore Co-authored-by: Ethan Dennis <[email protected]> Co-authored-by: David Hathaway <[email protected]>
This commit is contained in:
co-authored by
Ethan Dennis
David Hathaway
parent
54108c642b
commit
03753a327f
@@ -46,11 +46,31 @@ $projectToCreate = @{
|
||||
}
|
||||
}
|
||||
|
||||
$projectResponse = Invoke-RestMethod -Method 'Post' -Uri $createtUrlToUse -Headers @{"Authorization"="Basic $BasicCreds"} -Body ($projectToCreate|ConvertTo-Json) -ContentType "application/json"
|
||||
$projectResponse | ConvertTo-Json
|
||||
try{
|
||||
$projectResponse = Invoke-RestMethod -Method 'Post' -Uri $createtUrlToUse -Headers @{"Authorization"="Basic $BasicCreds"} -Body ($projectToCreate|ConvertTo-Json) -ContentType "application/json"
|
||||
$projectResponse | ConvertTo-Json
|
||||
|
||||
Start-Sleep -s 5
|
||||
Write-Host "Yes! Project $project was created!"
|
||||
Start-Sleep -s 5
|
||||
Write-Host "Yes! Project $project was created!"
|
||||
|
||||
} Catch {
|
||||
Write-Host " "
|
||||
Write-Host "##########################################################################"
|
||||
Write-Host "ERROR during project creation: $project"
|
||||
Write-Host "The API call was: $createtUrlToUse"
|
||||
Write-Host " "
|
||||
|
||||
if($_.ErrorDetails.Message) {
|
||||
Write-Host "See error message below:"
|
||||
Write-Host $_.ErrorDetails.Message
|
||||
} else {
|
||||
Write-Host $_
|
||||
Write-Host "It is likely that the AZURE_DEVOPS_ACCESS_TOKEN is not set correctly in the worflow OR does not have sufficent permissions"
|
||||
}
|
||||
Write-Host " "
|
||||
Write-Host "##########################################################################"
|
||||
throw "Exiting. The Project $project was NOT created in Azure DevOps"
|
||||
}
|
||||
|
||||
##########################################################################
|
||||
# IMPORT THE REPO
|
||||
@@ -82,15 +102,15 @@ $addTextFile = @{
|
||||
$daFullName = $codeFile.FullName
|
||||
$codeBody = (Get-Content "$daFullName" -Raw)
|
||||
#Write-Host "codeBody: $codeBody"
|
||||
Write-Host "folder: $folder"
|
||||
#Write-Host "folder: $folder"
|
||||
$relath = $daFullName | Resolve-Path -Relative
|
||||
Write-Host "relath: $relath"
|
||||
#Write-Host "relath: $relath"
|
||||
$replaceSlash = $folder.Replace("/", "\")
|
||||
$repoPath = $relath.Substring($relath.lastIndexOf($replaceSlash) + $replaceSlash.Length)
|
||||
$wholeRepoPath = Join-Path -Path $itemPath -ChildPath $repoPath
|
||||
$wholeRepoPath = $wholeRepoPath.Replace("\", "/")
|
||||
Write-Host "wholeRepoPath: $wholeRepoPath"
|
||||
Write-Host "repoPath: $repoPath"
|
||||
#Write-Host "wholeRepoPath: $wholeRepoPath"
|
||||
#Write-Host "repoPath: $repoPath"
|
||||
@{
|
||||
"changeType"= "add"
|
||||
"item"= @{
|
||||
@@ -108,13 +128,28 @@ $addTextFile = @{
|
||||
)
|
||||
}
|
||||
|
||||
try{
|
||||
$repoUrlToUse = [string]::Format("https://dev.azure.com/{0}/{2}/_apis/git/repositories/{1}/pushes?api-version=7.1-preview.2", $orgToUse, $repoName, $project)
|
||||
$pushResponse = Invoke-RestMethod -Method 'Post' -Uri $repoUrlToUse -Headers @{"Authorization"="Basic $BasicCreds"} -Body ($addTextFile|ConvertTo-Json -Depth 5) -ContentType "application/json"
|
||||
$repoIds = $pushResponse.repository.id
|
||||
Write-Host "Yes! Repo Was was created! The repoId is $repoIds"
|
||||
} Catch {
|
||||
Write-Host " "
|
||||
Write-Host "##########################################################################"
|
||||
Write-Host "ERROR during Repo creation:"
|
||||
Write-Host "The API call was: $repoUrlToUse"
|
||||
Write-Host " "
|
||||
|
||||
$repoUrlToUse = [string]::Format("https://dev.azure.com/{0}/{2}/_apis/git/repositories/{1}/pushes?api-version=7.1-preview.2", $orgToUse, $repoName, $project)
|
||||
$pushResponse = Invoke-RestMethod -Method 'Post' -Uri $repoUrlToUse -Headers @{"Authorization"="Basic $BasicCreds"} -Body ($addTextFile|ConvertTo-Json -Depth 5) -ContentType "application/json"
|
||||
$repoIds = $pushResponse.repository.id
|
||||
Write-Host "Yes! Repo Was was created!"
|
||||
|
||||
Write-Host "Yes! Repo was imported into $repoIds"
|
||||
if($_.ErrorDetails.Message) {
|
||||
Write-Host "See error message below:"
|
||||
Write-Host $_.ErrorDetails.Message
|
||||
} else {
|
||||
Write-Host $_
|
||||
}
|
||||
Write-Host " "
|
||||
Write-Host "##########################################################################"
|
||||
throw "Exiting. The Repo was NOT created. It is likely the Project was created in Azure DevOps."
|
||||
}
|
||||
|
||||
##########################################################################
|
||||
##########################################################################
|
||||
@@ -141,10 +176,26 @@ foreach ($f in $files)
|
||||
}
|
||||
}
|
||||
}
|
||||
#$pipelineCreateBody | ConvertTo-Json
|
||||
|
||||
try{
|
||||
$repoResponse = Invoke-RestMethod -Method 'Post' -Uri $plUrlToUse -Headers @{"Authorization"="Basic $BasicCreds"} -Body ($pipelineCreateBody|ConvertTo-Json) -ContentType "application/json"
|
||||
} Catch {
|
||||
Write-Host " "
|
||||
Write-Host "##########################################################################"
|
||||
Write-Host "ERROR during Pipeline creation:"
|
||||
Write-Host "The API call was: $plUrlToUse"
|
||||
Write-Host " "
|
||||
|
||||
$repoResponse = Invoke-RestMethod -Method 'Post' -Uri $plUrlToUse -Headers @{"Authorization"="Basic $BasicCreds"} -Body ($pipelineCreateBody|ConvertTo-Json) -ContentType "application/json"
|
||||
$repoResponse | ConvertTo-Json
|
||||
if($_.ErrorDetails.Message) {
|
||||
Write-Host "See error message below:"
|
||||
Write-Host $_.ErrorDetails.Message
|
||||
} else {
|
||||
Write-Host $_
|
||||
}
|
||||
Write-Host " "
|
||||
Write-Host "The Pipeline $nameOfPl was NOT created."
|
||||
Write-Host "##########################################################################"
|
||||
}
|
||||
}
|
||||
|
||||
##########################################################################
|
||||
@@ -161,7 +212,24 @@ foreach ($f in $files)
|
||||
|
||||
$pclassicreateBody = (Get-Content ./$pipelinesRoot/classic/$fileName).Replace("REPOTOREPLACE", "$repoName")
|
||||
|
||||
$repo2Response = Invoke-RestMethod -Method 'Post' -Uri $classicUrlToUse -Headers @{"Authorization"="Basic $BasicCreds"} -Body ($pclassicreateBody) -ContentType "application/json"
|
||||
$repo2Response | ConvertTo-Json
|
||||
try{
|
||||
Invoke-RestMethod -Method 'Post' -Uri $classicUrlToUse -Headers @{"Authorization"="Basic $BasicCreds"} -Body ($pclassicreateBody) -ContentType "application/json"
|
||||
} Catch {
|
||||
Write-Host " "
|
||||
Write-Host "##########################################################################"
|
||||
Write-Host "ERROR during Pipeline creation:"
|
||||
Write-Host "The API call was: $classicUrlToUse"
|
||||
Write-Host " "
|
||||
|
||||
if($_.ErrorDetails.Message) {
|
||||
Write-Host "See error message below:"
|
||||
Write-Host $_.ErrorDetails.Message
|
||||
} else {
|
||||
Write-Host $_
|
||||
}
|
||||
Write-Host " "
|
||||
Write-Host "The Pipeline $nameOfPl was NOT created."
|
||||
Write-Host "##########################################################################"
|
||||
}
|
||||
}
|
||||
Write-Host "End Valet Bootstrap"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
param (
|
||||
[String]$proj = "ValetBootstrapper",
|
||||
[String]$org = "microsoft-bootcamp",
|
||||
[String]$ghPAT = "dkalmintest",
|
||||
[String]$azdoPAT = "[email protected]"
|
||||
)
|
||||
|
||||
[String]$azdoProject = "AZURE_DEVOPS_PROJECT="
|
||||
[String]$azdoOrg = "AZURE_DEVOPS_ORGANIZATION="
|
||||
[String]$azdoInstance = "AZURE_DEVOPS_INSTANCE_URL="
|
||||
[String]$ghAccess = "GITHUB_ACCESS_TOKEN="
|
||||
[String]$azdoAccess = "AZURE_DEVOPS_ACCESS_TOKEN="
|
||||
|
||||
$updateEnvs = (Get-Content ./valet/.env.local)
|
||||
|
||||
$updateEnvs = $updateEnvs.Replace("$azdoProject", "AZURE_DEVOPS_PROJECT=$proj")
|
||||
$updateEnvs = $updateEnvs.Replace("$azdoOrg", "AZURE_DEVOPS_ORGANIZATION=$org")
|
||||
$updateEnvs = $updateEnvs.Replace("$azdoInstance", "AZURE_DEVOPS_INSTANCE_URL=https://dev.azure.com/$org")
|
||||
$updateEnvs = $updateEnvs.Replace("$ghAccess", "GITHUB_ACCESS_TOKEN=$ghPAT")
|
||||
$updateEnvs = $updateEnvs.Replace("$azdoAccess", "AZURE_DEVOPS_ACCESS_TOKEN=$azdoPAT")
|
||||
Set-Content -Path ./valet/.env.local -Value $updateEnvs
|
||||
Reference in New Issue
Block a user