Hi everyone! ๐
I just wanted to share some Python scripts I wrote to automate Jira Cloud and Confluence Cloud backups using AWS.
๐ https://github.com/agile-innovations-tech/atlassian-cloud-backups
There are four scripts:
Jira Backup Trigger: Initiates the creation of a new Jira Cloud backup file using Jira's API.
Confluence Backup Trigger: Initiates the creation of a new Confluence Cloud backup file using Confluence's API.
The scripts are designed for AWS Lambda, but you could adapt the scripts to run on other platforms.
These scripts are designed using the APIs described here:
By using AWS, you can use:
The README in the repository contains some YouTube links for a full tutorial.
๐ If you try it out, Iโd love to hear how it works for you!
๐ฌ Feedback, ideas, or even code contributions are very welcome.
Thanks for checking it out!
@Natasha Richardson -- Great question! These scripts only automate Jira and/or Confluence's native backup capabilities.
They do not provide any of the advanced features you might get from the Marketplace.
Always great to see Community members offer solutions like this! I am curious though, as someone who hasn't really considered backing up our Jira and Confluence Cloud (Premium) instances is this something that I should look into? I had assumed that since the apps were cloud-based Atlassian would have their own backups in place in case of any critical system outages.
I've been trying to look into this and found a few sources talking about the lack of a native auto-backup feature, and ways around this:
So I have a few questions:
Sorry if my questions are complicated. Genuinely excited to see this free solution that you've created! Thank you!
Hi @Zachary Howard -- This is kind of a heavy subject, but I'll give some brief answers:
What are the benefits of performing our own Cloud backups vs relying on Atlassian's backups?
Having your own backups provides a little more insurance. Specifically, Atlassian's disaster recovery capabilities only protect you against system-level incidents that (likely) impact many customers. They can't help you if something happens to your data locally within your site. For example, a buggy automation script deletes too many records, a disgruntled employee sabotages your data, etc.
Having site-level backups might save you after a localized incident like these.
You mentioned that "These scripts only automate Jira and/or Confluence's native backup capabilities" compared to the available 3rd party apps. I'm not sure what this means though. What do the native backup capabilities not capture that 3rd party options do?
Natasha was asking how these backups compare against using something like Revyz or Rewind. The answer is that Jira's native backups only provide a monolithic backup of your entire Jira site that can be restored to a temporary site or to your original site.
Third-party apps make it easier to restore individual projects, individual records, specific configurations, and so forth. They also support a longer history of backups. You'll have to research each individual app for a comprehensive comparison of capabilities.
And to be clear, those apps are great. The only downsides are that they are more expensive and tie you into their technology if you want to maintain your history of backups.
You'll have to do your own cost-benefit assessment to decide if those solutions are right for you.
How does your Python solution differ from the functionality in this KB article that claims to not require any scripts?
The solution in the KB is incomplete. Specifically, the following warning is listed near the top of the KB.
Importantly, in this approach, we skip downloading the created site backups to any local machine simply because it's better than nothing. It is recommended to download site-backups if you can. To do so, use the bash scripts listed below:
So, for my own purposes, I've adapted the scripts linked by the KB to run in AWS and make use of AWS's secure storage, monitoring, etc.
And I've shared my scripts here. ๐
I hope this helped clarify things a bit. Again, this is a big subject and would require an eBook to answer in full. ๐
Recommended Learning For You
Level up your skills with Atlassian learning
Learning Path
Become an effective Jira admin
Manage global settings and shared configurations called schemes to achieve goals more quickly.
Streamline Jira administration with effective governance
Improve how you administer and maintain Jira and minimize clutter for users and administrators.
Learning Path
Become an effective Jira software project admin
Set up software projects and configure tools and agile boards to meet your team's needs.