sonarqubetokensonarqube-api

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


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

Request Payload

Here is the JSON payload I am sending:

{
    "name": "TestingfromAPI",
    "login": "ghassen@my-company.io",
    "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!


Solution

  • 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