# Jira GitLab integration

Integrating Jira with GitLab enables seamless synchronization between project management and version control, enhancing collaboration and workflow efficiency. Follow this comprehensive guide to quickly and easily set up a two-way integration between Jira and GitLab.

<figure><img src="/files/jKxmboRmqYySeone81jx" alt=""><figcaption></figcaption></figure>

&#x20;

***

### GitLab-Jira Licensing Model <a href="#gitlab-jira-licensing-model" id="gitlab-jira-licensing-model"></a>

The GitLab-Jira licensing model with Getint is designed to accommodate different integration needs. Here’s an overview:

#### Standard Licensing <a href="#standard-licensing" id="standard-licensing"></a>

* A Getint license is only required on Jira, allowing seamless data synchronization between GitLab and Jira.

  This makes setup simpler and faster, without the need for additional configurations in GitLab.

#### Flexible License <a href="#flexible-license" id="flexible-license"></a>

* For managed services companies or organizations looking to integrate four or more instances (whether the tools are the same or different), Getint offers a **Flexible License.** This custom license covers a specific number of connections (i.e., up to 10 instances) without restrictions on the tools involved. You can also swap the integrated tools while the license remains active, offering unparalleled flexibility.

For more details on licensing, visit our [**Pricing Page**](https://docs.getint.io/billing-and-services/licensing).

#### Requirements to Build Your Integration: <a href="#requirements-to-build-your-integration" id="requirements-to-build-your-integration"></a>

* The **Getint app** must be installed in Jira.
* Comments are attributed to the user who created the connection. Therefore, we recommend using dedicated Service Accounts for both instances.
* Jira instances must have a dedicated user and an associated API token with permissions to read, write, view, and modify the project.
* **Personal Access Tokens** are required for Jira and GitLab authentication. You can find the steps to generate the access token for your connectors here: [Connection Guide](https://docs.getint.io/guides/quickstart/connection#gitlab).

&#x20;

#### Setting Up Your GitLab-Jira Integration <a href="#setting-up-your-gitlab-jira-integration" id="setting-up-your-gitlab-jira-integration"></a>

#### 1. Access the Getint App in Jira <a href="#id-1.-access-the-getint-app-in-jira" id="id-1.-access-the-getint-app-in-jira"></a>

* Navigate to **Apps** and select **Jira - GitLab Integration**.

<figure><img src="/files/5HHsBpPRHVkDMzKGaPtV" alt=""><figcaption></figcaption></figure>

#### 2. Create Integration <a href="#id-2.-create-integration" id="id-2.-create-integration"></a>

* Click **Continuous Sync** or **Migration**.

<figure><img src="/files/9KP1xRGkQNekSBQecD2d" alt=""><figcaption></figcaption></figure>

#### 3. Token Generation (Password for Jira Cloud) <a href="#id-3.-token-generation-password-for-jira-cloud" id="id-3.-token-generation-password-for-jira-cloud"></a>

* For Jira Cloud, generate a Jira token. This token will act as your password:
  * Go to **Atlassian Account Settings**.
  * Navigate to **Security** and go to **Generate and manage** **API tokens**, then select an API token or an API token with scopes.
  * After creation, use this token as the password for Jira integration. More information about access tokens for Jira [here](https://docs.getint.io/guides/quickstart/connection#jira).

<figure><img src="/files/HxjUf9M3Uwl3tIyDJ1iy" alt=""><figcaption></figcaption></figure>

#### 4. Generate GitLab Token <a href="#id-4.-generate-gitlab-token" id="id-4.-generate-gitlab-token"></a>

* Log in to your GitLab account. In the top-left or top-right corner (depending on your version), click on your **Avatar/Profile Picture** and select **Preferences**.
* In the left-hand sidebar, look for the **Access** section (usually near the top) and select **Personal access tokens**.
* Click the **Generate token** button to open the configuration form. Make sure to use the **Legacy token**, as we don’t support fine-grained tokens.

For specific permissions, please follow the video tutorial below:

{% embed url="<https://www.loom.com/share/537c44d6c8ff42fa9d582b5e633c3189>" %}

#### 5. Connect to Jira <a href="#id-5.-connect-to-jira" id="id-5.-connect-to-jira"></a>

* Ensure you are logged in as a user with admin rights, click on **Select App**, and choose Jira.
* Select **Create New Connection** to establish a new connection with your Jira instance and add the URL of your Jira instance (omit the trailing "/").
* Enter the login credentials of the admin user.

<figure><img src="/files/zMg06ZQ6M7x0SfAAsFiI" alt=""><figcaption></figcaption></figure>

#### 6. Select the Jira Project <a href="#id-6.-select-the-jira-project" id="id-6.-select-the-jira-project"></a>

* Once the connection is established, choose the Jira project you want to connect to from the dropdown menu.

<figure><img src="/files/l6GC00ghgrtjxK0yT67W" alt=""><figcaption></figcaption></figure>

#### 7. Connect to GitLab  <a href="#id-7.-connect-to-gitlab" id="id-7.-connect-to-gitlab"></a>

* If no connection is established yet, create a new one.
* Use the GitLab token generated as a password.

<figure><img src="/files/8ahR0WPNzA1KtyOmg6qi" alt=""><figcaption></figcaption></figure>

#### 8. Select GitLab Project <a href="#id-8.-select-gitlab-project" id="id-8.-select-gitlab-project"></a>

* Select the established GitLab connection and choose the project you want to integrate with.

<figure><img src="/files/kpWgYkPIOCsl7m3Bx2Y9" alt=""><figcaption></figcaption></figure>

#### 9. Type Mapping <a href="#id-9.-type-mapping" id="id-9.-type-mapping"></a>

* Map the Jira issue types you want to sync with GitLab issues, such as mapping a GitLab issue to a Jira task or a Jira bug to a GitLab issue.
* Consider using the **Quick Build** beta feature for automated type and field mapping, which can streamline the setup process.

<figure><img src="/files/tmovrsqzhwzDqPj68gzH" alt=""><figcaption></figcaption></figure>

#### 10. Field Mapping <a href="#id-10.-field-mapping" id="id-10.-field-mapping"></a>

* Review or manually map which fields to integrate and sync within the mapped types, including title, description, assignees, custom fields, and more.

<figure><img src="/files/eCx0NeTbyk9PuIBeqUZj" alt=""><figcaption></figcaption></figure>

#### 11. Assignee Mapping <a href="#id-11.-assignee-mapping" id="id-11.-assignee-mapping"></a>

* Map and match assignees according to your desired configuration. For more details, visit our doc: [Assignees (users) mapping](https://docs.getint.io/getintio-platform/workflows/assignees-users-mapping).

<figure><img src="/files/4UDMFro1Gcvzotj5hTQY" alt=""><figcaption></figcaption></figure>

#### 12. Comments <a href="#id-12.-comments" id="id-12.-comments"></a>

* If needed, enable the integration and synchronization of comments.
* Filter the comments with the criteria that suit you. Make them private/public or use the preferred attributes, such as created date or author.

<figure><img src="/files/mN7kcexmrJmLtj6xCXR8" alt=""><figcaption></figcaption></figure>

#### 13. Attachments <a href="#id-13.-attachments" id="id-13.-attachments"></a>

* Navigate to the **Comments & Attachments** tab within your Jira-GitLab type mappings and toggle on the **Synchronize attachments** setting.

<figure><img src="/files/vwNOljUHd4g3Da6huGr1" alt=""><figcaption></figcaption></figure>

* You can find your GitLab Cookie by right-clicking on your GitLab Groups page and selecting **Inspect**. Go to the **Network** tab, refresh the page, click on the item labeled **groups**, and look for the **Cookie** information inside the **Headers** tab.

<figure><img src="/files/qlNsYgIVnQWq2dAa547l" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Sometimes the developer tools won't display any data for the cookie header. To fix this, click on your Group or Project, and this should make the options visible.
{% endhint %}

* Copy the information and paste it into the **GitLab Cookie Header** field in Getint. Click **Apply** to submit the changes and save your integration.

<figure><img src="/files/t6CIMnwPkp4J5oa9PnC2" alt=""><figcaption></figcaption></figure>

* Ensure to test the attachments after enabling them.

{% hint style="warning" %}
Currently, attachments are only supported one way from GitLab to the other app in the integration. Also, no API is available to download and upload attachments through a Gitlab integration. As a result, this alternative remains the only option for downloading attachments from synced comments as long as they come from GitLab.
{% endhint %}

#### 14. Finalize Integration <a href="#id-14.-finalize-integration" id="id-14.-finalize-integration"></a>

* Name your project and click **Create** to finalize the integration setup.

<figure><img src="/files/7ROABBYEZLbBIKAUIKWf" alt=""><figcaption></figcaption></figure>

#### 15. Filtering <a href="#id-15.-filtering" id="id-15.-filtering"></a>

It is possible to filter the synchronization to have it customized for your needs and requirements.

**UI Filtering Option:**

* Click on the filtering icon near the app icon in your integration. This will apply to that side of the integration.

<figure><img src="/files/qhXLiZcvR0F0ElzgqyJ4" alt=""><figcaption></figcaption></figure>

* Select if the filtering applies to All, New, and Synced items.
* Note that if the option “*New items”* is selected, the filtering will apply only to the new items, and the already synced items will continue to sync and update. If the option “*Synced items”* is selected, only the already synced items will be updated based on that filter.
* Choose the options and add the value for the filter. It is possible to filter more than one option for each field.
* Select **Apply** once you have created the filters and Save the integration.

<figure><img src="/files/pab0fWFCqvY4iQySp0Ci" alt=""><figcaption></figcaption></figure>

#### Conclusion <a href="#conclusion" id="conclusion"></a>

Following these steps, you can effectively integrate Jira with GitLab, ensuring smooth synchronization of tasks, issues, and workflows between the two platforms. This setup enhances collaboration and streamlines project management processes.

For further assistance, please contact us at the [Support Center](https://getint.io/help-center) or [Schedule a Demo](https://calendly.com/d/cpws-jb2-8xx/demo-call-all-team).

<figure><img src="/files/YtI5CQ4caD1XPVCBAXdC" alt=""><figcaption><p><a href="https://calendly.com/d/cpws-jb2-8xx/demo-call-all-team">Having issues building your integration? Schedule a free consultation with our Integration Experts now!</a></p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.getint.io/guides/integration-synchronization/jira-gitlab.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
