Both large and small projects need to be managed in some way. As, it is essential to track the progress and current status of the tasks. When we work on our own, or with a few people, we can do this by “ancient” method – on a piece of paper or on a blackboard, using colored cards, etc. Actually, there are many ways. The problem arises when we want to scale it up. Then we would need a lot more space as there would be much more data, tasks and statuses.
The topic of scale is one thing, but let’s look at the current trend, which is remote work. That’s a time when online tools should allow any team/project member to check or update the current status of the work. Of course, the market is full of smaller and larger tools. They differ in price, capabilities and popularity. The best known of these is an Atlassian product, Jira, and we will focus on it today.
What is Jira?
Let’s start with what the authors say about it. On the official website we can find the following description:
“Jira is a suite of agile work management solutions that powers collaboration across all teams from concept to customer, empowering you to do the best work of your life, together.”
It sounds nice but doesn’t explain much. Jira allows teams to plan, track, and release software projects in an organized and efficient manner. It offers a variety of features such as issue tracking, agile boards, and reporting capabilities that make it a popular choice among software development teams. Additionally, Jira has a large ecosystem of add-ons and integrations with other tools, making it easily customizable to fit the needs of any team. Its user-friendly interface and wide range of functionalities makes it a valuable tool for teams looking to streamline their workflow and increase collaboration.
On top of that, Jira provides many tools for reporting, also with real-time visualizations. Of course, we can scale this – each team or project can have its own workspace and create workflows according to its own needs.
If we are already using the tool on a daily basis, or are just about to, we need to be aware of the amount of data we store there. Usually everything that we create and track in Jira is of critical business value. And as such, we can’t afford to lose that data, or at least temporarily lack access. Of course, a good part of the responsibility lies with the service provider, but smart leaders should pay special attention to security and backups. We can’t rely solely on a single source of data, especially when that source is not our own.
Jira is a powerful tool, but it’s also important to consider the security aspect when using it. It provides a number of security features to help protect the data, such as the ability to set permissions and access controls for users, or the ability to encrypt data. Additionally, Jira can easily be integrated with other security tools, such as single sign-on (SSO) and two-factor authentication (2FA) providers, to apply an extra security layer. There are also auditing and logging capabilities, which allow organizations to track user activity and detect any suspicious behavior. These features help us to ensure that only authorized users can access and modify data, and that data is transmitted and stored securely.
Backup tips from Atlassian
Actually, there are several tips for Jira backup. Let’s take a look at some available options:
- Use the built-in backup utility: Jira includes a built-in backup utility that can be used to create backups of your Jira data.
- Use a third-party backup solution: There are several third-party tools available that can be used to backup your Jira data, such as Jira Backup Manager and Jira Backup Tool.
- Use the Jira Database Export: This is a built-in feature of Jira that allows us to export the data of your Jira instance to a file, which can be used as a backup.
Number 3 is recommended by Atlassian. Although we can split this step into two additional ones:
- Using native database backup tools, which creates a database dump
- Using Jira’s backup utility, which creates XML file
And here you can find out why native database backup is recommended:
What is the Jira backup utility?
Let’s take a quick look at Jira’s backup utility. For that of course we need a “system administrator” global permissions. This feature allows us to create a backup of the Jira data, including issues, attachments, and project configurations. The backup process can be initiated through the Jira administration console, and the backup file is created in the form of a .zip file. The backup file includes a full XML export of all Jira data. The built-in backup utility can be used of course for scheduling regular backups, so that the data can be backed up automatically on a daily, weekly, or monthly basis. However, as Atlassian reminds us, there is no guarantee that XML files will be consistent.
Custom Jira backup script
Another way to perform a backup is to manually write a script that will perform all the necessary steps. Generally creating own scripts for backing up data can provide a flexible and customizable solution for our organization. In this case we need to use the Jira REST API to extract data, such as issues, projects, and users, and then store that data somewhere. By using scheduling tools such as cron, you can automate the backup process and make sure that your Jira data is being backed up regularly. However, before creating your own backup script, it is crucial to review Jira’s documentation and guidelines for data backup to ensure that your script meets the standards for data integrity and security.
Before we start creating our own script, it would be a good idea to take a look at this repository. Although there is a ready-made script out there, we should treat it more as a guideline and template which we should check and modify for our needs. The aforementioned script requires an account and a generated Atlassian API key, and it applies to the Jira Cloud version.
However, if we host Jira (and its database) on our own, we can try to create something similar to this drafted script below. Such script will perform a full backup, including the database, attachments, avatars, and configuration files. It will store the backup data in the compressed .tar.gz file.
Keep in mind that this is just a general outline of the script. You will need to customize it to fit the specific needs of your Jira instance.
# Set the date and time for the backup
# Set the directories for the JIRA installation and the backup location
# Create the backup directory if it does not exist
mkdir -p “$backup_dir”
# Dump the JIRA database to a file
mysqldump -u username -p password jira_database > “$backup_dir/jira-database-$now.sql”
# Copy the attachments and avatars directories to the backup location
rsync -av “$jira_dir/data/attachments” “$backup_dir”
rsync -av “$jira_dir/data/avatars” “$backup_dir”
# Copy the JIRA configuration files to the backup location
rsync -av “$jira_dir/conf” “$backup_dir”
# Compress the backup data
tar -czvf “$backup_dir/jira-backup-$now.tar.gz” “$backup_dir”
# Remove the uncompressed backup data
rm -rf “$backup_dir”
Third-party Jira backup tool – GitProtect
One of Atlassian’s recommended solutions is “Use a third-party backup solution.” And while we’re at it, let’s check out how the GitProtect.io tool does it. This tool helps to automate DevOps tasks regarding backup and recovery. It supports GitHub, GitLab, Bitbucket, and, of course, Jira. GitProtect.io allows us to automatically backup and restore Jira data including Projects, Issues, Roles, Workflow, Users, Boards, Comments, Attachments, and more.
Jira down? Get your team back to tasks within minutes with the first professional backup for Jira Cloud, Jira Service Management, and Jira Work Management.
How to set up GitProtect.io?
The configuration and setup are very fast and easy. All we need to do is to authenticate our Jira instance and link the accounts to start performing an automated backup of the Jira Cloud data. That’s all.
As a storage we can use any AWS S3 compatible cloud, on-premise, or choose GitProtect Cloud Storage. Redundancy, as one of the principal factors in backup, is implemented here as well. We can add as many storages as we need for redundancy and the backup 3-2-1 rule fulfillment.
How does it help with data Recovery?
Regarding Data Recovery we can restore our entire Jira instance data using this app. No need to have any additional tools. GitProtect.io is a complete All-in-ONE backup and restore solution, which permits to perform a point-in-time instant restore, Cloud-to-Cloud or Cloud-to-Local restore, restore to the same or a new account, or even to a free Jira account with no-user recovery option.
Thus, this solution permits us to respond to any event of failure and get to work fast without downtime.
How does it guarantee security?
The tool uses strong AES encryption in-flight and at rest to protect our data. Moreover, the solution permits us to create our own encryption key to enhance the security of our data protection.
At the same time, we have access to audit logs, statistics and visualizations about all actions performed in the system. There is a possibility to set up some notifications, for example mail or slack, to keep us up-to-date.
Jira backup is available in Atlassian Marketplace, with a “Try it free” version, just to check if this is the tool that we need – and trust me, you will love it!
As in most cases, we have many ways to solve our problems. We need to weigh all the pros and cons, but keep in mind that the security of our data is crucial to our business, no matter what we do. Security, backups and, of course, the ability to easily and quickly restore it when needed – these should be features of any IT system.
Finally, I refer you to a certain article describing Jira backup best practices.