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 either one complete update or multiple at a time. That’s where Change Control comes in.
Enabling Change Control
For any story, enable Change Control with the toggle in the upper right corner
Tenant owners have the choice to enable Change Control by default for all stories in a team or tenant, while only team admins or those with custom Change Control permissions can enable Change Control within a story.
Once, enabled, you’ll now have two working spaces and executional environments for your Story – Test and Live:
Users can create drafts where they can freely make changes and test those changes within their draft without impacting the live, running story. Multiple builders can collaborate on a draft, while at the same time, multiple drafts can be created in one story. Multiple drafts are helpful in a few ways:
Team members can work in parallel, testing different approaches to solve the same problem
Small changes can be pushed live while working on larger modifications to a story
Testing changes
NOTE: With Change Control enabled, it's not possible to directly edit the Live 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.
You can build inside a draft as you normally would in Tines. When testing different idea, it may be more helpful to send external data to a test version of your webhook, page, or email action by using the unique URL in the draft story. You can also use Live events in draft mode.
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.
This can be achieved 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)
View changes
When you are finished with updating your draft and you are ready to set your changes live, click the View changes button. The View changes modal will pop up for you to review and compare your edits to the Live version:
This modal can be detached and opened in a separate window to help you review complex changes in a wider screen.
Approving and pushing changes live
All changes must be reviewed and approved before being pushed to Live. Once you’re satisfied that your test changes are complete and validated, you can Request a review. (Alternatively, you can Reset to the Live version if your changes aren’t working out.)
Once a review is requested, a notification is sent within the Tines UI and to the change control webhook, if configured. Change requests can be approved by an Editor, Team Admin, or a user with custom permissions.
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.
For stories with multiple drafts, those drafts will be marked as out of date and synced with the latest live version. Though not as common, should there be any merge conflicts a modal will pop up to help you resolve those conflicts.
For additional best practices on Change Control, check out this tips + tricks article.