Преобразование строки в логическое значение в PowerShell - PullRequest
0 голосов
/ 26 мая 2020

У меня есть сценарий для загрузки пакета в Octopus, я использую дельта-сжатие и получаю следующий сбой: не удается обработать преобразование аргументов для параметра «DeltaCompression». Невозможно преобразовать значение «System.String» в тип «System.Boolean». Я использую Delta Compression в моем вызове pu sh, я установил $ DeltaCompression для типа bool, поэтому я не уверен, почему в сообщении об ошибке говорится о преобразовании строки в логическое значение. Может кто-нибудь подскажет, что не так или исправление для этого? Спасибо.

Код:

#Function to push packages to Octopus

function PushPackage {
param(
    [string]$OctopusUri,
    [string]$ApiKey,
    [string]$Package,
    [bool]$DeltaCompression
)

try{ 
   $tries=1
   do 
   {
    Write-Host "Pushing $Package to Octopus"
    & $OctoExePath push --package $Package --server $OctopusUri --apiKey $ApiKey --use-delta-compression $DeltaCompression --logLevel 'verbose'

    $tries++
    }until($LASTEXITCODE -eq 0 -or $LASTEXITCODE -eq $null -or $tries -gt 5)
}
catch{
      $failMessage = "$($_.Exception.ToString()).$($_.InvocationInfo.PositionMessage)"
      Write-Host "PUSH PACKAGE Exception--------- $failMessage"
    }
}

$Package = "C:\temp\OctoTest\MyTestPackage.1.0.0.zip"
$OctoExePath = "C:\Users\QVL6\Downloads\OctopusTools.7.3.7.win-x64\octo.exe"
$DeltaCompression = "$false"
$ApiKey = "API-CRW9JBMJG8Z6ONIOATU16PVVV5E"

PushPackage $OctopusUri $ApiKey $Package $DeltaCompression

1 Ответ

0 голосов
/ 15 июня 2020

Необходимо заменить строку.

От:

  $DeltaCompression = "$false"

Кому:

 [bool]$DeltaCompression = $false;
...