question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Bug] ArtifactTool fails when version contains plus symbol

See original GitHub issue

Describe the bug When trying to publish a universal package using a version number with a plus symbol (+) the following error is received:

An error occurred on the service. Not Found

To Reproduce Azure Cli Version: azure-cli (2.0.54)

Azure-Devops extension version: Use az --version Look for something like- Extensions: azure-devops (0.4.0)

Steps to reproduce the behavior:

  1. login using az login
  2. Run command to publish package - e.g. az artifacts universal publish --feed SampleFeed --name 'samples-webapp' --version '1.0.0+ffbcbfdc7f' --description "My package" --path . --debug
  3. See error An error occurred on the service. Not Found

Expected behavior Universal package created and published.

Screenshots NA

Debug logs

Command arguments: ['artifacts', 'universal', 'publish', '--feed', 'SampleFeed', '--name', 'samples-webapp', '--version', '1.0.0+ffbcbfdc7f', '--description', 'foo', '--path', '.', '--debug']
Event: Cli.PreExecute []
Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x10cdddb70>, <function OutputProducer.on_global_arguments at 0x10ceb10d0>, <function CLIQuery.on_global_arguments at 0x10cece730>]
Event: CommandInvoker.OnPreCommandTableCreate []
Installed command modules ['acr', 'acs', 'advisor', 'ams', 'appservice', 'backup', 'batch', 'batchai', 'billing', 'botservice', 'cdn', 'cloud', 'cognitiveservices', 'configure', 'consumption', 'container', 'cosmosdb', 'dla', 'dls', 'dms', 'eventgrid', 'eventhubs', 'extension', 'feedback', 'find', 'hdinsight', 'interactive', 'iot', 'iotcentral', 'keyvault', 'lab', 'maps', 'monitor', 'network', 'policyinsights', 'profile', 'rdbms', 'redis', 'relay', 'reservations', 'resource', 'role', 'search', 'servicebus', 'servicefabric', 'signalr', 'sql', 'storage', 'vm']
Loaded module 'acr' in 0.005 seconds.
Loaded module 'acs' in 0.003 seconds.
Loaded module 'advisor' in 0.001 seconds.
Event: CommandLoader.OnLoadCommandTable []
Loaded module 'ams' in 0.005 seconds.
Loaded module 'appservice' in 0.005 seconds.
Loaded module 'backup' in 0.003 seconds.
Event: CommandLoader.OnLoadCommandTable []
Loaded module 'batch' in 0.008 seconds.
Loaded module 'batchai' in 0.003 seconds.
Loaded module 'billing' in 0.002 seconds.
Loaded module 'botservice' in 0.004 seconds.
Event: CommandLoader.OnLoadCommandTable []
Loaded module 'cdn' in 0.002 seconds.
Loaded module 'cloud' in 0.002 seconds.
Loaded module 'cognitiveservices' in 0.002 seconds.
Loaded module 'configure' in 0.001 seconds.
Loaded module 'consumption' in 0.003 seconds.
Loaded module 'container' in 0.002 seconds.
Loaded module 'cosmosdb' in 0.003 seconds.
Loaded module 'dla' in 0.003 seconds.
Loaded module 'dls' in 0.003 seconds.
Loaded module 'dms' in 0.002 seconds.
Loaded module 'eventgrid' in 0.002 seconds.
Loaded module 'eventhubs' in 0.010 seconds.
Loaded module 'extension' in 0.001 seconds.
Loaded module 'feedback' in 0.001 seconds.
Loaded module 'find' in 0.001 seconds.
Loaded module 'hdinsight' in 0.001 seconds.
Loaded module 'interactive' in 0.000 seconds.
Loaded module 'iot' in 0.004 seconds.
Loaded module 'iotcentral' in 0.001 seconds.
Loaded module 'keyvault' in 0.005 seconds.
Loaded module 'lab' in 0.004 seconds.
Loaded module 'maps' in 0.002 seconds.
Loaded module 'monitor' in 0.005 seconds.
Loaded module 'network' in 0.024 seconds.
Loaded module 'policyinsights' in 0.002 seconds.
Loaded module 'profile' in 0.001 seconds.
Loaded module 'rdbms' in 0.005 seconds.
Loaded module 'redis' in 0.002 seconds.
Loaded module 'relay' in 0.003 seconds.
Loaded module 'reservations' in 0.002 seconds.
Loaded module 'resource' in 0.006 seconds.
Loaded module 'role' in 0.003 seconds.
Loaded module 'search' in 0.001 seconds.
Loaded module 'servicebus' in 0.003 seconds.
Loaded module 'servicefabric' in 0.002 seconds.
Loaded module 'signalr' in 0.002 seconds.
Loaded module 'sql' in 0.005 seconds.
Event: CommandLoader.OnLoadCommandTable []
Loaded module 'storage' in 0.024 seconds.
Loaded module 'vm' in 0.012 seconds.
Loaded all modules in 0.194 seconds. (note: there's always an overhead with the first module loaded)
Extensions directory: '/Users/ducas/.azure/cliextensions'
Found 2 extensions: ['azure-devops', 'aks-virtual-node']
Extensions directory: '/Users/ducas/.azure/cliextensions'
Loaded extension 'azure-devops' in 0.036 seconds.
Extensions directory: '/Users/ducas/.azure/cliextensions'
Loaded extension 'aks-virtual-node' in 0.127 seconds.
Event: CommandInvoker.OnPreCommandTableTruncate []
Event: CommandInvoker.OnPostCommandTableCreate [<function register_global_subscription_argument.<locals>.add_subscription_parameter at 0x10d1f9158>, <function register_ids_argument.<locals>.add_ids_arguments at 0x10d23ef28>]
Event: CommandInvoker.OnCommandTableLoaded []
Event: CommandInvoker.OnPreParseArgs [<function _documentdb_deprecate at 0x10e3db158>]
Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x10ceb1158>, <function CLIQuery.handle_query_parameter at 0x10cece7b8>, <function register_ids_argument.<locals>.parse_ids_arguments at 0x10d24f048>, <function handler at 0x10e4c4ae8>, <function DevCommandsLoader.post_parse_args at 0x10edc7f28>]
Extensions directory: '/Users/ducas/.azure/cliextensions'
Extensions directory: '/Users/ducas/.azure/cliextensions'
Universal Packages is currently in preview.
Remote url: https://[INSTANCE]/[PROJECT]/_git/samples-webapp
azext_devops.vstsCompressed._file_cache : Loading cache file: /Users/ducas/.azure/azuredevops/cache/remotes.json
azext_devops.vstsCompressed._file_cache : attempting to read file /Users/ducas/.azure/azuredevops/cache/remotes.json as utf-8-sig
Detect: Url discovery took 0:00:00.008222
Checking for a new ArtifactTool
Checking for ArtifactTool updates
Getting credential: azdevops-cli:https://[INSTANCE]
keyring.backend : Loading KWallet
keyring.backend : Loading SecretService
keyring.backend : Loading Windows
keyring.backend : Loading chainer
keyring.backend : Loading macOS
Keyring backend : keyring.backends.OS_X.Keyring (priority: 5)
Getting credential: azdevops-cli: default
Keyring backend : keyring.backends.OS_X.Keyring (priority: 5)
Current cloud config:
AzureCloud
trying to get token (temp) for tenant [TENANT_ID] and user [USER_ID]
attempting to read file /Users/ducas/.e3dd0021-b17a-4204-91f2-156d68341ae8azure/accessTokens.json as utf-8-sig
adal-python :  - Authority:Performing instance discovery: ...
adal-python : [SOME_GUID] - Authority:Performing static instance discovery
adal-python : [SOME_GUID] - Authority:Authority validated via static instance discovery
adal-python : [SOME_GUID] - TokenRequest:Getting token from cache with refresh if necessary.
adal-python : [SOME_GUID] - CacheDriver:finding with query keys: {'_clientId': '...', 'userId': '...'}
adal-python : [SOME_GUID] - CacheDriver:Looking for potential cache entries: {'_clientId': '...', 'userId': '...'}
adal-python : [SOME_GUID] - CacheDriver:Found 7 potential entries.
adal-python : [SOME_GUID] - CacheDriver:Resource specific token found.
adal-python : [SOME_GUID] - CacheDriver:Returning token from cache lookup, AccessTokenId: b'[AccessTokenId]', RefreshTokenId: b'[RefreshTokenId]'
msrest.universal_http.requests : Configuring retry: max_retries=3, backoff_factor=0.8, max_backoff=90
msrest.universal_http.requests : Configuring retry: max_retries=3, backoff_factor=0.8, max_backoff=90
Current cloud config:
AzureCloud
Azure devops telemetry enabled.
Logging telemetry to azure devops server.
msrest.universal_http.requests : Configuring retry: max_retries=3, backoff_factor=0.8, max_backoff=90
msrest.universal_http.requests : Configuring retry: max_retries=3, backoff_factor=0.8, max_backoff=90
azext_devops.vstsCompressed._file_cache : Loading cache file: /Users/ducas/.vsts/python-sdk/cache/options.json
azext_devops.vstsCompressed._file_cache : attempting to read file /Users/ducas/.vsts/python-sdk/cache/options.json as utf-8-sig
azext_devops.vstsCompressed.vss_client : File cache hit for options on: https://[INSTANCE]
msrest.universal_http.requests : Configuring retry: max_retries=3, backoff_factor=0.8, max_backoff=90
msrest.universal_http.requests : Configuring retry: max_retries=3, backoff_factor=0.8, max_backoff=90
azext_devops.vstsCompressed.vss_client : Route template: _apis/{area}/{resource}
azext_devops.vstsCompressed._file_cache : Loading cache file: /Users/ducas/.vsts/python-sdk/cache/resources.json
azext_devops.vstsCompressed.vss_client : Api version '4.0-preview.1'
azext_devops.vstsCompressed.vss_client : POST https://[INSTANCE]/_apis/CustomerIntelligence/Events
azext_devops.vstsCompressed.vss_client : Request content: [{'area': 'AzureDevopsCli', 'feature': 'artifacts', 'properties': {'Command': 'universal publish', 'Args': [], 'ShellType': '/bin/zsh'}}]
msrest.universal_http : Configuring redirects: allow=True, max=30
msrest.universal_http : Configuring request: timeout=100, verify=True, cert=None
msrest.universal_http : Configuring proxies: ''
msrest.universal_http : Evaluate proxies against ENV settings: True
azext_devops.vstsCompressed._file_cache : attempting to read file /Users/ducas/.vsts/python-sdk/cache/resources.json as utf-8-sig
azext_devops.vstsCompressed.vss_connection : File cache hit for resources on: https://[INSTANCE]
msrest.universal_http.requests : Configuring retry: max_retries=3, backoff_factor=0.8, max_backoff=90
msrest.universal_http.requests : Configuring retry: max_retries=3, backoff_factor=0.8, max_backoff=90
Looking up current version of ArtifactTool...
urllib3.connectionpool : Starting new HTTPS connection (1): [INSTANCE]:443
azext_devops.vstsCompressed.vss_client : File cache hit for options on: https://[VSBLOB_URL]
azext_devops.vstsCompressed.vss_client : Route template: _apis/{area}/{toolName}/{resource}
azext_devops.vstsCompressed.vss_client : Api version '5.0-preview'
azext_devops.vstsCompressed.vss_client : GET https://[VSBLOB_URL]/_apis/clienttools/ArtifactTool/release?osName=Darwin&arch=x86_64&distroName=darwin&distroVersion=18.5.0
azext_devops.vstsCompressed.vss_client : Request content: None
msrest.universal_http : Configuring redirects: allow=True, max=30
msrest.universal_http : Configuring request: timeout=100, verify=True, cert=None
msrest.universal_http : Configuring proxies: ''
msrest.universal_http : Evaluate proxies against ENV settings: True
urllib3.connectionpool : Starting new HTTPS connection (1): [VSBLOB_URL]:443
urllib3.connectionpool : https://[INSTANCE]:443 "POST /_apis/CustomerIntelligence/Events HTTP/1.1" 204 0
azext_devops.vstsCompressed.vss_client : Response content: b''
urllib3.connectionpool : https://[VSBLOB_URL]:443 "GET /_apis/clienttools/ArtifactTool/release?osName=Darwin&arch=x86_64&distroName=darwin&distroVersion=18.5.0 HTTP/1.1" 200 358
azext_devops.vstsCompressed.vss_client : Response content: b'{"name":"ArtifactTool","rid":"osx-x64","version":"0.2.99","uri":"https://044vsblobprodeau135.vsblob.vsassets.io/artifacttool/artifacttool-osx-x64-Release_0.2.99.zip?sv=2017-04-17&sr=b&sig=05PyJmXeJq2oE1HLxA%2FnYHbwWS76ok%2FBK3TkRFPcR8I%3D&spr=https&se=2019-04-12T06%3A00%3A00Z&sp=r&P1=1555048500&P2=11&P3=2&P4=GiBFz07Ucr7GCjTSCncncjcNssl05pbDrYGsFPHPxtU%3d"}'
Checking if we already have ArtifactTool release 'ArtifactTool_osx-x64_0.2.99'
Not updating ArtifactTool because the current release already exists at '/Users/ducas/.azure/azuredevops/cli/tools/artifacttool/ArtifactTool_osx-x64_0.2.99'
Getting credential: azdevops-cli:https://[INSTANCE]
Keyring backend : keyring.backends.OS_X.Keyring (priority: 5)
Getting credential: azdevops-cli: default
Keyring backend : keyring.backends.OS_X.Keyring (priority: 5)
Current cloud config:
AzureCloud
trying to get token (temp) for tenant [TENANT_ID] and user [USER_ID]
adal-python : [SOME_GUID] - Authority:Performing instance discovery: ...
adal-python : [SOME_GUID] - Authority:Performing static instance discovery
adal-python : [SOME_GUID] - Authority:Authority validated via static instance discovery
adal-python : [SOME_GUID] - TokenRequest:Getting token from cache with refresh if necessary.
adal-python : [SOME_GUID] - CacheDriver:finding with query keys: {'_clientId': '...', 'userId': '...'}
adal-python : [SOME_GUID] - CacheDriver:Looking for potential cache entries: {'_clientId': '...', 'userId': '...'}
adal-python : [SOME_GUID] - CacheDriver:Found 7 potential entries.
adal-python : [SOME_GUID] - CacheDriver:Resource specific token found.
adal-python : [SOME_GUID] - CacheDriver:Returning token from cache lookup, AccessTokenId: b'[AccessTokenId', RefreshTokenId: b'[RefreshTokenId\'
Running external command: /Users/ducas/.azure/azuredevops/cli/tools/artifacttool/ArtifactTool_osx-x64_0.2.99/artifacttool universal publish --service https://[INSTANCE] --patvar AZURE_DEVOPS_EXT_ARTIFACTTOOL_PATVAR --feed SampleFeed --package-name samples-webapp --package-version 1.0.0+ffbcbfdc7f --path . --description foo
Ensuring that the package does not yet exist...
handling generic error
An error occurred on the service. Not Found
telemetry.save : Save telemetry record of length 2661 in cache
telemetry.check : Negative: The /Users/ducas/.azure/telemetry.txt was modified at 2019-04-11 15:03:02.854481, which in less than 600.000000 s

