Import and Export Tests and Schemas
Categories:
Prerequisites:
- Horreum is running
- To export you have previously defined a
Schema
for the JSON data you wish to analyze, please see Define a Schema- To export you have previously defined a Test, please see Create new Test
Background
To simplify copying Tests and Schemas between Horreum instances Horreum provides a simple API to export and import new Tests and Schemas. Horreum also support updating exising Schemas and Tests by importing Tests or Schemas with existing Id’s. For security reasons you need to be part of the team or an admin to be able to import/export Tests/Schemas.
TestExport
The export object for Tests is called TestExport and contains a lot of other fields in addition to what’s defined in Test. This includes, variables, experiments, actions, subscriptions, datastore and missingDataRules. This is to simplify the import/export experience and make sure that all the data related to a Test has a single entrypoint with regards to import and export. Note that secrets defined on Action are not portable between Horreum instances and there might be security concerns so they are omitted. The apiKey and password attributs defined on the config field in Datastore are also omitted and will have to be manually added in a separate step.
TestSchema
The export object for Schemas is called SchemaExport and contains other fields in addition to what’s defined in Schema. This includes, labels, extractors and transformers. This is to simplify the import/export experience and make sure that all the data related to a Schema has a single entrypoint with regards to import and export.
Import/Export using the UI
Export or Import as an update to an existing Test/Schema
Select the Test/Schema, select the Export link and you will be given the option to import/export as seen here:
Import a new Test/Schema
Click on Schema/Test and there is a button where you can select either Import Schema or Import Test. Select and upload file.
Import Schemas
curl 'http://localhost:8080/api/schema/import/' \
-s -X POST -H 'content-type: application/json' \
-H "X-Horreum-API-Key: $API_KEY" \
-d @/path/to/schema.json
If you are unfamiliar with generating an API Key, please see Upload Run.
Import Tests
curl 'http://localhost:8080/api/test/import/' \
-s -X POST -H 'content-type: application/json' \
-H "X-Horreum-API-Key: $API_KEY" \
-d @/path/to/test.json
Export Schemas
SCHEMAID='123'
curl 'http://localhost:8080/api/schema/export/?id='$SCHEMAID \
-H "X-Horreum-API-Key: $API_KEY" \
-O --output-dir /path/to/folder
Export Tests
TESTID='123'
curl 'http://localhost:8080/api/test/export/?id=$TESTID' \
-s -X POST -H 'content-type: application/json' \
-H "X-Horreum-API-Key: $API_KEY" \
-O --output-dir /path/to/folder
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.