Tray Platform / Version Control / Testing + publishing

Testing + publishing

Overview

In Tray you can use Sandbox Workspaces and Projects to manage a classic dev > production setup.

Tray has a system whereby you can export and import projects (and individual workflows) as json files.

This allows you to fully test your projects and workflows in a 'development' environment (i.e. using test/sandbox accounts and test data) before exporting to a json file, ready to be imported to your 'production' environment.

The basic process

  1. Create and test the project/workflow(s) in your test/dev workspace, using test/sandbox accounts and test data

  2. Once you are ready to publish the first version, export your workflow/project to a local json file and then import it to your production workspace

  3. In the process of your first import, create your production authentications

  4. Edit subsequent versions in the test/dev workspace, before importing again to the production workspace

Implementation notes

  • When importing subsequent versions any workflow step settings will be overwritten by the settings in the new version:

overwritten-settings
  • There may be discrepancies between the service accounts you are accessing - e.g. your Google Sheets live account may not have the same sheet as your Google Sheets test account. In this case you will have to manually set the sheet in the destination workflow.

  • You will only need to create production authentications the first time you import

  • Any new services introduced to your workflows will need to be authenticated:

    • For example, if the first version of your solution only contained Slack as a third party service, but you introduced Gmail as another service in the next version, then when importing the next version to production you will need to create a new Gmail authentication

  • It is also possible to run a dev > staging > production setup - simply by creating a staging workspace as a second sandbox.

  • If you mistakenly import a workflow, or need to undo for any reason, you can do so with the Rollback Workflow History function.

Two workspace setup

The following diagram shows probably the simplest example setup whereby you:

  1. Create one test/dev workspace as a sandbox

  2. Create one other production / public workspace:

env-promotion-two-workspace-setup

Multiple workspace setup

The following diagram shows a multiple workspace setup whereby you have sandbox and production / public workspaces for each department.

This may be more suited to larger organizations:

env-promotion-multiple-workspace-setup

Projects


Import / export projects manually

Import / export projects via API

It is possible to programatically Import and Export projects with our GraphQL APIs.

Importing and Exporting via API is only available to Embedded customers at this time

The first import will have to be done manually (as described above) in order to allow you to create the linked authentications in the target workflow(s).

If new services are added to any subsequent versions then you will need to run another manual import, as new authentications will need to be created

Individual workflows


Import / export workflows manually

Import / export workflows via API

It is possible to programatically Import and Export workflows with our GraphQL APIs.

Importing and Exporting via API is only available to Embedded customers at this time

The first import will have to be done manually (as described above) in order to allow you to create the linked authentications in the target workflow(s).

If new services are added to any subsequent versions then you will need to run another manual import, as new authentications will need to be created