Release version
Publisher v7.0.0
Describe the bug
##[error]Unhandled exception. System.Net.Http.HttpRequestException: HTTP request to URI https://management.azure.com/subscriptions/8f1b4de7-0c41-4f8e-b822-72e4f157037c/resourceGroups/AzResourceGpBot/providers/Microsoft.ApiManagement/service/azsiapimnp1cassist/apis/helloworldfromfuncapp/operations/get-httptrigger1/policies/policy?api-version=2024-05-01 failed with status code 400. Content is '{"error":{"code":"ValidationError","message":"Entity with specified identifier not found","details":null}}'.
I am facing this issue, even with the simplest or sample APIs while trying to complete a successful run
Expected behavior
Publisher runs successfully, APIs published along with all operation
Actual behavior
I am able to see APIs being created but no operations added
Reproduction Steps
-
task: PowerShell@2
displayName: Run publisher for ${{ parameters.ENVIRONMENT}} environment
inputs:
targetType: "inline"
script: |
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
$VerbosePreference = "Continue"
$InformationPreference = "Continue"
$artifactRoot = "$(Build.ArtifactStagingDirectory)/apim-artifacts"
Write-Host "[INFO] Looking for API folders in: $artifactRoot"
if (-Not (Test-Path $artifactRoot)) {
Write-Host "[ERROR] Artifact root path does not exist: $artifactRoot"
exit 1
}
$foldersToDeploy = Get-ChildItem -Path $artifactRoot -Directory | Where-Object { $_.Name -ne 'Tools' }
if ($foldersToDeploy.Count -eq 0) {
Write-Host "[WARNING] No API folders found to deploy in $artifactRoot."
} else {
Write-Host "[INFO] API folders to deploy:"
foreach ($folder in $foldersToDeploy) {
Write-Host " - $($folder.FullName)"
# Log contents inside each main folder (one level deep)
$subItems = Get-ChildItem -Path $folder.FullName
if ($subItems) {
Write-Host " Contents of $($folder.Name):"
foreach ($item in $subItems) {
Write-Host " - $($item.Name)"
}
} else {
Write-Host " (Empty)"
}
}
}
$deployedCount = 0
foreach ($folder in $foldersToDeploy) {
Write-Host "[INFO] Deploying folder: $($folder.FullName)"
# Call publisher or deployment logic here, e.g.:
# & "$(PUBLISHER_FILE_PATH)" -InputPath $folder.FullName
# Simulate deployment for logging:
Write-Host "[SUCCESS] Deployed: $($folder.FullName)"
$deployedCount++
}
Write-Host "[INFO] Total folders deployed: $deployedCount"
# Print publisher binary path and version/help
Write-Host "[DEBUG] Publisher binary path: $(PUBLISHER_FILE_PATH)"
try {
& "$(PUBLISHER_FILE_PATH)" --version
} catch {
Write-Host "[DEBUG] Could not get publisher version with --version, trying --help."
try {
& "$(PUBLISHER_FILE_PATH)" --help
} catch {
Write-Host "[WARNING] Could not get publisher version or help output."
}
}
Write-Host "[DEBUG] Environment variables:"
Write-Host " AZURE_RESOURCE_GROUP_NAME=$env:AZURE_RESOURCE_GROUP_NAME"
Write-Host " API_MANAGEMENT_SERVICE_NAME=$env:API_MANAGEMENT_SERVICE_NAME"
Write-Host " AZURE_SUBSCRIPTION_ID=$env:AZURE_SUBSCRIPTION_ID"
Write-Host " AZURE_TENANT_ID=$env:AZURE_TENANT_ID"
Write-Host " AZURE_CLIENT_ID=$env:AZURE_CLIENT_ID"
Write-Host " AZURE_CLIENT_SECRET=***"
Write-Host " ARTIFACT_ROOT=$artifactRoot"
$publisherOutput = $null
$publisherError = $null
Write-Host "Running publisher with: $(PUBLISHER_FILE_PATH) -InputPath $artifactRoot -ResourceGroup $env:AZURE_RESOURCE_GROUP_NAME -ServiceName $env:API_MANAGEMENT_SERVICE_NAME -SubscriptionId $env:AZURE_SUBSCRIPTION_ID -TenantId $env:AZURE_TENANT_ID -ClientId $env:AZURE_CLIENT_ID -ClientSecret ***"
try {
$publisherOutput = & "$(PUBLISHER_FILE_PATH)" `
-InputPath $artifactRoot `
-ResourceGroup $env:AZURE_RESOURCE_GROUP_NAME `
-ServiceName $env:API_MANAGEMENT_SERVICE_NAME `
-SubscriptionId $env:AZURE_SUBSCRIPTION_ID `
-TenantId $env:AZURE_TENANT_ID `
-ClientId $env:AZURE_CLIENT_ID `
-ClientSecret $env:AZURE_CLIENT_SECRET `
--debug 2>&1
} catch {
$publisherError = $_
}
Write-Host "[DEBUG] Publisher output:"
Write-Host $publisherOutput
if ($publisherError) {
Write-Host "[ERROR] Publisher error: $publisherError"
}
if ($LASTEXITCODE -ne 0) { throw "Running publisher failed with exit code $LASTEXITCODE."}
Write-Information "Execution complete."
failOnStderr: true
pwsh: true
env:
AZURE_BEARER_TOKEN: $(AZURE_BEARER_TOKEN)
AZURE_CLIENT_ID: $(AZURE_CLIENT_ID)
AZURE_CLIENT_SECRET: $(AZURE_CLIENT_SECRET)
AZURE_TENANT_ID: $(AZURE_TENANT_ID)
AZURE_SUBSCRIPTION_ID: $(AZURE_SUBSCRIPTION_ID)
AZURE_RESOURCE_GROUP_NAME: ${{ parameters.RESOURCE_GROUP_NAME }}
API_MANAGEMENT_SERVICE_OUTPUT_FOLDER_PATH: $(Build.ArtifactStagingDirectory)/apim-artifacts
${{ if ne( parameters['API_MANAGEMENT_SERVICE_NAME'], '' ) }}:
API_MANAGEMENT_SERVICE_NAME: ${{ parameters.API_MANAGEMENT_SERVICE_NAME }}
${{ if eq( parameters['COMMIT_ID'], 'publish-artifacts-in-last-commit' ) }}:
COMMIT_ID: $(Build.SourceVersion)
${{ if ne( parameters['CONFIGURATION_YAML_PATH'], '' ) }}:
CONFIGURATION_YAML_PATH: ${{ parameters.CONFIGURATION_YAML_PATH }}
-
script: |
echo "APIM_NAME: $APIM_NAME"
echo "AZURE_SUBSCRIPTION_ID: $AZURE_SUBSCRIPTION_ID"
echo "RESOURCE_GROUP_NAME: $RESOURCE_GROUP_NAME"
echo "SERVICE_CONNECTION_NAME: $SERVICE_CONNECTION_NAME"
displayName: 'Print key variable values (publisher-with-env)'
Release version
Publisher v7.0.0
Describe the bug
##[error]Unhandled exception. System.Net.Http.HttpRequestException: HTTP request to URI https://management.azure.com/subscriptions/8f1b4de7-0c41-4f8e-b822-72e4f157037c/resourceGroups/AzResourceGpBot/providers/Microsoft.ApiManagement/service/azsiapimnp1cassist/apis/helloworldfromfuncapp/operations/get-httptrigger1/policies/policy?api-version=2024-05-01 failed with status code 400. Content is '{"error":{"code":"ValidationError","message":"Entity with specified identifier not found","details":null}}'.
I am facing this issue, even with the simplest or sample APIs while trying to complete a successful run
Expected behavior
Publisher runs successfully, APIs published along with all operation
Actual behavior
I am able to see APIs being created but no operations added
Reproduction Steps
task: PowerShell@2
displayName: Run publisher for ${{ parameters.ENVIRONMENT}} environment
inputs:
targetType: "inline"
script: |
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
$VerbosePreference = "Continue"
$InformationPreference = "Continue"
failOnStderr: true
pwsh: true
env:
AZURE_BEARER_TOKEN: $(AZURE_BEARER_TOKEN)
AZURE_CLIENT_ID: $(AZURE_CLIENT_ID)
AZURE_CLIENT_SECRET: $(AZURE_CLIENT_SECRET)
AZURE_TENANT_ID: $(AZURE_TENANT_ID)
AZURE_SUBSCRIPTION_ID: $(AZURE_SUBSCRIPTION_ID)
AZURE_RESOURCE_GROUP_NAME: ${{ parameters.RESOURCE_GROUP_NAME }}
API_MANAGEMENT_SERVICE_OUTPUT_FOLDER_PATH: $(Build.ArtifactStagingDirectory)/apim-artifacts
${{ if ne( parameters['API_MANAGEMENT_SERVICE_NAME'], '' ) }}:
API_MANAGEMENT_SERVICE_NAME: ${{ parameters.API_MANAGEMENT_SERVICE_NAME }}
${{ if eq( parameters['COMMIT_ID'], 'publish-artifacts-in-last-commit' ) }}:
COMMIT_ID: $(Build.SourceVersion)
${{ if ne( parameters['CONFIGURATION_YAML_PATH'], '' ) }}:
CONFIGURATION_YAML_PATH: ${{ parameters.CONFIGURATION_YAML_PATH }}
script: |
echo "APIM_NAME: $APIM_NAME"
echo "AZURE_SUBSCRIPTION_ID: $AZURE_SUBSCRIPTION_ID"
echo "RESOURCE_GROUP_NAME: $RESOURCE_GROUP_NAME"
echo "SERVICE_CONNECTION_NAME: $SERVICE_CONNECTION_NAME"
displayName: 'Print key variable values (publisher-with-env)'