Additional context As soon as you replace + with - everything works!

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:1
  • Comments:8 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
ducascommented, May 4, 2019

Hi @zarenner.

Thanks for the explanation. Completely understand the issues around version ordering. Would be great to see the correct message coming through.

Cheers!

1reaction
yentheocommented, Nov 9, 2021

I just ran into this 2 year old issue which is closed because of a Google search on the error I got, being: “An error occurred on the service. Not Found”. I would’ve liked it if I was able to add the build id to my package, but besides that the error message is still the same as 2 years ago. Is Universal Packages something I should be using?

Read more comments on GitHub >

github_iconTop Results From Across the Web

ArtifactTool.exe unable to download package from universal ...
We have release pipeline, that is deploying that specific package. The release pipeline fails on step Download artifact - _externalFiles (Azure Artifacts):.
Read more >
azure devops - Packages failed to publish due to TypeError
I think I found the error, gitRepoName is a template parameter, it should be accessed as ${{ gitRepoName }} not the $(gitRepoName).
Read more >
Run the agent with a self-signed certificate - Azure Pipelines
The agent version 2.125.0 or above has the ability to ignore SSL server certificate validation error. Important.
Read more >
Package Management with Azure Artifacts - Azure DevOps Labs
This feed will include common functionality that can be shared across projects in ... On the opened window, select nuget.exe version v5.5.1.
Read more >
Use the ServiceNow DevOps extension for Azure DevOps
Install and configure DevOps extension for Azure DevOps to send build and release notifications from your Azure pipeline to ServiceNow DevOps application.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found