Я создаю новый ключ API со следующим сценарием Powershell:
function CreateAPIKey{
Param(
$OctopusURL,
$APIKey,
$UserName,
$APIKeyPurpose,
$NewAPIKey
)
##PROCESS
$header = @{ "X-Octopus-ApiKey" = $APIKey }
$body = @{
Purpose = $APIKeyPurpose
} | ConvertTo-Json
#Getting all users to filter target user by name
$allUsers = (Invoke-WebRequest "$OctopusURL/api/users/all" -Headers $header -Method Get -UseBasicParsing).content | ConvertFrom-Json
#Getting user that owns API Key that will be deleted
$User = $allUsers | where{$_.username -eq $UserName}
#Creating API Key
$CreateAPIKeyResponse = (Invoke-WebRequest "$OctopusURL/api/users/$($User.id)/apikeys" -Method Post -Headers $header -Body $body -UseBasicParsing -Verbose).content | ConvertFrom-Json
#Printing new API Key
$NewAPIKey = $($CreateAPIKeyResponse.apikey)
Write-output "API Key created: $($CreateAPIKeyResponse.apikey)"
}
CreateAPIKey $OctopusURL $APIKey $UserName $APIKeyPurpose $NewAPIKey
Этот сценарий работает нормально и создает новый ключ API, когда я запускаю его из Octopus Deploy. Затем я настраиваю проект в Octopus, где хочу отправить себе электронное письмо с именем пользователя и новым ключом API. У меня есть переменные настройки, где имя пользователя жестко закодировано и отображается в электронной почте нормально. Но я не знаю, какое значение назначить $ NewAPIKey, как показано ниже.
Когда я получаю письмо, все, что я получаю, это # {NewAPIKey}, где APIKey должен быть.