Tracking system integration with git repository

Developer's workflow consists of many different tasks and projects. Tracking systems are used to structure them and organize convenient work. Small projects use Excel spreadsheets quite successfully for this purpose. However, project development requires more convenient solution implementation.

A tracking system is a software product, project management system that ensures the fulfillment of tasks, workflow planning, monitoring processes and results. This tool is useful for all team members: developers, project managers, team leads, top management, etc.

Now, the market offers large number of options for tracking systems: Jira, Mantis, Trello, Redmine, PivotalTracker, Bugzilla, Commind, etc. One of the most popular solutions is Jira.

Jira is a comprehensive solution from the Australian company Atlassian, which includes Jira WM (for working with business processes), Jira SM (for service disk building), Jira Software (for software development projects). These products are grouped into the Jira Family Product.

This tool is a paid system with an interactive dashboard for monitoring tasks movement and controlling their progress in a specific project. It is also a bug tracking and a convenient tool for project management, especially for agile teams. The main Jira goal is to simplify workflow management. The system has a wide functionality with the ability to supplement it with the help of plugins. There is a trial version of this tool for 7 days, which is available on the developer's official website after user registration.

Jira benefits:

  • Wide functionality (the ability to adapt the tool to projects of any complexity);
  • Great potential for integration (ability to integrate with various services such as GitHub, Salesforce, Outlook, Slack, Gmail, Teams);
  • Possibility to expand the functionality using plugins (Tempo, Script Runner, EazyBI, Big Picture, Structure);
  • Ability to work with Scrum and Kanban methods.

It is worth noting the rather long tool setting process for a specific project, workflows and a complex interface. The reason for this is the wide functionality of the system. However, tool study and practice allow to fine-tune it and optimize it during use.

Jira features depending on teams, roles and purposes of use:

  • Project Manager (PM): a great assistant for the project manager However, a complex and multifaceted tool requires detailed study to effectively use all its functions. Using tool capabilities, PM get a possibility to propose interesting initiatives for process optimization. Official Jira certification increases the competitiveness of a specialist;
  • For project management teams: the ability to use a ready-made template that the tool offers or create own process with the ability to track all tasks, their way through all process stage. The administrator has the ability to configure access with different rights for different users. Also, the tool allows to create detailed reports if there is information about the project;
  • For software development teams: the availability of planning tools allows members to manage budgets and requirements. Jira integrates with various CI/CD tools. This contributes to transparent management of the entire software development cycle. Gradual and safe introduction of new functionality is ensured by built-in features enabling and disabling features;
  • For DevOps teams: Atlassian's open, integrated toolset is based on Jira Software. The tool integrates with native and third-party tools, as well as code management solutions (Bitbucket, GitHub, GitLab), documentation and knowledge management tools (Confluence), monitoring and management tools, etc. This tool flexibility accelerates a quality software delivery;
  • For Product Management Teams: Teams have the ability to create a roadmap for all projects. This allows to make long-term plans, track progress and share information;
  • For bug tracking: tasks (bugs/problems that occur during software development) can be seen in the backlog and prioritized. Automatic issues prioritization is provided by Jira's workflow management system;
  • To manage tasks: create tasks for all team members, add detailed information, due dates and reminders. It is possible to divide large tasks into several small ones, create subtasks for certain team members. Other users can track tasks progress and receive a notification when it is completed. The current tasks status can be viewed using the dashboard.

The ability to integrate a tracking system and host a remote git repository is very convenient in managing Qlik projects. QOps can be used as a bridge between the source code in a repository and the final application. This kind of integration allows to automatically embed links to tasks in the tracking system into the source code of the application. As well as this feature allows management to track the progress of tickets and the corresponding source code migration between environments and/or versions.

QOps work principles

The main problem that QOps solves is the difficulty of applying the GIT version control system to the final development file, that contains data, data model, data loading code, codes of all charts and objects for visualization.

What is GIT?

GIT is a version control system that helps track changes made to a codebase, identify the user who made them, and recover deleted or modified code. GIT is one of the most popular open-source version control systems at the moment and is very easy to use. GIT is also completely free software and supports different operating systems (Vac, Windows, Linux, Solaris).

The benefits of GIT are:

  • distributed version control system;
  • the ability to have many independent code branches;
  • atomicity of operations;
  • storing data in .git catalog;
  • using a data model that ensures the cryptographic integrity of the containing repository;
  • the ability to format commits and preview them before applying them within the index.

How to use GIT in the development of Qlik applications?

The problems of applications parallel development and tracking changes in the source code, development process involving more than 1 developer, manual deletion of code and charts are solved by GitLab and GitHub. However, if you put the Qlik Sense/QlikView file on GitLab, this will not work. This file must be divided into separate parts: code, chart settings, variables, extensions etc. Then these parts should be put back into a file. QOps helps automate the process of application disassembling and reassembling.

How does QOps work?

QOps extracts absolutely all source codes from the files of developed applications. Thus, the extracted codes can be placed in the repositories of any version control systems. Modern version control systems have advanced tools for branches, commits, and merges. This allows multiple developers to work on a project in parallel.

QOps allows to automatically build an application from a local or remote repository. Source codes are stored separately from data, that provides flexibility in the development of complex projects. This makes it possible to set up automatic testing and deployment of the application. This, in turn, allows to avoid accidental errors during deploying applications to production, as well as reverting to any previous version of the application, if necessary.

QOps allows to:

  • keep application source code separate from data;
  • compare and analyze changes in the source code of all application objects;
  • collect and implement the developed functionality into the application in parts (they can be created by different developers);
  • set up a pipeline of automatic checks and automatic deployment of the application;
  • quickly find errors and undo incorrect changes.

More information about QOps here

What is QOps and what problems does it solve?

Qlik is a provider of business intelligence and data visualization applications. Its main products are QlikView and Qlik Sense, which have the same logic and analysis algorithm, but a different user interface. QlikView can run in its own environment with custom charts and visualizations and through a web interface. Qlik Sense is focused on web application development.

The Qlik data-driven business intelligence platform features associative connectivity and available graphical capabilities. It allows users to make calculations very quickly by storing compressed information in RAM and quickly accessing it. Qlik allows to connect various data sources from simple files to modern databases, and also provides for the development of individual connectors to the data source.

Qlik Sense is both a development environment and an off-the-shelf application. The result of the development is a large file that includes data, a data model, data loading code, codes for all charts and objects for visualization. Qlik supports built-in SVN and TFS version control. However, there is no way to apply the GIT version control system. This problem is solved by QOps.

QOps is a console tool that removes the complexities of version control and automates Qlik applications development and deployment. The product works in PowerShell, integrates with Qlik, GIT, GITLab/GitHub.

The main problems that QOps helps to solve:

  • Impossibility of parallel development of applications and tracking changes in the source code;
  • Slow development of large applications due to the inability to use the usual version control systems;
  • Complexity of development process involving more than 1 developer: each developer makes all changes to their own copy of the file. In order to add into production changes made by both developers, one of the developers will have to duplicate their changes in a common file;
  • The need to manually remove the code and charts or find a backup file if there is a need to return to a specific version;

You can get additional information by filling out the form at the link