API Documentation

POST

/upload/{project_name}

Parameters:

  • project_name (string): Name of the project
  • file (file): The file(s) to be uploaded (can be multiple)

Headers:

  • accept: text/plain
  • api_key: <API key value obtained at register>
  • user_name: <User name at register>
  • Content-Type: multipart/form-data

Uploads the files to perform an execution. The project name is specified in the path. Automatically triggered by CI providers.

Example:

                
  POST /upload/project1-24
  Headers:
    accept: text/plain
    api_key: your_api_key
    user_name: your_username
    Content-Type: multipart/form-data
  
  Body:
    file: app-debug.apk
    file: app-debug-androidTest.apk
    file: CCSIM-environment-file.json
  
  Response:
  {
    "Upload successful!"
  }
        
              
GET

/launch/{project_name}

Parameters:

  • project_name (string): Name of the project

Headers:

  • accept: text/plain
  • api_key: <API key value obtained at register>
  • user_name: <User name at register>

Performs an execution of a project in CCSIM, based on the name of the project. Automatically triggered by CI providers.

Example:

                
  GET /launch/project1-24
  Headers:
    accept: text/plain
    api_key: your_api_key
    user_name: your_username
  
  Response:
  {
    "Request accepted! CCSIM workflow execution will begin soon."
  }
        
              
GET

/database/projects/{user_name}

Parameters:

  • user_name (string): Name of the user

Headers:

  • accept: application/json
  • api_key: <API key value obtained at register>
  • user_name: <User name at register>

Retrieves information about all the projects belonging to a concrete user.

Example:

                
  GET /database/projects/tester
  Headers:
    accept: application/json
    api_key: your_api_key
    user_name: your_username
  
  Response:
  [
    {
      "apk_file": "tester/project1-24/data/app-debug.apk",
      "apk_test_file": "tester/project1-24/data/app-debug-androidTest.apk",
      "creation_date": "21-3-2024-11:3:18:45",
      "json_config": "tester/project1-24/data/json-config-new.json",
      "project_name": "project1-24",
      "user_name": "tester"
    },
    ...
  ]
        
              
GET

/database/project/{project_name}

Parameters:

  • project_name (string): Name of the project

Headers:

  • accept: application/json
  • api_key: <API key value obtained at register>
  • user_name: <User name at register>

Retrieves information about a specific project belonging to a user.

Example:

                
  GET /database/project/project1-24
  Headers:
    accept: application/json
    api_key: your_api_key
    user_name: your_username
  
  Response:
  {
    "apk_file": "tester/project1-24/data/app-debug.apk",
    "apk_test_file": "tester/project1-24/data/app-debug-androidTest.apk",
    "creation_date": "21-3-2024-11:3:18:45",
    "json_config": "tester/project1-24/data/json-config-new.json",
    "project_name": "project1-24",
    "user_name": "tester"
  }
        
              
GET

/database/executions/{user_name}

Parameters:

  • user_name (string): Name of the user

Headers:

  • accept: application/json
  • api_key: <API key value obtained at register>
  • user_name: <User name at register>

Retrieves information about all the project executions belonging to a user.

Example:

                
  GET /database/executions/tester
  Headers:
    accept: application/json
    api_key: your_api_key
    user_name: your_username
  
  Response:
  [
    {
      "associated_cost": 2.67,
      "devices_logs": "tester/project1-24/project1-24-21-2-2024-10-8-48-709/logs",
      "execution_finished": 1,
      "execution_name": "project1-24-21-2-2024-10:8:48:709",
      "execution_state": "FINISHED",
      "ms_end_execution": 2012007,
      "ms_start_execution": 1144,
      "project_name": "project1-24"
    },
    ...
  ]
        
              
GET

/database/execution/{execution_name}

Parameters:

  • execution_name (string): Name of the execution

Headers:

  • accept: application/json
  • api_key: <API key value obtained at register>
  • user_name: <User name at register>

Retrieves all the information associated with a specific project execution belonging to a user.

Example:

                
  GET /database/execution/project1-24-21-2-2024-10:8:48:709
  Headers:
    accept: application/json
    api_key: your_api_key
    user_name: your_username
  
  Response:
  {
    "associated_cost": 2.67,
    "devices_logs": "tester/project1-24/project1-24-21-2-2024-10-8-48-709/logs",
    "execution_finished": 1,
    "execution_name": "project1-24-21-2-2024-10:8:48:709",
    "execution_state": "FINISHED",
    "ms_end_execution": 2012007,
    "ms_start_execution": 1144,
    "project_name": "project1-24"
  }
        
              
GET

/download/{execution_name}

Parameters:

  • execution_name (string): Name of the execution

Headers:

  • accept: application/zip
  • api_key: <API key value obtained at register>
  • user_name: <User name at register>

Allows the download of all log files generated by a project execution belonging to a user. This download will be done as a compressed zip file with all the files inside.

Example:

                
  GET /download/project1-24-21-2-2024-10:8:48:709
  Headers:
    accept: application/zip
    api_key: your_api_key
    user_name: your_username
  
  Response:
  A zip file is downloaded containing:
  - Local logs of the execution
  - A log file for each mobile device
  - A log file for each UI tests set performed in a mobile device
  - Standard error for the execution
  - Standard output for execution
  - Results of the Quality-of-Service tests performed