Skip to content

Calliope JSON format

Calliope has its own JSON format. This can be used for multiple purposes:

  • Exporting your results to a different tool
  • Copying your results to a new report
  • Getting insight on the Calliope database structure

Example file

Download our example file here: example_calliope_report.json

Structure

Report

  • Parents:
  • Children:
  • Attributes
    • id: uuid ID of the report.
    • profile_id: integer ID of the profile.
    • import_id: uuid Reference to the logs of the import into Calliope.
    • import_status: enum Determine if the import was successful, for example, if we fail to translate your file to the Calliope format (0=success, 1=failure).
    • date: datetime Timestamp of the report, this is used for the actual timeline of reports.
    • origin: string A reference to what kind of original format it was (e.g. cucumber_json, junit_xml, xunit_xml). Could be sometimes used for specific exceptions.
    • created_at: datetime Timestamp of when the report was created.
    • updated_at: datetime Timestamp of when the report was last changed.
    • test_suite_id: test_suite_id deprecated.
    • count_total, count_passed, count_...: integer When something in a report changes, we cache the values to be able to quickly display the result.
    • cached_total, cached_passed, caches_...: integer Alias for count_... attribute
    • build: string Variable set from import call for a user to refer to.
    • os: string Variable set from import call for a user to refer to.
    • platform: string Variable set from import call for a user to refer to.
    • containers: array [container, container] Zero or more containers.
    • assets array [asset, asset] Zero or more assets.

Container

  • Parents:
    • 0..1 report (either a report or a container.)
    • 0..1 container (either a report or a container.)
  • Children:
  • Attributes
    • id: uuid ID of the container.
    • report_id: uuid ID of the parent report (optional, only set if the direct parent is a report).
    • container_id: uuid ID of the parent container(optional, can be null if the parent is a report).
    • title: string Title of the container.
    • classification: string Depending on the origin of the container, it gets a classification. e.g. when the container was generated from a Cucumber scenario, the classification becomes Scenario(optional).
    • count_total, count_passed, count_...: integer Cached values of the totals of all child results.
    • cached_total, cached_passed, caches_...: integer Alias for count_... attribute.
    • position: integer Determines the order of the container to display in.
    • status: string copies the status from its result children with the following priority: failed, broken, unknown, skipped, passed.
    • history_hash: uuid Unique hash generated from the title of this container in combination with the hash of parent containers. Used to compare results of previous reports.
    • created_at: datetime Timestamp of when the container was created.
    • updated_at: datetime Timestamp of when the container was last changed.
    • containers: array [container, container] Zero or more containers.
    • results: array [result, result] Zero or more results.
    • assets array [asset, asset] Zero or more assets.

Result

  • Parents:
  • Children:
  • Attributes
    • id: uuid ID of the result.
    • container_id: uuid ID of the parent container.
    • title: string Title of the container.
    • status: enum 0=failed, 1=broken, 2=passed, 3=skipped, 4=unknown.
    • duration: bigint
    • description: string
    • exception_name: string
    • exception_backtrace: blob
    • exception_description: blob
    • json_data: blob
    • position integer Determines the order of the result to display in.
    • history_hash uuid Unique hash generated from the title of this result in combination with the hash of parent containers. Used to compare results of previous reports.
    • created_at datetime Timestamp of when the result was created.
    • updated_at datetime Timestamp of when the result was last changed.
    • assets array [asset, asset] Zero or more assets.

Asset

  • Parents: One of the following
  • Children: None
  • Attributes
    • id: uuid ID of the asset.
    • location: string path to the asset stored on the server.
    • tag string used to distinguish between specific types of assets (optional).
    • name string name of the file (optional).
    • created_at datetime Timestamp of when the asset was created.
    • updated_at datetime Timestamp of when the asset was last changed.
    • url string URL to the API endpoint to call for the image (secure).
    • type string MIME Type of the file.