Having version control for workflows allows us to revert to known good state. Right now this is not possible and I am always afaird I will break things.
Any workaround for this issue right now?
Right now, I have workflows pushed to a github repo and bash script automaically checks for changes every few hours. in the event I messed up something I can revert back by looking at the changes or copying the json back to workflow.
To be honest - this is a hard constraint for my company. We were internally discussing this to some extend and thought this might be a very easy usecase for git It would be a very big plus for using n8n over some other tools we are analysing right now.
With an internal git-like use to version the workflows it would be possible to track who changed what in which workflow. I guess with shared workflows this will become a big issue for several people.
I’ve been experimenting with using the execute node to trigger a workflow directly in our repo on gitlab so that I can set up a release process from staging to production, revert changes, etc. Still some manual work involved in setting up new nodes/work around credential issues and such.
We have a similar workflow that gets triggered every hour and updates any new changes to git repo. In the event of a screwup, we go back and copy paste the json into the workflow and pick and choose the nodes that needs to be restored.
We also need to have a change history for our workflows as it is crucial for our processes that our workflows can be restored if somebody broke them by accident. It is also important for us to track changes so that we can reconstruct which workflow version was active at which point in time, if necessary (e.g. if faulty data was written by a workflow and we need to investigate this problem).
If we could also add comments to each new version of a workflow as you are used to do in Git, that would also be very valuable, as it would help other workflow developers to understand why certain changes to a workflow have been made.
@roozbehk Do you push your n8n workflows to Git directly using n8n or do you use some external workflow automation for that? If you use an n8n workflow for that, would you be open to share it here?