Issue Generating GLOBAL_ANALYSIS_TOKEN via SonarQube API - 'name' Parameter Missing

162 Views Asked by At

I'm encountering an issue while attempting to generate a GLOBAL_ANALYSIS_TOKEN using the SonarQube API. I'd appreciate any assistance or insights you can offer.

Setup and Configuration

  • SonarQube Version: Enterprise Edition Version 9.9.1 (build 69595)
  • Endpoint: https://quality-analysis.my-company.io/sonar/api/user_tokens/generate
  • HTTP Method: POST

Request Payload

Here is the JSON payload I am sending:

{
    "name": "TestingfromAPI",
    "login": "[email protected]",
    "projectKey": "demo",
    "type": "GLOBAL_ANALYSIS_TOKEN",
    "expirationDate": "2023-10-30"
}

Error Message

Upon sending the request, I receive the following error message:

{
    "errors": [
        {
            "msg": "The 'name' parameter is missing"
        }
    ]
}

Questions

  1. Despite specifying the name parameter in the JSON payload, why am I still getting an error stating it's missing?
  2. Is there any specific formatting or encoding required for the name parameter?
  3. Could there be any version-specific limitations causing this?

Any guidance would be highly appreciated. Thank you!

1

There are 1 best solutions below

0
On BEST ANSWER

Documentation says nothing about content type for sending parameters. I assume they do not support JSON as an input. You may try 'x-www-form-urlencoded' form instead.

curl  -u user:password --data 'name=dummy_token_name&type=GLOBAL_ANALYSIS_TOKEN' -H 'Content-Type: application/x-www-form-urlencoded' http://localhost:9000/api/user_tokens/generate