-
Notifications
You must be signed in to change notification settings - Fork 234
Description
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)'