debian-mirror-gitlab/doc/integration/jira/issues.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

220 lines
10 KiB
Markdown
Raw Normal View History

2021-04-29 21:17:54 +05:30
---
2022-11-25 23:54:43 +05:30
stage: Manage
2023-07-09 08:55:56 +05:30
group: Import and Integrate
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
---
2023-05-27 22:25:52 +05:30
# Jira issue management **(FREE)**
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
You can [manage Jira issues directly in GitLab](configure.md).
You can then refer to Jira issues by ID in GitLab commits and merge requests.
The Jira issue IDs must be in uppercase.
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
## Cross-reference GitLab activity and Jira issues
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
With this integration, you can cross-reference Jira issues while you work in
2023-07-09 08:55:56 +05:30
GitLab issues, merge requests, and Git.
When you mention a Jira issue in a GitLab issue, merge request, comment, or commit:
- GitLab links to the Jira issue from the mention in GitLab.
- GitLab adds a formatted comment to the Jira issue that links back to the issue, merge request, or commit in GitLab.
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
For example, when this commit refers to a `GIT-1` Jira issue:
2021-06-08 01:23:25 +05:30
```shell
git commit -m "GIT-1 this is a test commit"
2021-04-29 21:17:54 +05:30
```
2023-07-09 08:55:56 +05:30
GitLab adds to that Jira issue:
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
- A reference in the **Web links** section
- A comment in the **Activity** section that follows this format:
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
```plaintext
USER mentioned this issue in RESOURCE_NAME of [PROJECT_NAME|COMMENTLINK]:
ENTITY_TITLE
```
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
- `USER`: Name of the user who has mentioned the Jira issue with a link to their GitLab user profile.
- `RESOURCE_NAME`: Type of resource (for example, a GitLab commit, issue, or merge request) that has referenced the Jira issue.
- `PROJECT_NAME`: GitLab project name.
- `COMMENTLINK`: Link to where the Jira issue is mentioned.
- `ENTITY_TITLE`: Title of the GitLab commit (first line), issue, or merge request.
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
Only a single cross-reference comment appears in Jira per GitLab issue, merge request, or commit.
For example, multiple comments on a GitLab merge request that reference a Jira issue
create only a single cross-reference comment back to that merge request in Jira.
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
You can [disable comments](#disable-comments-on-jira-issues) on issues.
2021-04-29 21:17:54 +05:30
2021-10-27 15:23:28 +05:30
### Require associated Jira issue for merge requests to be merged **(ULTIMATE)**
2021-04-29 21:17:54 +05:30
2023-05-27 22:25:52 +05:30
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/280766) in GitLab 13.12 [with a flag](../../administration/feature_flags.md) named `jira_issue_association_on_merge_request`. Disabled by default.
> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/335280) in GitLab 14.2. Feature flag `jira_issue_association_on_merge_request` removed.
2021-04-29 21:17:54 +05:30
2023-05-27 22:25:52 +05:30
With this integration, you can prevent merge requests from being merged if they do not refer to a Jira issue.
To enable this feature:
2021-04-29 21:17:54 +05:30
2022-10-11 01:57:18 +05:30
1. On the top bar, select **Main menu > Projects** and find your project.
1. On the left sidebar, select **Settings > Merge requests**.
1. In the **Merge checks** section, select **Require an associated issue from Jira**.
2022-07-23 23:45:48 +05:30
1. Select **Save**.
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
After you enable this feature, a merge request that doesn't reference an associated
Jira issue can't be merged. The merge request displays the message
**To merge, a Jira issue key must be mentioned in the title or description.**
2021-04-29 21:17:54 +05:30
2023-06-20 00:43:36 +05:30
## Customize Jira issue matching in GitLab
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/112826) in GitLab 15.10.
You can configure custom rules for how GitLab matches Jira issue keys by defining:
- [A regex pattern](#use-regular-expression)
- [A prefix](#use-a-prefix)
2023-07-09 08:55:56 +05:30
When you don't configure custom rules, the [default behavior](https://gitlab.com/gitlab-org/gitlab/-/blob/710d83af298d8896f2b940faf48a46d2feb4cbaf/lib/gitlab/regex.rb#L552) is used. For more information, see the [RE2 wiki](https://github.com/google/re2/wiki/Syntax).
2023-06-20 00:43:36 +05:30
### Use regular expression
To define a regex pattern for Jira issue keys:
1. On the top bar, select **Main menu > Projects** and find your project.
1. On the left sidebar, select **Settings > Integrations**.
1. Select **Jira**.
1. Go to the **Jira issue matching** section.
1. In the **Jira issue regex** text box, enter a regex pattern.
1. Select **Save changes**.
For more information, see the [Atlassian documentation](https://confluence.atlassian.com/adminjiraserver073/changing-the-project-key-format-861253229.html).
### Use a prefix
To define a prefix for Jira issue keys:
1. On the top bar, select **Main menu > Projects** and find your project.
1. On the left sidebar, select **Settings > Integrations**.
1. Select **Jira**.
1. Go to the **Jira issue matching** section.
1. In the **Jira issue prefix** text box, enter a prefix.
1. Select **Save changes**.
2021-06-08 01:23:25 +05:30
## Close Jira issues in GitLab
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
If you have configured GitLab transition IDs, you can close a Jira issue directly
from GitLab. Use a trigger word followed by a Jira issue ID in a commit or merge request.
When you push a commit containing a trigger word and Jira issue ID, GitLab:
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
1. Comments in the mentioned Jira issue.
1. Closes the Jira issue. If the Jira issue has a resolution, it isn't transitioned.
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
For example, use any of these trigger words to close the Jira issue `PROJECT-1`:
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
- `Resolves PROJECT-1`
- `Closes PROJECT-1`
- `Fixes PROJECT-1`
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
The commit or merge request must target your project's [default branch](../../user/project/repository/branches/default.md).
2023-07-09 08:55:56 +05:30
You can change your project's default branch in [project settings](../../user/project/settings/index.md).
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
### Use case for closing issues
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
Consider this example:
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
1. A user creates Jira issue `PROJECT-7` to request a new feature.
1. You create a merge request in GitLab to build the requested feature.
1. In the merge request, you add the issue closing trigger `Closes PROJECT-7`.
1. When the merge request is merged:
2023-07-09 08:55:56 +05:30
- GitLab closes the Jira issue for you.
2021-06-08 01:23:25 +05:30
- GitLab adds a formatted comment to Jira, linking back to the commit that
resolved the issue. You can [disable comments](#disable-comments-on-jira-issues).
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
## View Jira issues **(PREMIUM)**
2021-04-29 21:17:54 +05:30
2021-11-18 22:05:49 +05:30
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/3622) in GitLab 13.2.
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
You can view and search issues from a selected Jira project directly in GitLab,
provided your GitLab administrator [has configured the integration](configure.md#configure-the-integration).
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
To view Jira issues:
1. On the top bar, select **Main menu > Projects** and find your project.
1. On the left sidebar, select **Issues > Jira issues**.
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
The issues are sorted by **Created date** by default, with the most recently created issues listed at the top.
2021-04-29 21:17:54 +05:30
2022-06-21 17:19:12 +05:30
- To display the most recently updated issues first, select **Updated date**.
2023-07-09 08:55:56 +05:30
- You can [search and filter the issue list](#search-and-filter-the-issue-list).
- In GitLab 13.10 and later, you can [select an issue from the list to view the issue in GitLab](https://gitlab.com/gitlab-org/gitlab/-/issues/299832).
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
Issues are grouped into tabs based on their
[Jira status](https://confluence.atlassian.com/adminjiraserver070/defining-status-field-values-749382903.html):
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
- **Open** tab: All issues with a Jira status in any category other than Done.
- **Closed** tab: All issues with a Jira status categorized as Done.
- **All** tab: All issues of any status.
2021-04-29 21:17:54 +05:30
2023-07-09 08:55:56 +05:30
### Search and filter the issue list **(PREMIUM)**
2021-04-29 21:17:54 +05:30
To refine the list of issues, use the search bar to search for any text
2021-06-08 01:23:25 +05:30
contained in an issue summary (title) or description. Use any combination
of these filters:
2021-04-29 21:17:54 +05:30
- To filter issues by `labels`, specify one or more labels as part of the `labels[]`
2021-06-08 01:23:25 +05:30
parameter in the URL. When using multiple labels, only issues that contain all specified
labels are listed: `/-/integrations/jira/issues?labels[]=backend&labels[]=feature&labels[]=QA`
- To filter issues by `status`, specify the `status` parameter in the URL:
`/-/integrations/jira/issues?status=In Progress`
2021-04-29 21:17:54 +05:30
- To filter issues by `reporter`, specify a reporter's Jira display name for the
2021-06-08 01:23:25 +05:30
`author_username` parameter in the URL: `/-/integrations/jira/issues?author_username=John Smith`
2021-04-29 21:17:54 +05:30
- To filter issues by `assignee`, specify their Jira display name for the
2021-06-08 01:23:25 +05:30
`assignee_username` parameter in the URL: `/-/integrations/jira/issues?assignee_username=John Smith`
Enhancements to use these filters through the user interface
[are planned](https://gitlab.com/groups/gitlab-org/-/epics/3622).
2021-04-29 21:17:54 +05:30
2022-07-16 23:28:13 +05:30
## Create a Jira issue for a vulnerability **(ULTIMATE)**
You can create a Jira issue for a vulnerability from a [Vulnerability Page](../../user/application_security/vulnerabilities/index.md#create-a-jira-issue-for-a-vulnerability).
2021-04-29 21:17:54 +05:30
## Automatic issue transitions
2022-01-26 12:08:38 +05:30
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55773) in GitLab 13.11.
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
When you configure automatic issue transitions, you can transition a referenced
Jira issue to the next available status with a category of **Done**. To configure
this setting:
2021-04-29 21:17:54 +05:30
2021-10-27 15:23:28 +05:30
1. Refer to the [Configure GitLab](configure.md) instructions.
1. Select the **Enable Jira transitions** checkbox.
2021-06-08 01:23:25 +05:30
1. Select the **Move to Done** option.
2021-04-29 21:17:54 +05:30
## Custom issue transitions
2021-06-08 01:23:25 +05:30
For advanced workflows, you can specify custom Jira transition IDs:
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
1. Use the method based on your Jira subscription status:
- *(For users of Jira Cloud)* Obtain your transition IDs by editing a workflow
in the **Text** view. The transition IDs display in the **Transitions** column.
- *(For users of Jira Server)* Obtain your transition IDs in one of these ways:
- By using the API, with a request like `https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions`,
using an issue that is in the appropriate "open" state.
- By mousing over the link for the transition you want and looking for the
**action** parameter in the URL.
The transition ID may vary between workflows (for example, a bug instead of a
story), even if the status you're changing to is the same.
2021-10-27 15:23:28 +05:30
1. Refer to the [Configure GitLab](configure.md) instructions.
2021-06-08 01:23:25 +05:30
1. Select the **Enable Jira transitions** setting.
1. Select the **Custom transitions** option.
1. Enter your transition IDs in the text field. If you insert multiple transition IDs
(separated by `,` or `;`), the issue is moved to each state, one after another, in the
order you specify. If a transition fails, the sequence is aborted.
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
## Disable comments on Jira issues
2021-04-29 21:17:54 +05:30
2021-06-08 01:23:25 +05:30
GitLab can cross-link source commits or merge requests with Jira issues without
adding a comment to the Jira issue:
2021-04-29 21:17:54 +05:30
2021-10-27 15:23:28 +05:30
1. Refer to the [Configure GitLab](configure.md) instructions.
1. Clear the **Enable comments** checkbox.