Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 34

All the information regarding the SeaLights APIs can be found hereYou can integrate any Testing framework with Sealights to capture Tests Events like Start and End of Test Stage, Tests results, etc using the API described on this page.
This API includes getting the list of tests recommended to be skipped by Sealights for Test Optimization (TIA) and forcing a Full-Run on the next execution of a Test Stage.

For your reference, you’ll find a few sample integrations with various Testing frameworks listed on our dedicated documentation page.

This API requires an Agent Token.

Table of Contents
minLevel1
maxLevel2
excludeRequest

Creating Test Session

Create a test session with a specific Labid and test stage, if there is no labId - use BSId instead

Calling this request to create a new test session for the current run

Code Block
breakoutModewide
POST /sl-api/v1/test-sessions

Request details

Request body

Parameter

Description

Default value

Is mandatory?

labId

Lab Id

 

(blue star)

testStage

Test Stage

 

(blue star)

bsid

Build Session Id

 

 

sessionTimeout

Session Timeout (seconds), max timeout 86400 (24 hours)

14,400 (4 hours)

 

testGroupId

Test group id

Request Samples

Code Block
breakoutModewide
POST /sl-api/v1/test-sessions HTTP/1.1
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json
{
  "labId": "LabId",
  "testStage": "Unit Tests",
  "bsid": "bsId",
  "sessionTimeout": 10000,
  "testGroupId": "job name"
}

HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Response Sample

Code Block
breakoutModewide
{
  "data": {
    "testSessionId": "341dc795-71a8-4253-b686-27ff09f04468"
  }
}

Sample Shell command and response:

Linux

Code Block
curl -X POST "https://$DOMAIN/sl-api/v1/test-sessions"
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"labId\":\"LabId\",\"testStage\":\"UnitTests\",\"bsid\":\"bsId\",\"sessionTimeout\":10000}"

200 OK
404 NOT_FOUND
500 BAD_REQUEST

Powershell

Code Block
Invoke-RestMethod -Uri "https://$SL_DOMAIN/sl-api/v1/test-sessions" -Method 'Post' \
  -Headers @{'Authorization'="Bearer $SEALIGHTS_AGENT_TOKEN";'Content-Type'='application/json'} 
  -Body @{'testStage'='Automation Tests';'bsid'='123'}

 

Get Exclude Tests v1 (deprecated)

Getting a list of tests that should be excluded

Note

Test Optimization must be turned on for the Test Stage in order to receive a non-empty response.

Calling this request to get a list of test names that should be excluded in the current run (by default with test names)

Code Block
breakoutModewide
GET /sl-api/v1/test-sessions/{testSessionId}/exclude-tests

You can specify to get only the External Tests IDs (instead of Test Names) to be returned in the response

Code Block
breakoutModewide
GET /sl-api/v1/test-sessions/{testSessionId}/exclude-tests?type=externalId

Request details

Request parameters

Parameter

Description

Is mandatory?

testSessionId

Test Session ID

(blue star)

type

enum:

  • name - Default type if not specific.

  • externalId

Request/Response Samples

Sample

Request

Response

Default (using test names)

Code Block
GET /sl-api/v1/test-sessions/{testSessionId}/exclude-tests
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json

HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST
Code Block
{
  "data":[
    "Test1",
    "Test2"
    ]
}

externalId

Code Block
GET /sl-api/v1/test-sessions/{testSessionId}/exclude-tests?type=externalId
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json

HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST
Code Block
{
  "data":[
    "123-456",
    "adg-457"
    ]
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN/sl-api/v1/test-sessions/$TESTSESSIONID/exclude-tests" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json"

200 OK
404 NOT_FOUND
500 BAD_REQUEST

Get Exclude Tests v2

Getting a list of tests that should be excluded

Note

Test Optimization must be turned on for the Test Stage in order to receive a non-empty response.

Calling this request to get a list of test names that should be excluded in the current run (by default with test names)

Code Block
breakoutModewide
GET /sl-api/v2/test-sessions/{testSessionId}/exclude-tests

Request details

Request parameters

Parameter

Description

Is mandatory?

testSessionId

Test Session ID

(blue star)

Request/Response Samples

Sample

Request

Response

Default (using test names)

Code Block
GET /sl-api/v2/test-sessions/{testSessionId}/exclude-tests
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json

HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST
Code Block
{
  "metadata": { // metadata to help DevOps debug their integration
    "appName": "string", // app name requested.
    "branchName": "string", // branch name requested.
    "buildName": "string", // build name requested.
    "testStage": "string", // test stage requested.
    "testGroupId": "string", // test group id requested.
    "testSelectionEnabled": true, // when true TIA is on the given app/branch/test-stage
    "isFullRun": true, // when true it means that on the given app/branch/test-stage for the build
    "status": "notReady", // represent recommendations status [notReady, noHistory, ready, error, wontBeReady]
    "fullRunReason": "No statistical model available for build" // describe the reason why full run is recommended (Optional, only if isFullRun=true)
  },
  "excludedTests": [ // an array of objects representing the execluded tests.
    {
      "testName": "string"
    }
  ]
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN/sl-api/v2/test-sessions/$TESTSESSIONID/exclude-tests" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json"

200 OK
404 NOT_FOUND
500 BAD_REQUEST

Sending Test Events

Sending test events with status

Calling this request for reporting SeaLights test event result.

Code Block
breakoutModewide
POST /sl-api/v2/test-sessions/{testSessionId}
Note
  • This API must be called before closing/deleting the session.

  • Please notice this specific endpoint uses a v2 URL

Info

This API can be called several times during a session to report tests in bulk.

Request details

Request parameters

Parameter

Description

Is mandatory?

testSessionId

Test Session ID

(blue star)

Request Body

Note
  • The tests skipped per the recommendation (GetExcluded Tests API above) must be explicitly included in the results of the test sent to Sealights (with the status skipped)

  • Skipped tests must be provided with start and end parameters, as well. We recommend providing them with start = end = now() value.

Parameter

Description

Is mandatory?

body

Array of Test run events (even for a single test)

 (blue star)

Test run event

 

 

name

Test Name

(blue star)

externalId

(Optional) Test ID from the Test Management platform/framework .
This identifier must be Unique and a string long up to 48 characters.

start

Starting time of the test (milliseconds since epoch)

(blue star)

end

Ending time of the test (milliseconds since epoch)

(blue star)

status

Test status: passed, failed or skipped

(blue star)

Warning

In case of Invalid parameters, API will return an Error code 400 INVALID. For example, if the timestamps are not sent in milliseconds format, API will return with code 400 and a message Invalid timestamp

Request Samples

Code Block
breakoutModewide
POST /sl-api/v2/test-sessions/{testSessionId}
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json
[
  {
    "name": "TestToRun1",
    "start": 1619341754996,
    "end": 1619341754998,
    "status": "passed"
  }
]

HTTP/1.1 200 OK
HTTP/1.1 400 INVALID
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Sample Shell command and response:

Code Block
breakoutModewide
curl -X POST "https://$DOMAIN/sl-api/v2/test-sessions/$TESTSESSIONID" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \
  -d "[{\"name\":\"TestToRun1\",\"start\":1619341754996,\"end\":1619341754998,\"status\":\"passed\"}]"

200 OK
400 INVALID
404 NOT_FOUND
500 BAD_REQUEST

 

Delete Test Session

Delete test session when sending of test events has been done.

Calling this request will close the test session and update the coverage.

Code Block
breakoutModewide
DELETE /sl-api/v1/test-sessions/{testSessionId}

Request details

Request parameters

Parameter

Description

Is mandatory?

testSessionId

Test Session ID

(blue star)

Request Samples

Code Block
breakoutModewide
DELETE /sl-api/v1/test-sessions/{testSessionId}
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json

HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Sample Shell command and response:

Code Block
breakoutModewide
curl -X DELETE "https://$DOMAIN/sl-api/v1/test-sessions/$TESTSESSIONID" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" 

200 OK
404 NOT_FOUND
500 BAD_REQUEST

Force “Full-Run” on a Test Stage

This request will schedule a “full run” for the subsequent execution of a specified Test Stage.

Code Block
breakoutModewide
 PUT /sl-api/v1/tia/apps/{appName}/branches/{branchName}/testStages/{testStage}/full-run
Note

This API call should be executed BEFORE creating the test session.

Request details

Request parameters

Parameter

Description

Is mandatory?

appName

App to schedule full run for

(blue star)

branchName

Branch to schedule full run for

(blue star)

testStage

Test Stage to schedule full run for

(blue star)

Request Body

Parameter

Description

Is mandatory?

enable

Boolean indicator, indicates if next run will be full run or not

(blue star)

Request Samples

Code Block
breakoutModewide
PUT /sl-api/v1/tia/apps/{appName}/branches/{branchName}/testStages/{testStage}/full-run
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json
{
    "enable": true
}

HTTP/1.1 200 OK
HTTP/1.1 400 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Sample Shell command and response:

Code Block
breakoutModewide
curl -X PUT "https://$DOMAIN/sl-api/v1/tia/apps/$APPNAME/branches/$BRANCHNAME/testStages/$TESTSTAGE/full-run" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"enable\":true}"

200 OK
404 NOT_FOUND
500 BAD_REQUEST

Get Recommended Tests (White List)

Table of Contents
minLevel2
maxLevel2
includeGet Recommended Tests
outlinefalse
indent
excludeRequest
typelist
class
printablefalse
Note

This API call does not require a test session.

Get Recommended Tests for the latest build from a specific app/branch

Get recommendations for the latest build for a specific app/branch: it returns a list of test names recommended to be run.

Code Block
breakoutModewide
/sl-api/v1/tia/apps/{appName}/branches/{branchName}/test-stages/{testStage}/recommendations

Request details

Request parameters

Parameter

Description

Is mandatory?

appName

App name

(blue star)

branchName

Branch name

(blue star)

testStage

Test Stage name

(blue star)

Expand
titleOptional parameters

Parameter

Description

Is mandatory?

offset

Result offset - used for pagination

 

limit

Result limit - used for pagination (max limit 100,000 records)

 

search

Free text to filter the recommednations by

 

sortBy

Sort recommnedations bym options are:

  • testName

 

sortDirection

Sort recommendations direction, options are:

  • asc

  • desc

 

facet

Saved filters according to recommendations` types, options are:

  • all (default)

  • impacted

  • dependent

  • recentlyFailed

  • previouslyRecommendedAndNotExecuted

  • pinned

  • other

 

Request/Response Samples

Sample

Request

Response

Default

Code Block
/sl-api/v1/tia/apps/{appName}/branches/{branchName}/test-stages/{testStage}/recommendations
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json

HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Code Block
{
  "data": {
    "total": 500,
    "next": 50,
    "previous": 0,
    "list": [
      {
        "testName": "it should return ok",
        "testType": "parameterized",
        "numberOfpermutations": 3,
        "reasons": [
          "impacted"
        ],
        "relativeBuild": {
          "bsId": "some-bsid",
          "buildName": "build1",
          "timestamp": 1651545121
        },
        "pinnedBy": "user",
        "pinnedDate": "12/12/2022",
        "pinnedReason": "important test"
      }
    ],
    "metadata": {
      "appName": "app1",
      "branchName": "master",
      "buildName": "build1",
      "buildSessionId": "bsid1",
      "testStage": "Unit Tests"
    }
  }
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN/sl-api/v1/tia/apps/$APP_NAME/branches/$BRANCH_NAME/test-stages/$TEST_STAGE/recommendations" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \

200 OK
400 Missing parameters
401 Recommendations not found due to error

Get Recommended Tests by BSID and Test-Stage

Get recommendations for a specific build according to buildSessionId: it will return a list of test names that are recommended to be run for the given build.

Code Block
breakoutModewide
/sl-api/v1/tia/builds/{bsId}/test-stages/{testStage}/recommendations

Request details

Request parameters

Parameter

Description

Is mandatory?

bsId

Build session Id

(blue star)

testStage

Test Stage name

(blue star)

offset

Result offset - used for pagination

 

limit

Result limit - used for pagination (max limit 100,000 records)

 

search

Free text to filter the recommednations by

 

sortBy

Sort recommnedations bym options are:

  • testName

 

sortDirection

Sort recommendations direction, options are:

  • asc

  • desc

 

facet

Saved filters according to recommendations` types, options are:

  • all (default)

  • impacted

  • dependent

  • recentlyFailed

  • previouslyRecommendedAndNotExecuted

  • pinned

  • other

 

Request Samples

Code Block
breakoutModewide
/sl-api/v1/tia/builds/{bsId}/test-stages/{testStage}/recommendations
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json

HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Response Sample

Code Block
breakoutModewide
{
  "data": {
    "total": 500,
    "next": 50,
    "previous": 0,
    "list": [
      {
        "testName": "it should return ok",
        "testType": "parameterized",
        "numberOfpermutations": 3,
        "reasons": [
          "impacted"
        ],
        "relativeBuild": {
          "bsId": "some-bsid",
          "buildName": "build1",
          "timestamp": 1651545121
        },
        "pinnedBy": "user",
        "pinnedDate": "12/12/2022",
        "pinnedReason": "important test"
      }
    ],
    "metadata": {
      "appName": "app1",
      "branchName": "master",
      "buildName": "build1",
      "buildSessionId": "bsid1",
      "testStage": "Unit Tests"
    }
  }
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN/sl-api/v1/tia/builds/$BSID/test-stages/$TEST_STAGE/recommendations" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \

200 OK
400 Missing parameters
401 Recommendations not found due to error

Get Recommended Tests by app name, branch name, build name and Test Stage

Get recommendations for a specific build according to app/branch/build-name.

Calling this request for getting a list of test names that are recommended to be run for the given build.

Code Block
breakoutModewide
/sl-api/v1/tia/apps/{appName}/branches/{branchName}/builds/{buildName}/test-stages/{testStage}/recommendations

Request details

Request parameters

Parameter

Description

Is mandatory?

appName

App name

(blue star)

branchName

Branch name

(blue star)

buildName

Build name

(blue star)

testStage

Test Stage name

(blue star)

offset

Result offset - used for pagination

 

limit

Result limit - used for pagination (max limit 100,000 records)

 

search

Free text to filter the recommednations by

 

sortBy

Sort recommnedations bym options are:

  • testName

 

sortDirection

Sort recommendations direction, options are:

  • asc

  • desc

 

facet

Saved filters according to recommendations` types, options are:

  • all (default)

  • impacted

  • dependent

  • recentlyFailed

  • previouslyRecommendedAndNotExecuted

  • pinned

  • other

 

Request Samples

Code Block
breakoutModewide
/sl-api/v1/tia/apps/{appName}/branches/{branchName}/builds/{buildName}/test-stages/{testStage}/recommendations
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json

HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Response Sample

Code Block
breakoutModewide
{
  "data": {
    "total": 500,
    "next": 50,
    "previous": 0,
    "list": [
      {
        "testName": "it should return ok",
        "testType": "parameterized",
        "numberOfpermutations": 3,
        "reasons": [
          "impacted"
        ],
        "relativeBuild": {
          "bsId": "some-bsid",
          "buildName": "build1",
          "timestamp": 1651545121
        },
        "pinnedBy": "user",
        "pinnedDate": "12/12/2022",
        "pinnedReason": "important test"
      }
    ],
    "metadata": {
      "appName": "app1",
      "branchName": "master",
      "buildName": "build1",
      "buildSessionId": "bsid1",
      "testStage": "Unit Tests"
    }
  }
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN/sl-api/v1/tia/apps/$APP_NAME/branches/$BRANCH_NAME/builds/$BUILD_NAME/test-stages/$TEST_STAGE/recommendations" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \

200 OK
400 Missing parameters
401 Recommendations not found due to error

Get Executions Status List

Calling this request will respond with a status of all executions that are suitable for the request.

Code Block
breakoutModewide
GET /sl-api/v1/executions

This API provides you the ability to handle unexpected end of the execution of your tests that may not trigger the graceful closure of the test session to Sealights (via delete Session API call).
If the Timeout set at the creation of the execution is not sufficient to ensure automatic closure, you can use this API to list the executions left open and close them one by one gracefully before opening new sessions.

Request details

Request parameters

Note

You must provide LabId or/and BuildSessionID (bsid)

Parameter

Description

Is mandatory?

bsid

Build session Id

(blue star)

labId

Lab Id

(blue star)

testStage

Test Stage

status

enum:

  • created

  • pendingDelete / deleting

  • ended

Request Samples

Code Block
breakoutModewide
GET /sl-api/v1/executions?bsid={bsid}&status={status}&testStage={testStage}
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json

HTTP/1.1 200 OK
HTTP/1.1 500 BAD_REQUEST

Response Sample

Code Block
breakoutModewide
{
  "data": {
    "total": 3,
    "list": [
      {
        "executionId": "executionId1",
        "bsId": "buildSessionId1",
        "labId": "labId1",
        "creationTime": 226978745454,
        "ttl": 3000,
        "testStage": "unit",
        "status": "created"
      }
    ]
  }
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN/sl-api/v1/executions?bsid=$bsid" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" 

200 OK
500 BAD_REQUEST

Get Test Runs

Table of Contents
minLevel2
maxLevel2
includeGet Test Runs
outlinefalse
typelist
printablefalse

Get Test Runs by buildSessionId and Test-Stage

Get test runs for a specific build according to the build session ID and test stage.

Code Block
breakoutModewide
/sl-api/v2/tests/builds/{bsId}/test-stages/{testStage}/runs

Request details

Request parameters

Parameter

Description

Is mandatory?

bsId

Build session Id

(blue star)

testStage

Test Stage name

(blue star)

testGroupId

Id of the test group

offset

Result offset - used for pagination

 

limit

Result limit - used for pagination (max limit 100,000 records)

 

Request Samples

Code Block
breakoutModewide
/sl-api/v2/tests/builds/{bsId}/test-stages/{testStage}/runs
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json
HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Response Sample

Code Block
breakoutModewide
{
    "data":
    {
        "total": 163,
        "list":
        [
            {
                "executionId": "eId1",
                "testName": "it should return ok",
                "results":
                {
                    "passed": 0,
                    "failed": 0,
                    "skipped": 1,
                    "total": 1
                },
                "testGroupId": "group 1"
            }
        ],
        "metadata":
        {
            "appName": "My app",
            "branchName": "Development",
            "buildName": "21.2",
            "buildSessionId": "45699dbe-b7a9-4b95-98ba-10e9173a1221",
            "testStage": "Acceptance Tests",
            "txId": "APIGW-2c8688c2-6c93-48df-9e21-c15862f4as5f",
            "dateTime": "Tue, 01 Aug 2023 04:53:12 GMT"
        },
        "summary":
        {
            "total": 163,
            "passed": 80,
            "skipped": 94,
            "failed": 0
        }
    }
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN/sl-api/v2/tests/builds/{bsId}/test-stages/{testStage}/runs" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \

200 OK

400 Missing parameters

Get Test Runs by app name, branch name, build name and Test Stage

Get test runs for a specific build according to the app name, branch name, build name and test stage.

Code Block
breakoutModewide
/sl-api/v2/tests/apps/{appName}/branches/{branchName}/builds/{buildName}/test-stages/{testStage}/runs

Request details

Request parameters

Parameter

Description

Is mandatory?

appName

App Name

(blue star)

branchName

Branch Name

(blue star)

buildName

Build Name

(blue star)

testStage

Test Stage name

(blue star)

testGroupId

Id of the test group

offset

Result offset - used for pagination

 

limit

Result limit - used for pagination (max limit 100,000 records)

 

Request Samples

Code Block
breakoutModewide
/sl-api/v2/tests/apps/{appName}/branches/{branchName}/builds/{buildName}/test-stages/{testStage}/runs
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json
HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Response Sample

Code Block
breakoutModewide
{
    "data":
    {
        "total": 163,
        "list":
        [
            {
                "executionId": "eId1",
                "testName": "it should return ok",
                "results":
                {
                    "passed": 0,
                    "failed": 0,
                    "skipped": 1,
                    "total": 1
                },
                "testGroupId": "group 1"
            }
        ],
        "metadata":
        {
            "appName": "My app",
            "branchName": "Development",
            "buildName": "21.2",
            "buildSessionId": "45699dbe-b7a9-4b95-98ba-10e9173a1221",
            "testStage": "Acceptance Tests",
            "txId": "APIGW-2c8688c2-6c93-48df-9e21-c15862f4as5f",
            "dateTime": "Tue, 01 Aug 2023 04:53:12 GMT"
        },
        "summary":
        {
            "total": 163,
            "passed": 80,
            "skipped": 94,
            "failed": 0
        }
    }
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN//sl-api/v2/tests/apps/{appName}/branches/{branchName}/builds/{buildName}/test-stages/{testStage}/runs" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \

200 OK

400 Missing parameters

Get Test Runs by latest build on app name, branch name and Test Stage

Get test runs for a specific build according to the app name, branch name, build name and test stage.

Code Block
breakoutModewide
/sl-api/v2/tests/apps/{appName}/branches/{branchName}/testStages/{testStage}/runs

Request details

Request parameters

Parameter

Description

Is mandatory?

appName

App Name

(blue star)

branchName

Branch Name

(blue star)

testStage

Test Stage name

(blue star)

testGroupId

Id of the test group

offset

Result offset - used for pagination

 

limit

Result limit - used for pagination (max limit 100,000 records)

 

Request Samples

Code Block
breakoutModewide
/sl-api/v2/tests/apps/{appName}/branches/{branchName}/testStages/{testStage}/runs
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json
HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Response Sample

Code Block
breakoutModewide
{
    "data":
    {
        "total": 163,
        "list":
        [
            {
                "executionId": "eId1",
                "testName": "it should return ok",
                "results":
                {
                    "passed": 0,
                    "failed": 0,
                    "skipped": 1,
                    "total": 1
                },
                "testGroupId": "group 1"
            }
        ],
        "metadata":
        {
            "appName": "My app",
            "branchName": "Development",
            "buildName": "21.2",
            "buildSessionId": "45699dbe-b7a9-4b95-98ba-10e9173a1221",
            "testStage": "Acceptance Tests",
            "txId": "APIGW-2c8688c2-6c93-48df-9e21-c15862f4as5f",
            "dateTime": "Tue, 01 Aug 2023 04:53:12 GMT"
        },
        "summary":
        {
            "total": 163,
            "passed": 80,
            "skipped": 94,
            "failed": 0
        }
    }
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN///sl-api/v2/tests/apps/{appName}/branches/{branchName}/testStages/{testStage}/runs" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \

200 OK

400 Missing parameters

Recalculation

Get Previous Build to Recalculate

Note

This specific API is in beta mode. Please contact your Customer Success representative for details.

Get a list of previous builds that the TIA can re-calculate against them

Code Block
breakoutModewide
/sl-api/v1/builds/{bsId}/test-stages/{testStage}/previous

Request details

Request parameters

Parameter

Description

Is mandatory?

bsId

Build Session Id

(blue star)

testStage

Test stage name

(blue star)

offset

Result offset - Used for pagination

limit

Result limit - Used for pagination (max limit 100,000 records)

branchName

Limit query to a specific branch

Request Sample

Code Block
breakoutModewide
/sl-api/v1/builds/{bsId}/test-stages/{testStage}/previous
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json
HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Response Sample

Code Block
breakoutModewide
{
  "data": {
    "total": 500,
    "next": 50,
    "previous": 0,
    "list": [
      {
        "branchName": "dev-1",
        "buildName": "build-1",
        "bsId": "some-bsid"
      }
    ]
  }
}

Sample Shell command and response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN/sl-api/v1/builds/$BSID/test-stages/$TEST_STAGE}/previous" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \

200 OK

400 Missing parameters

Re-calculate Recommendations Based on Baseline BuildSessionId

Note

This specific API is in beta mode. Please contact your Customer Success representative for details.

Re-calculation of recommendations to specific build and test stage

Code Block
breakoutModewide
/sl-api/v1/tia/builds/{bsId}/test-stages/{testStage}/recommendations/calculate

Request details

Parameter

Description

Is mandatory?

bsId

Build Session Id

(blue star)

testStage

Test stage name

(blue star)

baselineBsId

Build Session ID against which to recalculate

(blue star)

Request Sample

Code Block
breakoutModewide
/sl-api/v1/tia/builds/${bsId}/test-stages/${testStage}/recommendations/calculate?baselineBsId=${baseLineBsID}
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json
HTTP/1.1 200 OK
HTTP/1.1 404 NOT_FOUND
HTTP/1.1 500 BAD_REQUEST

Response Sample

Code Block
breakoutModewide
{
  "data": {
    "recommendationsUrl": "/sl-api/v1/tia/builds/ff1e8adf-2617-4320-a6ec-aab25b46f15a/test-stages/Unit Tests/recommendations"
  }
}

Sample Shell Command and Response:

Code Block
breakoutModewide
curl -X GET "https://$DOMAIN/sl-api/v1/tia/builds/$BSID/test-stages/$TEST_STAGE/recommendations/calculate?baselineBsId=$BASELINE_BSID" \
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \

200 OK

400 Missing parameters

 

Enable/Disable TIA

Enable/Disable TIA for a given app/branch

Code Block
breakoutModewide
POST /sl-api/v1/tia/apps/{appName}/branches/{branchName}/test-stages/{testStage}/test-selection-status

Request details

Request parameters

Parameter

Description

Is mandatory?

appName

App Name

(blue star)

branchName

Branch Name

(blue star)

testStage

Test Stage name

(blue star)

Request body

Parameter

Description

Default value

Is mandatory?

testSelectionStatus

Enable/Disable TIA

 

(blue star)

Request Samples

Code Block
breakoutModewide
POST /sl-api/v1/tia/apps/{appName}/branches/{branchName}/test-stages/{testStage}/test-selection-status HTTP/1.1
Authorization: Bearer {sealights-agent-token}
Content-Type: application/json
{
  "testSelectionStatus": true
}

HTTP/1.1 200 test selection status updated
HTTP/1.1 400 Bad request
HTTP/1.1 500 Server error

Sample Shell command and response:

Linux

Code Block
curl -X POST "https://$DOMAIN/sl-api/v1/tia/apps/${appName}/branches/${branchName}/test-stages/${testStage}/test-selection-status"
  -H "Authorization: Bearer $SEALIGHTS_AGENT_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"testSelectionStatus\": true}"

Powershell

Code Block
Invoke-RestMethod -Uri "https://$SL_DOMAIN/sl-api/v1/tia/apps/${appName}/branches/${branchName}/test-stages/${testStage}/test-selection-status" -Method 'Post' \
  -Headers @{'Authorization'="Bearer $SEALIGHTS_AGENT_TOKEN";'Content-Type'='application/json'} 
  -Body @{'testSelectionStatus'=true}