Skip to main content

Git integration in Katalon Studio - Standalone Edition

Katalon Studio - Standalone Edition supports a seamless built-in Git integration. Once enabled, you can access all Git features at Katalon Studio's main toolbar.

This document shows you how to integrate and use Git in Katalon Studio - Standalone Edition.

Configure Git integration

To configure Git integration, do as follows:
  1. Go to Katalon Studio > Preferences > Katalon > Git.
    Check the Enable Git Integration box.Enable Git integration
  2. Click Apply and Close.
    You can start using Git at Katalon Studio main toolbar.Git in main toolbar
  3. If you want specific settings, go to Katalon Studio > Preferences > Team > Git for advanced configurations.
    Git Team

Clone a Git repository

After enabling Git Integration, you can clone an existing Git repository into a new directory on the local machine.

Do as follows:

  1. In the main toolbar, click on the Git icon and select Clone Project.
    You can also click on Clone Git Project in the Tests Explorer section.
  2. The Clone Git Repository dialog appears.

Connect to Git with HTTPS

To let Katalon Studio get details about your repository, enter all required information and click Next.

clone Git repository

  • Repository URL: the remote URL to your Git repository in HTTPS protocol. See Git documentation: About remote repositories. To get HTTPS Protocol, go to your account on GitHub, GitLab, Bitbucket, or AzureDevOps, then go to the repository you want to clone to Katalon Studio. Click Clone and select HTTPS, then copy the HTTPS Protocol.
  • Authentication:
    • Username: the username to access the Git repository.
    • Password: the personal access token to access the Git repository. To learn how to create a Git personal access token, you can refer to these documents:

If you cannot access the repository after clicking Next, the connection might have issues with SSL verification. You can use the command below to bypass SSL verification (Not recommended):

git config --global http.sslVerify false

Connect to Git with SSH Keys

To connect to Git with SSH keys, see Git Integration Authentication with SSH Keys.

Known issues:

  • Currently, the Git integration in Katalon Studio supports SSH SHA-1, RSA-1024 and RSA-2048 private keys. Since GitHub has dropped the support for DSA and RSA SHA-1, you cannot integrate Katalon Studio with GitHub via SSH. You can still integrate Katalon Studio with other cloud-hosted services of Git, such as GitLab, BitBucket, and Microsoft Azure DevOps.

  • The workaround for this issue is to use:

Publish a local non-Git project as a Git repository

Share Project is a step to enable Git configuration for your new Katalon Studio project.

  1. In the main toolbar, click the Git icon > Share Project.

  2. Folder .git and file .gitignore are created within the Katalon project.

    .gitignore tells Git which files (or patterns) it should ignore. By default, .gitignore contains these files and patterns: /bin /Libs .settings .classpath /.svn

  • In the main toolbar, click on Git dropdown arrow > Share Project.

  • Folder .git and file .gitignore are created within the Katalon project.

    .gitignore tells Git which files (or patterns) it should ignore. By default, .gitignore contains the following files and patterns: /bin /Libs .settings .classpath /.svn

Manage Branches

Resolve Git conflicts using Katalon Studio

Why do we have Git conflicts?

  • In a source control system like Git, conflicts occur when two or more people make changes to the same file concurrently. The conflicts may appear at a member's local repository or Git remote repository.

  • To avoid conflicts, the team must collaborate following several Git practices. For example, before pushing new source code to the Git remote repository, one must remember to fetch the latest version from Git remote repository, resolve any conflicts, and merge the code with the local version.

Below is an example of how to resolve Git conflicts using Katalon Studio:

  • The chart below demonstrates how conflicts may occur when Tom and Emma are working on the same project. The conflicts occur when Tom and Emma try to push new code to the Git remote repository without updating the changes from each other.

    Git conflict

Given situation:

  • Tom and Emma are working on the same test case in a test project. Emma added a new comment ("EMMA ADDED THIS COMMENT"), then committed and pushed the change to the Git remote repository.

    git conflict 2

  • At almost the same time, Tom added a new comment ("TOM ADDED THIS COMMENT"), then committed and tried to push to the Git remote repository.

  • Unfortunately, since Emma had pushed the code before Tom, so the version of code in Git was different from the version of code in Tom's local repository. Therefore, Git rejected Tom's push action.

Question: What should Tom do to push its change to the Git remote control?

  • First, Tom has to pull the code from the Git remote repository to his local machine.

    pull the code

  • Obviously, Tom will see a message about the conflict:

    message about the conflict

  • In the Script mode of the test case TC2_Verify Successful Appointment in Tom's Katalon Studio project, there are errors with indicators such as "<<<<<<<" (convention from Git). Let's look at the script more carefully:

    script

  • Recall that the comments were added by Tom and Emma, and the conflict is now on Tom's Katalon Studio project. Everything within "<<<<<<< HEAD" and "=======" is the change from Tom. And, everything within "=======" and ">>>>>>> branch 'master'…" comes from Emma, which is currently in the Git remote repository.

  • Now Tom has to decide which change is correct, or both are correct or wrong. Tom has to replace these lines of code with the correct ones. For example, "THIS IS THE CORRECT COMMENT":

    decide which change is correct

  • After resolving the conflict, Tom is now able to commit and push the change to the Git remote repository.

Best practices

To minimize the conflict in a team having more than one member, you should define a process from the very beginning so that all team members are on the same page when using Git.

Below are some suggestions for good practices:

  • Commit often: do not wait until many scripts are created to commit and push to the Git remote repository. The smaller the set of scripts is pushed, the easier you resolve the conflict.
  • Pull changes from the Git remote repository before working on new scripts and before committing. Each member works on each feature at a time.