Change Control

Overview 

By default, whenever you update a story in Tines, your changes are applied and live instantly. This works great for simpler use cases, and especially for building out v1 of your workflow.

For up-and-running, mission-critical workflows, however, it's important to have greater oversight of changes. You need to be able to safely experiment with ideas for improvements, and apply a complicated change-set in one fell swoop. That’s where Change Control comes in.

💡Note

Enabling Change Control 

For any story, you can enable Change Control by using the Switch located at top right of the screen.

If you are a Tenant Owner, you can enable Change Control by default for new stories. To do this, click on your username, then select the Change Control Settings option and choose "Enable change control by default".

Once enabled, you’ll now have two working spaces and executional environments for your story – Test and Live:

These Test and Live environments run independently of each other without any interference.

Testing changes 

With change control enabled, it's not possible to directly edit the Live executional environment. Instead, you make your changes in Test, and – once you’re ready and it’s safe to do so – push them en masse to Live.

If attempting to edit the Live environment, a warning is shown.

When working in the Test environment, a purple bar is shown as a visual reminder of safety.

You can build inside Test as you normally would in Tines. Webhooks, Forms, and Actions can all run as normal.

Using Live events in the Test environment 

By default, live events are included on the events list in the test environment. You can enable / disable live events by using the toggle in the events panel.

In addition to viewing live events in the action events list, you can also

  1. Use live events to Test an action in the test environment

  2. Re-emit a live event into the test environment

  3. Use live events in auto-complete suggestion in the action builder

Using different Resources and Credentials in the Test environment 

Depending on your workflow development style, you may want to target independent test versions of some or all external services.

You can achieve this by enabling and configuring test values for your credentials. Tines will automatically use the test credential value when running in the test environment and seamlessly switch to the live credential value when running in the live environment.

Alternatively, you can also configure a different credential by resource by using our META.story.is_test variable, and an IF function inside your action configuration. For example, to target your development Jira instance in Test, and your production instance in Live, you could use an expression like:

IF(META.story.is_test, CREDENTIAL.jira_test, CREDENTIAL.jira)

Hidden positional changes 

By default, changes to action positions are hidden in the change control modal because these changes are purely visual and cannot break a story. To see action position changes in the diff modal, toggle the setting on.

Change approvals 

All changes made to a Test environment must be approved by a Team Admin before it can be pushed to the Live environment.

Once you’re satisfied that your Test environment changes are complete and validated, you can now request a review from a Team Admin. To do that, click on the View Changes to open the change request modal (This will show a diff of all the changes that were made in the story). Fill in the name and description of the change and click Request review.

A Team Admin will need to review your changes before they can be pushed to the Live environment. To do this, they will open the test version of the story where they can either Approve or Reject your changes.

Once your changes have been approved, the Team Admin can then Push your changes to the live story by clicking Push. After pushing, your changes will be applied together in a single update.

Any in-flight story runs will immediately switch over to the new logic, consistent with how edits to non change-controlled stories are applied.

Require change approval for all changes 

If you need to ensure all changes are peer reviewed, you can select the "Require approval for all changes" option located in the Change Control Settings panel.

We also included an emergency bypass for critical changes with audit logs, and a webhook event you can monitor. This option is available only to Tenant Owners and Team Admins.

Change control notifications 

Change control notifications are managed using webhooks. A webhook event will be story change request is created, cancelled, approved, rejected or pushed.

You can configure a webhook notification endpoint for your team by opening the Team notification settings and configuring a webhook for Change control.

Limitations 

The Test story is only active and capable of receiving Webhook events whilst it is being worked on by users within Tines, after a period of inactivity the test story is disabled and the Webhook will no longer process test mode requests.

Was this helpful?