2021-04-29 21:17:54 +05:30
---
2022-11-25 23:54:43 +05:30
stage: Manage
2021-10-27 15:23:28 +05:30
group: Integrations
2022-11-25 23:54:43 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
2021-04-29 21:17:54 +05:30
---
2021-06-08 01:23:25 +05:30
# Jira DVCS connector **(FREE)**
2021-04-29 21:17:54 +05:30
Use the Jira DVCS (distributed version control system) connector if you self-host
2021-09-30 23:02:18 +05:30
your Jira instance, and you want to sync information
2021-11-11 11:23:49 +05:30
between GitLab and Jira. If you use Jira Cloud, you should use the
2023-03-17 16:20:25 +05:30
[GitLab.com for Jira Cloud app ](../connect-app.md ) unless you specifically need the
2021-11-11 11:23:49 +05:30
DVCS connector.
2021-04-29 21:17:54 +05:30
When you configure the Jira DVCS connector, make sure your GitLab and Jira instances
are accessible.
- **Self-managed GitLab**: Your GitLab instance must be accessible by Jira.
- **Jira Server**: Your network must allow access to your instance.
2021-11-11 11:23:49 +05:30
- **Jira Cloud**: Your instance must be accessible through the internet.
2021-04-29 21:17:54 +05:30
2023-03-04 22:38:38 +05:30
NOTE:
When using GitLab 15.0 and later (including GitLab.com) with Jira Server, you might experience a [session token bug in Jira ](https://jira.atlassian.com/browse/JSWSERVER-21389 ). As a workaround, ensure Jira Server is version 9.1.0 and later or 8.20.11 and later.
2021-12-11 22:18:48 +05:30
## Smart Commits
2021-04-29 21:17:54 +05:30
When connecting GitLab with Jira with DVCS, you can process your Jira issues using
special commands, called
[Smart Commits ](https://support.atlassian.com/jira-software-cloud/docs/process-issues-with-smart-commits/ ),
in your commit messages. With Smart Commits, you can:
- Comment on issues.
- Record time-tracking information against issues.
- Transition issues to any status defined in the Jira project's workflow.
Commands must be in the first line of the commit message. The
[Jira Software documentation ](https://support.atlassian.com/jira-software-cloud/docs/process-issues-with-smart-commits/ )
2021-06-08 01:23:25 +05:30
contains more information about how Smart Commits work, and what commands are available
2021-04-29 21:17:54 +05:30
for your use.
2021-06-08 01:23:25 +05:30
For Smart Commits to work, the committing user on GitLab must have a corresponding
2021-04-29 21:17:54 +05:30
user on Jira with the same email address or username.
2021-06-08 01:23:25 +05:30
### Smart Commit syntax
Smart Commits should follow the pattern of:
```plaintext
< ISSUE_KEY > < ignored text > #< command > < optional command parameters >
```
Some examples:
2021-12-11 22:18:48 +05:30
- Add a comment to a Jira issue: `KEY-123 fixes a bug #comment Bug is fixed.`
- Record time tracking: `KEY-123 #time 2w 4d 10h 52m Tracking work time.`
- Close an issue: `KEY-123 #close Closing issue`
2021-06-08 01:23:25 +05:30
A Smart Commit message must not span more than one line (no carriage returns) but
2021-12-11 22:18:48 +05:30
you can still perform multiple actions in a single commit. For example:
2021-06-08 01:23:25 +05:30
2021-12-11 22:18:48 +05:30
- Add time tracking, add a comment, and transition to **Closed** :
```plaintext
KEY-123 #time 2d 5h #comment Task completed ahead of schedule #close
```
- Add a comment, transition to **In-progress** , and add time tracking:
```plaintext
KEY-123 #comment started working on the issue #in -progress #time 12d 5h
```
2021-06-08 01:23:25 +05:30
2021-04-29 21:17:54 +05:30
## Configure a GitLab application for DVCS
2023-03-17 16:20:25 +05:30
For projects in a single group we recommend you create a [group application ](../../oauth_provider.md#create-a-group-owned-application ).
2022-07-23 23:45:48 +05:30
For projects across multiple groups we recommend you create and use a `jira` user in GitLab, and use the account
2021-11-11 11:23:49 +05:30
only for integration work. A separate account ensures regular account
2022-07-23 23:45:48 +05:30
maintenance does not affect your integration. If a `jira` user or group application is not feasible,
2023-03-17 16:20:25 +05:30
you can set up this integration as an [instance-wide application ](../../oauth_provider.md#create-an-instance-wide-application )
or with a [user owned application ](../../oauth_provider.md#create-a-user-owned-application ) instead.
2022-07-23 23:45:48 +05:30
2023-03-17 16:20:25 +05:30
1. Navigate to the [appropriate **Applications** section ](../../oauth_provider.md ).
2021-04-29 21:17:54 +05:30
1. In the **Name** field, enter a descriptive name for the integration, such as `Jira` .
1. In the **Redirect URI** field, enter the URI appropriate for your version of GitLab,
replacing `<gitlab.example.com>` with your GitLab instance domain:
2021-09-04 01:27:46 +05:30
- *For GitLab versions 13.0 and later* **and** *Jira versions 8.14 and later,* use the
generated `Redirect URL` from
[Linking GitLab accounts with Jira ](https://confluence.atlassian.com/adminjiraserver/linking-gitlab-accounts-1027142272.html ).
2021-11-11 11:23:49 +05:30
- *For GitLab versions 13.0 and later* **and** *Jira Cloud,* use `https://<gitlab.example.com>/login/oauth/callback` .
- *For GitLab versions 11.3 and later* **and** *Jira versions 8.13 and earlier,* use `https://<gitlab.example.com>/login/oauth/callback` .
2021-04-29 21:17:54 +05:30
If you use GitLab.com, the URL is `https://gitlab.com/login/oauth/callback` .
- *For GitLab versions 11.2 and earlier,* use
`https://<gitlab.example.com>/-/jira/login/oauth/callback` .
1. For **Scopes** , select `api` and clear any other checkboxes.
2021-12-11 22:18:48 +05:30
- The DVCS connector requires a _write-enabled_ `api` scope to automatically create and manage required webhooks.
2021-04-29 21:17:54 +05:30
1. Select **Submit** .
2021-12-11 22:18:48 +05:30
1. Copy the **Application ID** and **Secret** values.
You need them to configure Jira.
2021-04-29 21:17:54 +05:30
## Configure Jira for DVCS
Configure this connection when you want to import all GitLab commits and branches,
for the groups you specify, into Jira. This import takes a few minutes and, after
it completes, refreshes every 60 minutes:
2021-12-11 22:18:48 +05:30
1. Complete the [GitLab configuration ](#configure-a-gitlab-application-for-dvcs ).
2021-06-08 01:23:25 +05:30
1. Go to your DVCS accounts:
2021-12-11 22:18:48 +05:30
- *For Jira Server,* select **Settings (gear) > Applications > DVCS accounts** .
- *For Jira Cloud,* select **Settings (gear) > Products > DVCS accounts** .
2021-04-29 21:17:54 +05:30
1. To create a new integration, select the appropriate value for **Host** :
- *For Jira versions 8.14 and later:* Select **GitLab** or
2021-09-04 01:27:46 +05:30
**GitLab Self-Managed** .
2021-12-11 22:18:48 +05:30
- *For Jira Cloud or Jira versions 8.13 and earlier:* Select **GitHub Enterprise** .
2021-04-29 21:17:54 +05:30
1. For **Team or User Account** , enter either:
2021-09-04 01:27:46 +05:30
- *For Jira versions 8.14 and later:*
2021-12-11 22:18:48 +05:30
- The relative path of a top-level GitLab group that
[the GitLab user ](#configure-a-gitlab-application-for-dvcs ) has access to.
- *For Jira Cloud or Jira versions 8.13 and earlier:*
- The relative path of a top-level GitLab group that
[the GitLab user ](#configure-a-gitlab-application-for-dvcs ) has access to.
2021-09-04 01:27:46 +05:30
- The relative path of your personal namespace.
2021-04-29 21:17:54 +05:30
1. In the **Host URL** field, enter the URI appropriate for your version of GitLab,
replacing `<gitlab.example.com>` with your GitLab instance domain:
- *For GitLab versions 11.3 and later,* use `https://<gitlab.example.com>` .
- *For GitLab versions 11.2 and earlier,* use
`https://<gitlab.example.com>/-/jira` .
1. For **Client ID** , use the **Application ID** value from the previous section.
1. For **Client Secret** , use the **Secret** value from the previous section.
2021-12-11 22:18:48 +05:30
1. Ensure that the rest of the checkboxes are selected.
1. To create the DVCS account, select **Add** and then **Continue** .
1. Jira redirects to GitLab where you have to confirm the authorization.
GitLab then redirects back to Jira where the synced
projects should display in the new account.
2021-04-29 21:17:54 +05:30
2021-12-11 22:18:48 +05:30
To connect additional GitLab projects from other GitLab top-level groups or
2021-04-29 21:17:54 +05:30
personal namespaces, repeat the previous steps with additional Jira DVCS accounts.
2023-03-17 16:20:25 +05:30
After you configure the integration, read more about [how to test and use it ](../development_panel.md ).
2021-04-29 21:17:54 +05:30
## Refresh data imported to Jira
Jira imports the commits and branches every 60 minutes for your projects. You
can refresh the data manually from the Jira interface:
1. Sign in to your Jira instance as the user you configured the integration with.
1. Go to **Settings (gear) > Applications** .
1. Select **DVCS accounts** .
1. In the table, for the repository you want to refresh, in the **Last Activity**
2023-03-17 16:20:25 +05:30
column, select the icon.