Я строю хранилище данных, которое требует определенных значений из конвейера.
Использование функции invoke azure работает, если я жестко кодирую значения, однако не работает, если я хочу создать или выпустить значения на лету.
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/azure-function?view=azure-devops
Для моей функции требуется номер сборки, однако, когда я пытаюсь добавить следующее к параметрам запроса, вместо значений отправляются слова:
BuildNumber=$($env:BUILD_BUILDNUMBER)
или
BuildNumber=$env:BUILD_BUILDNUMBER
или
BuildNumber = $ (build.BUILDNUMBER)
YAML
variables:
ApplicationCI: 'Test'
steps:
- task: AzureFunction@1
displayName: 'Azure Function: https://site.azurewebsites.net/api/address'
inputs:
function: 'https://site.azurewebsites.net/api/Address'
key: 'MyKey=='
method: GET
queryParameters: 'ApplicationCI=$(ApplicationCI)&BuildNumber=$(build.BUILDNUMBER)&ring=-1&BuildDefinitionName=$(build.DEFINITIONNAME)&BuildOwnerId=$(build.QUEUEDBY)&BuildStartTime=$(system.PIPELINESTARTTIME)&ChangeSet=$(build.SOURCEVERSION)&ReleaseDefinitionName=$(release.DEFINITIONNAME)&ReleaseStart=$(release.DEPLOYMENT_STARTTIME)&SourceLocation=$(build.SOURCEBRANCH)&StagingFolder=$(system.ARTIFACTSDIRECTORY)'
или
variables:
ApplicationCI: 'Test'
steps:
- task: AzureFunction@1
displayName: 'Azure Function: https://site.azurewebsites.net/api/address'
inputs:
function: 'https://site.azurewebsites.net/api/address'
key: 'MyKey=='
method: POST
headers: |
{
"ApplicationCI":"$(ApplicationCI)",
"BuildNumber": "$(build.BUILDNUMBER)",
"ring": "-1",
"BuildDefinitionName": "$(build.DEFINITIONNAME)",
"BuildOwnerId": "$(build.QUEUEDBY)",
"BuildStartTime": "$(system.PIPELINESTARTTIME)",
"ChangeSet": "$(build.SOURCEVERSION)",
"ReleaseDefinitionName": "$(release.DEFINITIONNAME)",
"ReleaseStart": "$(release.DEPLOYMENT_STARTTIME)",
"SourceLocation": "$(build.SOURCEBRANCH)",
"StagingFolder": "$(system.ARTIFACTSDIRECTORY)"
}
Есть ли у кого-нибудь совет, как мне кодировать значение переменной для номера сборки в вызове функции invoke azure?
ОБНОВЛЕНИЕ
Изменение, чтобы получить меня ближе
https://site.azurewebsites.net/api/address?code=mykey==&ApplicationCI=Test 1 & BuildNumber = 20190508,4 & кольцо = -1 & BuildDefinitionName = MyApplication-AzureFunction & BuildOwnerId = $ (build.QUEUEDBY) & BuildStartTime = $ (system.PIPELINESTARTTIME) & набор изменений = 23624 & ReleaseDefinitionName = MyApplication-AzureFunction & ReleaseStart = $ (release.DEPLOYMENT_STARTTIME) & SourceLocation = $ / тест / Main & StagingFolder = $ (system.ARTIFACTSDIRECTORY)
Apparently I only need values for these
$(build.QUEUEDBY)
$(system.PIPELINESTARTTIME)
$(release.DEPLOYMENT_STARTTIME)
$(system.ARTIFACTSDIRECTORY)
Thanks everyone for your help so far.