Refactor JIRA docs and bring back some old information
This commit is contained in:
parent
a478a1dde4
commit
33980a0f0c
Binary file not shown.
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 30 KiB |
|
@ -11,64 +11,11 @@ see the [Services Templates][services-templates] document.
|
|||
Once the project is connected to JIRA, you can reference and close the issues
|
||||
in JIRA directly from GitLab.
|
||||
|
||||
## Table of Contents
|
||||
* [Referencing JIRA Issues from GitLab](#referencing-JIRA-issues)
|
||||
* [Closing JIRA Issues from GitLab](#closing-JIRA-issues)
|
||||
* [Configuration](#configuration)
|
||||
|
||||
### Referencing JIRA Issues
|
||||
|
||||
When GitLab project has JIRA issue tracker configured and enabled, mentioning
|
||||
JIRA issue in GitLab will automatically add a comment in JIRA issue with the
|
||||
link back to GitLab. This means that in comments in merge requests and commits
|
||||
referencing an issue, eg. `PROJECT-7`, will add a comment in JIRA issue in the
|
||||
format:
|
||||
|
||||
```
|
||||
USER mentioned this issue in RESOURCE_NAME of [PROJECT_NAME|LINK_TO_COMMENT]:
|
||||
ENTITY_TITLE
|
||||
```
|
||||
|
||||
* `USER` A user that mentioned the issue. This is the link to the user profile in GitLab.
|
||||
* `LINK_TO_THE_COMMENT` Link to the origin of mention with a name of the entity where JIRA issue was mentioned.
|
||||
* `RESOURCE_NAME` Kind of resource which referenced the issue. Can be a commit or merge request.
|
||||
* `PROJECT_NAME` GitLab project name.
|
||||
* `ENTITY_TITLE` Merge request title or commit message first line.
|
||||
|
||||
![example of mentioning or closing the JIRA issue](img/jira_issue_reference.png)
|
||||
|
||||
---
|
||||
|
||||
### Closing JIRA Issues
|
||||
|
||||
JIRA issues can be closed directly from GitLab by using trigger words, eg.
|
||||
`Resolves PROJECT-1`, `Closes PROJECT-1` or `Fixes PROJECT-1`, in commits and
|
||||
merge requests. When a commit which contains the trigger word in the commit
|
||||
message is pushed, GitLab will add a comment in the mentioned JIRA issue.
|
||||
|
||||
For example, for project named `PROJECT` in JIRA, we implemented a new feature
|
||||
and created a merge request in GitLab.
|
||||
|
||||
This feature was requested in JIRA issue `PROJECT-7`. Merge request in GitLab
|
||||
contains the improvement and in merge request description we say that this
|
||||
merge request `Closes PROJECT-7` issue.
|
||||
|
||||
Once this merge request is merged, the JIRA issue will be automatically closed
|
||||
with a comment and a associated link to the commit that resolved the issue.
|
||||
|
||||
![A Git commit that causes the JIRA issue to be closed](img/jira_merge_request_close.png)
|
||||
|
||||
---
|
||||
|
||||
![The GitLab integration closes JIRA issue](img/jira_service_close_issue.png)
|
||||
|
||||
---
|
||||
|
||||
![The GitLab integration creates a comment and a link on JIRA issue.](img/jira_service_close_comment.png)
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
In order to enable the JIRA service in GitLab, you need to first configure the
|
||||
project in JIRA and then enter the correct values in GitLab.
|
||||
|
||||
### Configuring JIRA
|
||||
|
||||
We need to create a user in JIRA which will have access to all projects that
|
||||
|
@ -115,7 +62,7 @@ We have split this stage in steps so it is easier to follow.
|
|||
---
|
||||
|
||||
1. Give the newly-created group write access by going to
|
||||
**Application access > View configuration** and adding the `gitlab-developers`
|
||||
**Application access ➔ View configuration** and adding the `gitlab-developers`
|
||||
group to JIRA Core.
|
||||
|
||||
![JIRA group access](img/jira_group_access.png)
|
||||
|
@ -123,7 +70,7 @@ We have split this stage in steps so it is easier to follow.
|
|||
---
|
||||
|
||||
1. Add the `gitlab` user to the `gitlab-developers` group by going to
|
||||
**Users > GitLab user > Add group** and selecting the `gitlab-developers`
|
||||
**Users ➔ GitLab user ➔ Add group** and selecting the `gitlab-developers`
|
||||
group from the dropdown menu. Notice that the group says _Access_ which is
|
||||
what we aim for.
|
||||
|
||||
|
@ -136,22 +83,23 @@ password as they will be needed when configuring GitLab in the next section.
|
|||
|
||||
### Configuring GitLab
|
||||
|
||||
JIRA configuration in GitLab is done via a project's **Services**.
|
||||
>**Notes:**
|
||||
- The currently supported JIRA versions are `v6.x` and `v7.x.`. GitLab 7.8 or
|
||||
higher is required.
|
||||
- GitLab 8.14 introduced a new way to integrate with JIRA which greatly simplified
|
||||
the configuration options you have to enter. If you are using an older version,
|
||||
[follow this documentation][jira-repo-docs].
|
||||
|
||||
#### GitLab 8.13.0 with JIRA v1000.x
|
||||
|
||||
To enable JIRA integration in a project, navigate to the project's
|
||||
and open the context menu clicking on the top right gear icon, then go to
|
||||
**Services > JIRA**.
|
||||
|
||||
Fill in the required details on the page as described in the table below.
|
||||
To enable JIRA integration in a project, navigate to your project's
|
||||
**Services ➔ JIRA** and fill in the required details on the page as described
|
||||
in the table below.
|
||||
|
||||
| Field | Description |
|
||||
| ----- | ----------- |
|
||||
| `URL` | The base URL to the JIRA project which is being linked to this GitLab project. Ex. https://JIRA.example.com |
|
||||
| `Project key` | The short, all capital letter identifier for your JIRA project. |
|
||||
| `Username` | The user name created in [configuring JIRA step](#configuring-JIRA). |
|
||||
| `Password` |The password of the user created in [configuring JIRA step](#configuring-JIRA). |
|
||||
| `URL` | The base URL to the JIRA project which is being linked to this GitLab project. E.g., `https://jira.example.com`. |
|
||||
| `Project key` | The short, the identifier for your JIRA project, all uppercase. |
|
||||
| `Username` | The user name created in [configuring JIRA step](#configuring-jira). |
|
||||
| `Password` |The password of the user created in [configuring JIRA step](#configuring-jira). |
|
||||
| `JIRA issue transition` | This is the ID of a transition that moves issues to a closed state. You can find this number under JIRA workflow administration ([see screenshot](img/jira_workflow_screenshot.png)). |
|
||||
|
||||
After saving the configuration, your GitLab project will be able to interact
|
||||
|
@ -161,40 +109,99 @@ with the linked JIRA project.
|
|||
|
||||
---
|
||||
|
||||
#### GitLab 6.x-7.7 with JIRA v6.x
|
||||
## JIRA issues
|
||||
|
||||
_**Note:** GitLab versions 8.13.0 and up contain various integration improvements.
|
||||
We strongly recommend upgrading._
|
||||
By now you should have [configured JIRA](#configuring-jira) and enabled the
|
||||
[JIRA service in GitLab](#configuring-gitlab). If everything is set up correctly
|
||||
you should be able to reference and close JIRA issues by just mentioning their
|
||||
ID in GitLab commits and merge requests.
|
||||
|
||||
In `gitlab.yml` enable the JIRA issue tracker section by
|
||||
[uncommenting these lines][JIRA-gitlab-yml]. This will make sure that all
|
||||
issues within GitLab are pointing to the JIRA issue tracker.
|
||||
### Referencing JIRA Issues
|
||||
|
||||
After you set this, you will be able to close issues in JIRA by a commit in
|
||||
GitLab.
|
||||
When GitLab project has JIRA issue tracker configured and enabled, mentioning
|
||||
JIRA issue in GitLab will automatically add a comment in JIRA issue with the
|
||||
link back to GitLab. This means that in comments in merge requests and commits
|
||||
referencing an issue, eg. `PROJECT-7`, will add a comment in JIRA issue in the
|
||||
format:
|
||||
|
||||
Go to your project's **Settings** page and fill in the project name for the
|
||||
JIRA project:
|
||||
```
|
||||
USER mentioned this issue in RESOURCE_NAME of [PROJECT_NAME|LINK_TO_COMMENT]:
|
||||
ENTITY_TITLE
|
||||
```
|
||||
|
||||
![Set the JIRA project name in GitLab to 'NEW'](img/jira_project_name.png)
|
||||
* `USER` A user that mentioned the issue. This is the link to the user profile in GitLab.
|
||||
* `LINK_TO_THE_COMMENT` Link to the origin of mention with a name of the entity where JIRA issue was mentioned.
|
||||
* `RESOURCE_NAME` Kind of resource which referenced the issue. Can be a commit or merge request.
|
||||
* `PROJECT_NAME` GitLab project name.
|
||||
* `ENTITY_TITLE` Merge request title or commit message first line.
|
||||
|
||||
![example of mentioning or closing the JIRA issue](img/jira_issue_reference.png)
|
||||
|
||||
---
|
||||
|
||||
You can also enable the JIRA service that will allow you to interact with JIRA
|
||||
issues. Go to the **Settings > Services > JIRA** and:
|
||||
### Closing JIRA Issues
|
||||
|
||||
1. Tick the active check box to enable the service
|
||||
1. Supply the URL to JIRA server, for example http://JIRA.example.com
|
||||
1. Supply the username of a user we created under `Configuring JIRA` section,
|
||||
for example `gitlab`
|
||||
1. Supply the password of the user
|
||||
1. Optional: supply the JIRA API version, default is version `2`
|
||||
1. Optional: supply the JIRA issue transition ID (issue transition to closed).
|
||||
This is dependent on JIRA settings, default is `2`
|
||||
1. Hit save
|
||||
JIRA issues can be closed directly from GitLab by using trigger words in
|
||||
commits and merge requests. When a commit which contains the trigger word
|
||||
followed by the JIRA issue ID in the commit message is pushed, GitLab will
|
||||
add a comment in the mentioned JIRA issue and immediately close it (provided
|
||||
the transition ID was set up correctly).
|
||||
|
||||
There are currently three trigger words, and you can use either one to achieve
|
||||
the same goal:
|
||||
|
||||
![JIRA services page](img/jira_service.png)
|
||||
- `Resolves GITLAB-1`
|
||||
- `Closes GITLAB-1`
|
||||
- `Fixes GITLAB-1`
|
||||
|
||||
- where `GITLAB-1` the issue ID of the JIRA project.
|
||||
|
||||
### JIRA issue closing example
|
||||
|
||||
Let's consider the following example:
|
||||
|
||||
1. For the project named `PROJECT` in JIRA, we implemented a new feature
|
||||
and created a merge request in GitLab.
|
||||
1. This feature was requested in JIRA issue `PROJECT-7` and the merge request
|
||||
in GitLab contains the improvement
|
||||
1. In the merge request description we use the issue closing trigger
|
||||
`Closes PROJECT-7`.
|
||||
1. Once the merge request is merged, the JIRA issue will be automatically closed
|
||||
with a comment and an associated link to the commit that resolved the issue.
|
||||
|
||||
---
|
||||
|
||||
In the following screenshot you can see what the link references to the JIRA
|
||||
issue look like.
|
||||
|
||||
![A Git commit that causes the JIRA issue to be closed](img/jira_merge_request_close.png)
|
||||
|
||||
---
|
||||
|
||||
Once this merge request is merged, the JIRA issue will be automatically closed
|
||||
with a link to the commit that resolved the issue.
|
||||
|
||||
![The GitLab integration closes JIRA issue](img/jira_service_close_issue.png)
|
||||
|
||||
---
|
||||
|
||||
![The GitLab integration creates a comment and a link on JIRA issue.](img/jira_service_close_comment.png)
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If things don't work as expected that's usually because you have configured
|
||||
incorrectly the JIRA-GitLab integration.
|
||||
|
||||
### GitLab is unable to comment on a ticket
|
||||
|
||||
Make sure that the user you set up for GitLab to communicate with JIRA has the
|
||||
correct access permission to post comments on a ticket and to also transition
|
||||
the ticket, if you'd like GitLab to also take care of closing them.
|
||||
|
||||
### GitLab is unable to close a ticket
|
||||
|
||||
Make sure the `Transition ID` you set within the JIRA settings matches the one
|
||||
your project needs to close a ticket.
|
||||
|
||||
[services-templates]: ../project_services/services_templates.md
|
||||
[JIRA-gitlab-yml]: https://gitlab.com/subscribers/gitlab-ee/blob/6-8-stable-ee/config/gitlab.yml.example#L111-115
|
||||
[jira-repo-docs]: https://gitlab.com/gitlab-org/gitlab-ce/blob/8-13-stable/doc/project_services/jira.md
|
||||
|
|
Loading…
Reference in New Issue