reportportal

How can I generate token using reportportal API


I am looking for a way to generate token using login/password on reportportal. Pretty sure, there should be a way using a API call. I am just not able to find it.

So given, (project name, user, password), I should get a token that I can use for making other API calls.

Thanks.


Solution

  • Get API token

    Before getting API token, you have to generate it.

    If it's already generated (you have logged in with this user), this endpoint will return you existing API token:

    GET /sso/me/apitoken

    Example:

    curl -X GET --header 'Accept: application/json' --header 'Authorization: bearer 4f73871b-e477-4f49-b1bd-805b24201fe0' 'http://web.demo.reportportal.io/uat/sso/me/apitoken'
    

    Response:

    {
      "access_token": "b1debc0a-d47d-492f-aa7c-3e2e0fb96332",
      "token_type": "bearer",
      "scope": "api"
    }
    

    Pay attention, that bearer in 1st (curl) request has scope UI and bearer in response has scope API.

    ** If GET requests returns you error, then you need to generate token.

    Generate API token

    POST sso/me/apitoken

    Example:

    curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: bearer 4f73871b-e477-4f49-b1bd-805b24201fe0' 'http://web.demo.reportportal.io/uat/sso/me/apitoken?authenticated=true'
    

    Response:

    {
      "access_token": "4e76e31e-0250-4e5e-ba66-90105dd014bb",
      "token_type": "bearer",
      "scope": "api"
    }
    

    (!) Tokens are public. Used from public account at demo instance http://web.demo.reportportal.io

    enter image description here