From 3629984b96553cced12855fd4bc096d5268abd6d Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 10:08:11 +0100 Subject: Move JIRA from integration to project_services --- doc/integration/README.md | 2 +- doc/integration/external-issue-tracker.md | 2 +- doc/integration/img/jira_issue_reference.png | Bin 39942 -> 0 bytes doc/integration/img/jira_merge_request_close.png | Bin 111150 -> 0 bytes doc/integration/img/jira_project_name.png | Bin 60598 -> 0 bytes doc/integration/img/jira_service.png | Bin 59082 -> 0 bytes doc/integration/img/jira_service_close_issue.png | Bin 88433 -> 0 bytes doc/integration/img/jira_service_page.png | Bin 35496 -> 0 bytes doc/integration/img/jira_workflow_screenshot.png | Bin 121534 -> 0 bytes doc/integration/jira.md | 150 +-------------------- doc/project_services/img/jira_issue_reference.png | Bin 0 -> 39942 bytes .../img/jira_merge_request_close.png | Bin 0 -> 111150 bytes doc/project_services/img/jira_project_name.png | Bin 0 -> 60598 bytes doc/project_services/img/jira_service.png | Bin 0 -> 59082 bytes .../img/jira_service_close_issue.png | Bin 0 -> 88433 bytes doc/project_services/img/jira_service_page.png | Bin 0 -> 35496 bytes .../img/jira_workflow_screenshot.png | Bin 0 -> 121534 bytes doc/project_services/project_services.md | 2 +- 18 files changed, 5 insertions(+), 151 deletions(-) delete mode 100644 doc/integration/img/jira_issue_reference.png delete mode 100644 doc/integration/img/jira_merge_request_close.png delete mode 100644 doc/integration/img/jira_project_name.png delete mode 100644 doc/integration/img/jira_service.png delete mode 100644 doc/integration/img/jira_service_close_issue.png delete mode 100644 doc/integration/img/jira_service_page.png delete mode 100644 doc/integration/img/jira_workflow_screenshot.png create mode 100644 doc/project_services/img/jira_issue_reference.png create mode 100644 doc/project_services/img/jira_merge_request_close.png create mode 100644 doc/project_services/img/jira_project_name.png create mode 100644 doc/project_services/img/jira_service.png create mode 100644 doc/project_services/img/jira_service_close_issue.png create mode 100644 doc/project_services/img/jira_service_page.png create mode 100644 doc/project_services/img/jira_workflow_screenshot.png (limited to 'doc') diff --git a/doc/integration/README.md b/doc/integration/README.md index 846526f4e80..83116bc8370 100644 --- a/doc/integration/README.md +++ b/doc/integration/README.md @@ -5,7 +5,7 @@ trackers and external authentication. See the documentation below for details on how to configure these services. -- [Jira](jira.md) Integrate with the JIRA issue tracker +- [Jira](../project_services/jira.md) Integrate with the JIRA issue tracker - [External issue tracker](external-issue-tracker.md) Redmine, JIRA, etc. - [LDAP](ldap.md) Set up sign in via LDAP - [OmniAuth](omniauth.md) Sign in via Twitter, GitHub, GitLab.com, Google, Bitbucket, Facebook, Shibboleth, SAML, Crowd and Azure diff --git a/doc/integration/external-issue-tracker.md b/doc/integration/external-issue-tracker.md index 3543a67dd49..e25af546527 100644 --- a/doc/integration/external-issue-tracker.md +++ b/doc/integration/external-issue-tracker.md @@ -19,7 +19,7 @@ To enable an external issue tracker you must configure the appropriate **Service Visit the links below for details: - [Redmine](../project_services/redmine.md) -- [Jira](jira.md) +- [Jira](../proect_services/jira.md) ### Service Template diff --git a/doc/integration/img/jira_issue_reference.png b/doc/integration/img/jira_issue_reference.png deleted file mode 100644 index 15739a22dc7..00000000000 Binary files a/doc/integration/img/jira_issue_reference.png and /dev/null differ diff --git a/doc/integration/img/jira_merge_request_close.png b/doc/integration/img/jira_merge_request_close.png deleted file mode 100644 index 1e78daf105f..00000000000 Binary files a/doc/integration/img/jira_merge_request_close.png and /dev/null differ diff --git a/doc/integration/img/jira_project_name.png b/doc/integration/img/jira_project_name.png deleted file mode 100644 index 5986fdb63fb..00000000000 Binary files a/doc/integration/img/jira_project_name.png and /dev/null differ diff --git a/doc/integration/img/jira_service.png b/doc/integration/img/jira_service.png deleted file mode 100644 index 1f6628c4371..00000000000 Binary files a/doc/integration/img/jira_service.png and /dev/null differ diff --git a/doc/integration/img/jira_service_close_issue.png b/doc/integration/img/jira_service_close_issue.png deleted file mode 100644 index 67dfc6144c4..00000000000 Binary files a/doc/integration/img/jira_service_close_issue.png and /dev/null differ diff --git a/doc/integration/img/jira_service_page.png b/doc/integration/img/jira_service_page.png deleted file mode 100644 index 2b37eda3520..00000000000 Binary files a/doc/integration/img/jira_service_page.png and /dev/null differ diff --git a/doc/integration/img/jira_workflow_screenshot.png b/doc/integration/img/jira_workflow_screenshot.png deleted file mode 100644 index 8635a32eb68..00000000000 Binary files a/doc/integration/img/jira_workflow_screenshot.png and /dev/null differ diff --git a/doc/integration/jira.md b/doc/integration/jira.md index de574d53410..78aa6634116 100644 --- a/doc/integration/jira.md +++ b/doc/integration/jira.md @@ -1,149 +1,3 @@ -# GitLab Jira integration +# GitLab JIRA integration -GitLab can be configured to interact with Jira. Configuration happens via -username and password. Connecting to a Jira server via CAS is not possible. - -Each project can be configured to connect to a different Jira instance, see the -[configuration](#configuration) section. If you have one Jira instance you can -pre-fill the settings page with a default template. To configure the template -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 LINK_TO_THE_MENTION -``` - -* `USER` A user that mentioned the issue. This is the link to the user profile in GitLab. -* `LINK_TO_THE_MENTION` Link to the origin of mention with a name of the entity where Jira issue was mentioned. -Can be commit or merge request. - - - ---- - -### 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 link to the commit that resolved the issue. - - - ---- - - - ---- - -## Configuration - -### Configuring JIRA - -We need to create a user in JIRA which will have access to all projects that -need to integrate with GitLab. Login to your JIRA instance as admin and under -Administration go to User Management and create a new user. - -As an example, we'll create a user named `gitlab` and add it to `jira-developers` -group. - -**It is important that the user `gitlab` has write-access to projects in JIRA** - -### Configuring GitLab - -JIRA configuration in GitLab is done via a project's **Services**. - -#### GitLab 7.8 and up with JIRA v6.x - -See next section. - -#### GitLab 7.8 and up - -_The currently supported JIRA versions are v6.x and v7.x._ - -To enable JIRA integration in a project, navigate to the project's -**Settings > Services > JIRA**. - -Fill in the required details on the page as described in the table below. - -| Field | Description | -| ----- | ----------- | -| `description` | A name for the issue tracker (to differentiate between instances, for instance). | -| `project url` | The URL to the JIRA project which is being linked to this GitLab project. | -| `issues url` | The URL to the JIRA project issues overview for the project that is linked to this GitLab project. | -| `new issue url` | This is the URL to create a new issue in JIRA for the project linked to this GitLab project. | -| `api url` | The base URL of the JIRA API. It may be omitted, in which case GitLab will automatically use API version `2` based on the `project url`, i.e. `https://jira.example.com/rest/api/2`. | -| `username` | The username of the user 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)). By default, this ID is `2` (in the example image, this is `2` as well) | - -After saving the configuration, your GitLab project will be able to interact -with the linked JIRA project. - - - ---- - -#### GitLab 6.x-7.7 with JIRA v6.x - -_**Note:** GitLab versions 7.8 and up contain various integration improvements. -We strongly recommend upgrading._ - -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. - -After you set this, you will be able to close issues in JIRA by a commit in -GitLab. - -Go to your project's **Settings** page and fill in the project name for the -JIRA project: - - - ---- - -You can also enable the JIRA service that will allow you to interact with JIRA -issues. Go to the **Settings > Services > JIRA** and: - -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 - - - - -[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 +This document was moved under [project_services/jira](../project_services/jira.md). diff --git a/doc/project_services/img/jira_issue_reference.png b/doc/project_services/img/jira_issue_reference.png new file mode 100644 index 00000000000..15739a22dc7 Binary files /dev/null and b/doc/project_services/img/jira_issue_reference.png differ diff --git a/doc/project_services/img/jira_merge_request_close.png b/doc/project_services/img/jira_merge_request_close.png new file mode 100644 index 00000000000..1e78daf105f Binary files /dev/null and b/doc/project_services/img/jira_merge_request_close.png differ diff --git a/doc/project_services/img/jira_project_name.png b/doc/project_services/img/jira_project_name.png new file mode 100644 index 00000000000..5986fdb63fb Binary files /dev/null and b/doc/project_services/img/jira_project_name.png differ diff --git a/doc/project_services/img/jira_service.png b/doc/project_services/img/jira_service.png new file mode 100644 index 00000000000..1f6628c4371 Binary files /dev/null and b/doc/project_services/img/jira_service.png differ diff --git a/doc/project_services/img/jira_service_close_issue.png b/doc/project_services/img/jira_service_close_issue.png new file mode 100644 index 00000000000..67dfc6144c4 Binary files /dev/null and b/doc/project_services/img/jira_service_close_issue.png differ diff --git a/doc/project_services/img/jira_service_page.png b/doc/project_services/img/jira_service_page.png new file mode 100644 index 00000000000..2b37eda3520 Binary files /dev/null and b/doc/project_services/img/jira_service_page.png differ diff --git a/doc/project_services/img/jira_workflow_screenshot.png b/doc/project_services/img/jira_workflow_screenshot.png new file mode 100644 index 00000000000..8635a32eb68 Binary files /dev/null and b/doc/project_services/img/jira_workflow_screenshot.png differ diff --git a/doc/project_services/project_services.md b/doc/project_services/project_services.md index e3403127723..f004f3e8789 100644 --- a/doc/project_services/project_services.md +++ b/doc/project_services/project_services.md @@ -22,7 +22,7 @@ further configuration instructions and details. Contributions are welcome. | Gemnasium | Gemnasium monitors your project dependencies and alerts you about updates and security vulnerabilities | | [HipChat](hipchat.md) | Private group chat and IM | | [Irker (IRC gateway)](irker.md) | Send IRC messages, on update, to a list of recipients through an Irker gateway | -| JIRA | Jira issue tracker | +| [JIRA](jira.md) | Jira issue tracker | | JetBrains TeamCity CI | A continuous integration and build server | | PivotalTracker | Project Management Software (Source Commits Endpoint) | | Pushover | Pushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and Desktop | -- cgit v1.2.1 From 5637423c698d373232f70af91e13bd16610510ac Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 10:08:44 +0100 Subject: Split JIRA configuration for GitLab < 7.8 and > 7.8 [ci skip] --- doc/project_services/jira.md | 122 +++++++++++++++++++++++++++++++++++++++ doc/project_services/jira_old.md | 40 +++++++++++++ 2 files changed, 162 insertions(+) create mode 100644 doc/project_services/jira.md create mode 100644 doc/project_services/jira_old.md (limited to 'doc') diff --git a/doc/project_services/jira.md b/doc/project_services/jira.md new file mode 100644 index 00000000000..3e0129bfe37 --- /dev/null +++ b/doc/project_services/jira.md @@ -0,0 +1,122 @@ +# GitLab JIRA integration + +GitLab can be configured to interact with JIRA. Configuration happens via +username and password. Connecting to a JIRA server via CAS is not possible. + +Each project can be configured to connect to a different JIRA instance, see the +[configuration](#configuration) section. If you have one JIRA instance you can +pre-fill the settings page with a default template. To configure the template +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. + +## Configuration + +The configuration consists of two parts: + +- [JIRA configuration](#configuring-jira) +- [GitLab configuration](#configuring-gitlab) + +### Configuring JIRA + +We need to create a user in JIRA which will have access to all projects that +need to integrate with GitLab. Login to your JIRA instance as admin and under +Administration go to User Management and create a new user. + +As an example, we'll create a user named `gitlab` and add it to `jira-developers` +group. + +**It is important that the user `gitlab` has write-access to projects in JIRA** + +### Configuring GitLab + +JIRA configuration in GitLab is done via a project's +[**Services**](../project_services/project_services.md). + +#### GitLab 7.8 and up + +_The currently supported JIRA versions are v6.x and v7.x._ + +To enable JIRA integration in a project, navigate to the project's +**Settings > Services > JIRA**. + +Fill in the required details on the page as described in the table below. + +| Field | Description | +| ----- | ----------- | +| `description` | A name for the issue tracker (to differentiate between instances, for instance). | +| `project url` | The URL to the JIRA project which is being linked to this GitLab project. | +| `issues url` | The URL to the JIRA project issues overview for the project that is linked to this GitLab project. | +| `new issue url` | This is the URL to create a new issue in JIRA for the project linked to this GitLab project. | +| `api url` | The base URL of the JIRA API. It may be omitted, in which case GitLab will automatically use API version `2` based on the `project url`, i.e. `https://jira.example.com/rest/api/2`. | +| `username` | The username of the user 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)). By default, this ID is `2` (in the example image, this is `2` as well) | + +After saving the configuration, your GitLab project will be able to interact +with the linked JIRA project. + + + +--- + +#### GitLab 6.x-7.7 with JIRA v6.x + +_**Note:** GitLab versions 7.8 and up contain various integration improvements. +We strongly recommend upgrading._ + +In the unfortunate event that you are still using GitLab < 7.8, consult the +[jira_old document](jira_old.md) on how to configure JIRA. + +## JIRA issues + +### 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 LINK_TO_THE_MENTION +``` + +Where: + +| Format | Description | +| ------ | ----------- | +| `USER` | A user that mentioned the issue. This is the link to the user profile in GitLab. | +| `LINK_TO_THE_MENTION` | Link to the origin of mention with a name of the entity where JIRA issue was mentioned. Can be commit or merge request. | + + + +--- + +### 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 link to the commit that resolved the issue. + + + +--- + + + +--- + +[services-templates]: ../project_services/services_templates.md diff --git a/doc/project_services/jira_old.md b/doc/project_services/jira_old.md new file mode 100644 index 00000000000..2813b142de2 --- /dev/null +++ b/doc/project_services/jira_old.md @@ -0,0 +1,40 @@ +# GitLab 6.x-7.7 with JIRA v6.x + +**NOTE: This method is deprecated. GitLab versions 7.8 and up, contain various +integration improvements and we strongly recommend upgrading. The official +supported document on JIRA integration can be found under [JIRA](jira.md).** + +--- + +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. + +After you set this, you will be able to close issues in JIRA by a commit in +GitLab. + +Go to your project's **Settings** page and fill in the project name for the +JIRA project: + + + +--- + +You can also enable the JIRA service that will allow you to interact with JIRA +issues. Go to the **Settings > Services > JIRA** and: + +1. Tick the active check box to enable the service +1. Supply the URL to JIRA server, for example https://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-gitlab-yml]: https://gitlab.com/subscribers/gitlab-ee/blob/6-8-stable-ee/config/gitlab.yml.example#L111-115 -- cgit v1.2.1 From d5fc2e9ded87579c588972da5e53f635e4f1d36d Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 13:48:36 +0100 Subject: Add steps on configuring JIRA [ci skip] --- .../img/jira_add_user_to_group.png | Bin 0 -> 59251 bytes doc/project_services/img/jira_create_new_group.png | Bin 0 -> 41294 bytes .../img/jira_create_new_group_name.png | Bin 0 -> 12535 bytes doc/project_services/img/jira_create_new_user.png | Bin 0 -> 26532 bytes doc/project_services/img/jira_group_access.png | Bin 0 -> 46028 bytes .../img/jira_user_management_link.png | Bin 0 -> 58211 bytes doc/project_services/jira.md | 75 +++++++++++++++++---- 7 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 doc/project_services/img/jira_add_user_to_group.png create mode 100644 doc/project_services/img/jira_create_new_group.png create mode 100644 doc/project_services/img/jira_create_new_group_name.png create mode 100644 doc/project_services/img/jira_create_new_user.png create mode 100644 doc/project_services/img/jira_group_access.png create mode 100644 doc/project_services/img/jira_user_management_link.png (limited to 'doc') diff --git a/doc/project_services/img/jira_add_user_to_group.png b/doc/project_services/img/jira_add_user_to_group.png new file mode 100644 index 00000000000..e4576433889 Binary files /dev/null and b/doc/project_services/img/jira_add_user_to_group.png differ diff --git a/doc/project_services/img/jira_create_new_group.png b/doc/project_services/img/jira_create_new_group.png new file mode 100644 index 00000000000..edaa1326058 Binary files /dev/null and b/doc/project_services/img/jira_create_new_group.png differ diff --git a/doc/project_services/img/jira_create_new_group_name.png b/doc/project_services/img/jira_create_new_group_name.png new file mode 100644 index 00000000000..9e518ad7843 Binary files /dev/null and b/doc/project_services/img/jira_create_new_group_name.png differ diff --git a/doc/project_services/img/jira_create_new_user.png b/doc/project_services/img/jira_create_new_user.png new file mode 100644 index 00000000000..57e433dd818 Binary files /dev/null and b/doc/project_services/img/jira_create_new_user.png differ diff --git a/doc/project_services/img/jira_group_access.png b/doc/project_services/img/jira_group_access.png new file mode 100644 index 00000000000..47716ca6d0e Binary files /dev/null and b/doc/project_services/img/jira_group_access.png differ diff --git a/doc/project_services/img/jira_user_management_link.png b/doc/project_services/img/jira_user_management_link.png new file mode 100644 index 00000000000..2745916972c Binary files /dev/null and b/doc/project_services/img/jira_user_management_link.png differ diff --git a/doc/project_services/jira.md b/doc/project_services/jira.md index 3e0129bfe37..65d850934bb 100644 --- a/doc/project_services/jira.md +++ b/doc/project_services/jira.md @@ -1,15 +1,15 @@ # GitLab JIRA integration -GitLab can be configured to interact with JIRA. Configuration happens via +GitLab can be configured to interact with [JIRA]. Configuration happens via username and password. Connecting to a JIRA server via CAS is not possible. -Each project can be configured to connect to a different JIRA instance, see the -[configuration](#configuration) section. If you have one JIRA instance you can -pre-fill the settings page with a default template. To configure the template -see the [Services Templates][services-templates] document. +Each project can be configured to connect to a different JIRA instance or, in +case you have one JIRA instance, you can pre-fill the JIRA service settings page +with a default template. To configure the template, see the +[Services Templates documentation][services-templates]. Once the project is connected to JIRA, you can reference and close the issues -in JIRA directly from GitLab. +in JIRA directly from GitLab's Merge requests. ## Configuration @@ -20,14 +20,62 @@ The configuration consists of two parts: ### Configuring JIRA -We need to create a user in JIRA which will have access to all projects that -need to integrate with GitLab. Login to your JIRA instance as admin and under -Administration go to User Management and create a new user. +First things first, we need to create a user in JIRA which will have access to +all projects that need to integrate with GitLab. -As an example, we'll create a user named `gitlab` and add it to `jira-developers` -group. +We have split this stage in steps so it could be easier to follow. -**It is important that the user `gitlab` has write-access to projects in JIRA** +--- + +1. Login to your JIRA instance as an administrator and under **Administration** + go to **User Management** and create a new user. + +  + + --- + +1. The next step is to create a new user (e.g., `gitlab`) who has write-access + to projects in JIRA. Enter the user's name and a valid e-mail address in + order to set-up their password. + _**Note:** JIRA creates the username automatically by using the e-mail + prefix. You can change the username later if you want._ + +  + + --- + +1. Now, let's create a `gitlab-developers` group which will have write-access + to projects in JIRA. Go to the **Groups** tab and select **Create group**. + +  + + --- + + Give it an optional description and hit **Create group**. + +  + + --- + +1. Give the newly-created group write access by going to + **Application access > View configuration** and adding the `gitlab-developers` + group to JIRA Core. + +  + + --- + +1. Add the `gitlab` user to `gitlab-developers` group by going to + **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. + +  + +--- + +The JIRA configuration is over. Note the new user `gitlab` and its password as +they will be needed when configuring GitLab in the next section. ### Configuring GitLab @@ -119,4 +167,5 @@ with a link to the commit that resolved the issue. --- -[services-templates]: ../project_services/services_templates.md +[services-templates]: ../project_services/services_templates.md "Services templates documentation" +[JIRA]: https://www.atlassian.com/software/jira/core "The JIRA Core website" -- cgit v1.2.1 From 468dbfe937b60cc0b06f062fd01dcfd70450bcf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Zaj=C4=85czkowski?= <mszpak@wp.pl> Date: Mon, 25 Jan 2016 13:06:09 +0000 Subject: Update Slack integration configuration --- doc/integration/slack.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/integration/slack.md b/doc/integration/slack.md index 84f1d74c058..ecbe0d3e887 100644 --- a/doc/integration/slack.md +++ b/doc/integration/slack.md @@ -6,15 +6,17 @@ To enable Slack integration you must create an Incoming WebHooks integration on 1. [Sign in to Slack](https://slack.com/signin) -1. Select **Configure Integrations** from the dropdown next to your team name. +1. Select **Apps & Custom Integrations** from the dropdown next to your team name. -1. Select the **All Services** tab +1. Click the **Configure** link (right-upper corner). -1. Click **Add** next to Incoming Webhooks +1. Select the **Custom integrations** tab. -1. Pick Incoming WebHooks +1. Click the **Incoming WebHooks** row. -1. Choose the channel name you want to send notifications to +1. Click the **Add configuration** button. + +1. Choose the channel name you want to send notifications to. 1. Click **Add Incoming WebHooks Integration** - Optional step; You can change bot's name and avatar by clicking modifying the bot name or avatar under **Integration Settings**. -- cgit v1.2.1 From 0fcf3adabb84bf62b374916615cde276d2c61843 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 20:29:52 +0100 Subject: JIRA doc clean-up [ci skip] - Add GitLab configuration steps - Add example workflow - Replace old images with new ones --- .../img/jira_add_gitlab_commit_message.png | Bin 0 -> 57136 bytes doc/project_services/img/jira_issues_workflow.png | Bin 0 -> 104791 bytes ...jira_reference_commit_message_in_jira_issue.png | Bin 0 -> 42452 bytes .../img/jira_submit_gitlab_merge_request.png | Bin 0 -> 63063 bytes doc/project_services/jira.md | 144 ++++++++++++++------- 5 files changed, 94 insertions(+), 50 deletions(-) create mode 100644 doc/project_services/img/jira_add_gitlab_commit_message.png create mode 100644 doc/project_services/img/jira_issues_workflow.png create mode 100644 doc/project_services/img/jira_reference_commit_message_in_jira_issue.png create mode 100644 doc/project_services/img/jira_submit_gitlab_merge_request.png (limited to 'doc') diff --git a/doc/project_services/img/jira_add_gitlab_commit_message.png b/doc/project_services/img/jira_add_gitlab_commit_message.png new file mode 100644 index 00000000000..85e54861b3e Binary files /dev/null and b/doc/project_services/img/jira_add_gitlab_commit_message.png differ diff --git a/doc/project_services/img/jira_issues_workflow.png b/doc/project_services/img/jira_issues_workflow.png new file mode 100644 index 00000000000..51a1bc10210 Binary files /dev/null and b/doc/project_services/img/jira_issues_workflow.png differ diff --git a/doc/project_services/img/jira_reference_commit_message_in_jira_issue.png b/doc/project_services/img/jira_reference_commit_message_in_jira_issue.png new file mode 100644 index 00000000000..0149181dc86 Binary files /dev/null and b/doc/project_services/img/jira_reference_commit_message_in_jira_issue.png differ diff --git a/doc/project_services/img/jira_submit_gitlab_merge_request.png b/doc/project_services/img/jira_submit_gitlab_merge_request.png new file mode 100644 index 00000000000..e935d9362aa Binary files /dev/null and b/doc/project_services/img/jira_submit_gitlab_merge_request.png differ diff --git a/doc/project_services/jira.md b/doc/project_services/jira.md index 65d850934bb..564a3cc9336 100644 --- a/doc/project_services/jira.md +++ b/doc/project_services/jira.md @@ -1,15 +1,17 @@ # GitLab JIRA integration -GitLab can be configured to interact with [JIRA]. Configuration happens via -username and password. Connecting to a JIRA server via CAS is not possible. +GitLab can be configured to interact with [JIRA Core] either using an +on-premises instance or the SaaS solution that Atlassian offers. Configuration +happens via username and password on a per-project basis. Connecting to a JIRA +server via CAS is not possible. Each project can be configured to connect to a different JIRA instance or, in -case you have one JIRA instance, you can pre-fill the JIRA service settings page -with a default template. To configure the template, see the -[Services Templates documentation][services-templates]. +case you have a single JIRA instance, you can pre-fill the JIRA service +settings page in GitLab with a default template. To configure the JIRA template, +see the [Services Templates documentation][services-templates]. -Once the project is connected to JIRA, you can reference and close the issues -in JIRA directly from GitLab's Merge requests. +Once the GitLab project is connected to JIRA, you can reference and close the +issues in JIRA directly from GitLab's Merge requests. ## Configuration @@ -28,17 +30,17 @@ We have split this stage in steps so it could be easier to follow. --- 1. Login to your JIRA instance as an administrator and under **Administration** - go to **User Management** and create a new user. + go to **User Management** to create a new user.  --- 1. The next step is to create a new user (e.g., `gitlab`) who has write-access - to projects in JIRA. Enter the user's name and a valid e-mail address in - order to set-up their password. + to projects in JIRA. Enter the user's name and a _valid_ e-mail address + since JIRA sends a verification e-mail to set-up the password. _**Note:** JIRA creates the username automatically by using the e-mail - prefix. You can change the username later if you want._ + prefix. You can change it later if you want._  @@ -74,33 +76,36 @@ We have split this stage in steps so it could be easier to follow. --- -The JIRA configuration is over. Note the new user `gitlab` and its password as -they will be needed when configuring GitLab in the next section. +The JIRA configuration is over. Write down the new JIRA username and its +password as they will be needed when configuring GitLab in the next section. -### Configuring GitLab +## Configuring GitLab + +Assuming you [have already configured JIRA](#configuring-jira), now it's time +to configure GitLab. JIRA configuration in GitLab is done via a project's [**Services**](../project_services/project_services.md). #### GitLab 7.8 and up -_The currently supported JIRA versions are v6.x and v7.x._ +_**Note:** The currently supported JIRA versions are v6.x and v7.x._ To enable JIRA integration in a project, navigate to the project's **Settings > Services > JIRA**. -Fill in the required details on the page as described in the table below. +Fill in the required details on the page, as described in the table below. -| Field | Description | -| ----- | ----------- | -| `description` | A name for the issue tracker (to differentiate between instances, for instance). | -| `project url` | The URL to the JIRA project which is being linked to this GitLab project. | -| `issues url` | The URL to the JIRA project issues overview for the project that is linked to this GitLab project. | -| `new issue url` | This is the URL to create a new issue in JIRA for the project linked to this GitLab project. | -| `api url` | The base URL of the JIRA API. It may be omitted, in which case GitLab will automatically use API version `2` based on the `project url`, i.e. `https://jira.example.com/rest/api/2`. | -| `username` | The username of the user 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)). By default, this ID is `2` (in the example image, this is `2` as well) | +| Setting | Description | +| ------- | ----------- | +| `Description` | A name for the issue tracker (to differentiate between instances, for example). | +| `Project url` | The URL to the JIRA project which is being linked to this GitLab project. It's of the form: `https://<jira_host_url>/issues/?jql=project=<jira_project>`. | +| `Issues url` | The URL to the JIRA project issues overview for the project that is linked to this GitLab project. It is of the form: `https://<jira_host_url>/browse/:id`. Leave `:id` as-is, it gets replaced by GitLab at runtime. | +| `New issue url` | This is the URL to create a new issue in JIRA for the project linked to this GitLab project, and is of the form: `https://<jira_host_url>/secure/CreateIssue.jspa` | +| `Api url` | The base URL of the JIRA API. It may be omitted, in which case GitLab will automatically use API version `2` based on the `project url`. It is of the form: `https://<jira_host_url>/rest/api/2`. | +| `Username` | The username of the user created in [configuring JIRA step](#configuring-jira). | +| `Password` |The password of the user created in [configuring JIRA step](#configuring-jira). | +| `JIRA issue transition` | This setting is very important to set up correctly. It is the ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (**Administration > Issues > Workflows**) by selecting **View** under **Operations** of the desired workflow of your project. The ID of each state can be found inside the parenthesis of each transition name under the **Transitions (id)** column ([see screenshot](img/jira_issues_workflow.png)). By default, this ID is set to `2` | After saving the configuration, your GitLab project will be able to interact with the linked JIRA project. @@ -119,17 +124,38 @@ In the unfortunate event that you are still using GitLab < 7.8, consult the ## JIRA issues +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 JIRA issues and +- close JIRA issues + +by just mentioning their ID in GitLab commits and merge requests. + ### 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: +If you reference a JIRA issue, e.g., `GITLAB-1`, in a commit comment, a link +which points back to JIRA is created. + +The same works for comments in merge requests as well. + + + +--- + +The mentioning action is two-fold, so a comment with a JIRA issue in GitLab +will automatically add a comment in that particular JIRA issue with the link +back to GitLab. + + + + +--- + +The comment on the JIRA issue is of the form: -``` - USER mentioned this issue in LINK_TO_THE_MENTION -``` +> USER mentioned this issue in LINK_TO_THE_MENTION Where: @@ -138,34 +164,52 @@ Where: | `USER` | A user that mentioned the issue. This is the link to the user profile in GitLab. | | `LINK_TO_THE_MENTION` | Link to the origin of mention with a name of the entity where JIRA issue was mentioned. Can be commit or merge request. | - +### Closing JIRA issues ---- +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. -### Closing JIRA Issues +There are currently three trigger words, and you can use either one to achieve +the same goal: -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. +- `Resolves GITLAB-1` +- `Closes GITLAB-1` +- `Fixes GITLAB-1` -For example, for project named `PROJECT` in JIRA, we implemented a new feature -and created a merge request in GitLab. +where `GITLAB-1` the issue ID of the JIRA project. -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. +### JIRA issue closing example -Once this merge request is merged, the JIRA issue will be automatically closed -with a link to the commit that resolved the issue. +Let's say for example that we submitted a bug fix and created a merge request +in GitLab. The workflow would be something like this: + +1. Create a new branch +1. Fix the bug +1. Commit the changes and push back to GitLab +1. Open a new merge request and reference the JIRA issue including one of the + trigger words, e.g.: `Fixes GITLAB-1`, in the description +1. Submit the merge request +1. Ask someone to review +1. Merge the merge request +1. The JIRA issue is automatically closed - +--- + +In the following screenshot you can see how the link references to the JIRA +issue look like. + + --- +Once this merge request is merged, the JIRA issue will be automatically closed +with a link to the commit that resolved the issue. +  --- [services-templates]: ../project_services/services_templates.md "Services templates documentation" -[JIRA]: https://www.atlassian.com/software/jira/core "The JIRA Core website" +[JIRA Core]: https://www.atlassian.com/software/jira/core "The JIRA Core website" -- cgit v1.2.1 From 6c46b79d9a959a9dc74748f6cb3d30fa5ff89264 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 20:36:12 +0100 Subject: Fix sub-heading [ci skip] --- doc/project_services/jira.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/project_services/jira.md b/doc/project_services/jira.md index 564a3cc9336..2ade54aeaf8 100644 --- a/doc/project_services/jira.md +++ b/doc/project_services/jira.md @@ -79,7 +79,7 @@ We have split this stage in steps so it could be easier to follow. The JIRA configuration is over. Write down the new JIRA username and its password as they will be needed when configuring GitLab in the next section. -## Configuring GitLab +### Configuring GitLab Assuming you [have already configured JIRA](#configuring-jira), now it's time to configure GitLab. -- cgit v1.2.1 From c53aad315f89e0eaa44ab680d0b79f38c4590083 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 22:17:41 +0100 Subject: Add proper screenshot and comment on the output [ci skip] --- doc/project_services/img/jira_issue_closed.png | Bin 0 -> 92601 bytes doc/project_services/img/jira_issues_workflow.png | Bin 104791 -> 105237 bytes doc/project_services/jira.md | 19 ++++++++++++++----- 3 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 doc/project_services/img/jira_issue_closed.png (limited to 'doc') diff --git a/doc/project_services/img/jira_issue_closed.png b/doc/project_services/img/jira_issue_closed.png new file mode 100644 index 00000000000..cabec1ae137 Binary files /dev/null and b/doc/project_services/img/jira_issue_closed.png differ diff --git a/doc/project_services/img/jira_issues_workflow.png b/doc/project_services/img/jira_issues_workflow.png index 51a1bc10210..28e17be3a84 100644 Binary files a/doc/project_services/img/jira_issues_workflow.png and b/doc/project_services/img/jira_issues_workflow.png differ diff --git a/doc/project_services/jira.md b/doc/project_services/jira.md index 2ade54aeaf8..b82e4857814 100644 --- a/doc/project_services/jira.md +++ b/doc/project_services/jira.md @@ -167,9 +167,10 @@ Where: ### Closing JIRA issues 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. +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: @@ -187,7 +188,7 @@ in GitLab. The workflow would be something like this: 1. Create a new branch 1. Fix the bug -1. Commit the changes and push back to GitLab +1. Commit the changes and push branch to GitLab 1. Open a new merge request and reference the JIRA issue including one of the trigger words, e.g.: `Fixes GITLAB-1`, in the description 1. Submit the merge request @@ -207,9 +208,17 @@ issue look like. Once this merge request is merged, the JIRA issue will be automatically closed with a link to the commit that resolved the issue. - + --- +You can see from the above image that there are four references to GitLab: + +- The first is from a comment in a specific commit +- The second one is from the JIRA issue reference in the merge request + description +- The third is from the actual commit that solved the issue +- And the fourth one is from the commit that the merge request created + [services-templates]: ../project_services/services_templates.md "Services templates documentation" [JIRA Core]: https://www.atlassian.com/software/jira/core "The JIRA Core website" -- cgit v1.2.1 From 6292ddd1980cad80e0f8385929cb07767b604efb Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 22:36:44 +0100 Subject: Add references to the rouge gem library [ci skip] --- doc/markdown/markdown.md | 5 +++++ doc/profile/preferences.md | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'doc') diff --git a/doc/markdown/markdown.md b/doc/markdown/markdown.md index bc8e7d155e7..83c77742b19 100644 --- a/doc/markdown/markdown.md +++ b/doc/markdown/markdown.md @@ -88,6 +88,9 @@ GFM will autolink almost any URL you copy and paste into your text. ## Code and Syntax Highlighting +_GitLab uses the [rouge ruby library][rouge] for syntax highlighting. For a +list of supported languages visit the rouge website._ + Blocks of code are either fenced by lines with three back-ticks <code>```</code>, or are indented with four spaces. Only the fenced code blocks support syntax highlighting. ```no-highlight @@ -585,3 +588,5 @@ By including colons in the header row, you can align the text within that column - This document leveraged heavily from the [Markdown-Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet). - The [Markdown Syntax Guide](https://daringfireball.net/projects/markdown/syntax) at Daring Fireball is an excellent resource for a detailed explanation of standard markdown. - [Dillinger.io](http://dillinger.io) is a handy tool for testing standard markdown. + +[rouge]: http://rouge.jneen.net/ "Rouge website" diff --git a/doc/profile/preferences.md b/doc/profile/preferences.md index f17bbe8f2aa..073b8797508 100644 --- a/doc/profile/preferences.md +++ b/doc/profile/preferences.md @@ -12,6 +12,9 @@ The default is **Charcoal**. ## Syntax highlighting theme +_GitLab uses the [rouge ruby library][rouge] for syntax highlighting. For a +list of supported languages visit the rouge website._ + Changing this setting allows the user to customize the theme used when viewing syntax highlighted code on the site. @@ -36,3 +39,5 @@ The default is **Your Projects**. It allows user to choose what content he or she want to see on project page. The default is **Readme**. + +[rouge]: http://rouge.jneen.net/ "Rouge website" -- cgit v1.2.1 From 81d79c7f0a8e8bd54cf39a886ab89ec4532f34b1 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 23:52:04 +0100 Subject: Fix typos, grammar and styling --- doc/integration/external-issue-tracker.md | 2 +- doc/project_services/jira.md | 29 ++++++++++++----------------- doc/project_services/project_services.md | 2 +- 3 files changed, 14 insertions(+), 19 deletions(-) (limited to 'doc') diff --git a/doc/integration/external-issue-tracker.md b/doc/integration/external-issue-tracker.md index e25af546527..a2d7e922aad 100644 --- a/doc/integration/external-issue-tracker.md +++ b/doc/integration/external-issue-tracker.md @@ -19,7 +19,7 @@ To enable an external issue tracker you must configure the appropriate **Service Visit the links below for details: - [Redmine](../project_services/redmine.md) -- [Jira](../proect_services/jira.md) +- [Jira](../project_services/jira.md) ### Service Template diff --git a/doc/project_services/jira.md b/doc/project_services/jira.md index b82e4857814..c733e4b2e9b 100644 --- a/doc/project_services/jira.md +++ b/doc/project_services/jira.md @@ -11,7 +11,7 @@ settings page in GitLab with a default template. To configure the JIRA template, see the [Services Templates documentation][services-templates]. Once the GitLab project is connected to JIRA, you can reference and close the -issues in JIRA directly from GitLab's Merge requests. +issues in JIRA directly from GitLab's merge requests. ## Configuration @@ -25,7 +25,7 @@ The configuration consists of two parts: First things first, we need to create a user in JIRA which will have access to all projects that need to integrate with GitLab. -We have split this stage in steps so it could be easier to follow. +We have split this stage in steps so it is easier to follow. --- @@ -36,7 +36,7 @@ We have split this stage in steps so it could be easier to follow. --- -1. The next step is to create a new user (e.g., `gitlab`) who has write-access +1. The next step is to create a new user (e.g., `gitlab`) who has write access to projects in JIRA. Enter the user's name and a _valid_ e-mail address since JIRA sends a verification e-mail to set-up the password. _**Note:** JIRA creates the username automatically by using the e-mail @@ -46,7 +46,7 @@ We have split this stage in steps so it could be easier to follow. --- -1. Now, let's create a `gitlab-developers` group which will have write-access +1. Now, let's create a `gitlab-developers` group which will have write access to projects in JIRA. Go to the **Groups** tab and select **Create group**.  @@ -67,7 +67,7 @@ We have split this stage in steps so it could be easier to follow. --- -1. Add the `gitlab` user to `gitlab-developers` group by going to +1. Add the `gitlab` user to the `gitlab-developers` group by going to **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. @@ -99,9 +99,9 @@ Fill in the required details on the page, as described in the table below. | Setting | Description | | ------- | ----------- | | `Description` | A name for the issue tracker (to differentiate between instances, for example). | -| `Project url` | The URL to the JIRA project which is being linked to this GitLab project. It's of the form: `https://<jira_host_url>/issues/?jql=project=<jira_project>`. | +| `Project url` | The URL to the JIRA project which is being linked to this GitLab project. It is of the form: `https://<jira_host_url>/issues/?jql=project=<jira_project>`. | | `Issues url` | The URL to the JIRA project issues overview for the project that is linked to this GitLab project. It is of the form: `https://<jira_host_url>/browse/:id`. Leave `:id` as-is, it gets replaced by GitLab at runtime. | -| `New issue url` | This is the URL to create a new issue in JIRA for the project linked to this GitLab project, and is of the form: `https://<jira_host_url>/secure/CreateIssue.jspa` | +| `New issue url` | This is the URL to create a new issue in JIRA for the project linked to this GitLab project, and it is of the form: `https://<jira_host_url>/secure/CreateIssue.jspa` | | `Api url` | The base URL of the JIRA API. It may be omitted, in which case GitLab will automatically use API version `2` based on the `project url`. It is of the form: `https://<jira_host_url>/rest/api/2`. | | `Username` | The username of the user created in [configuring JIRA step](#configuring-jira). | | `Password` |The password of the user created in [configuring JIRA step](#configuring-jira). | @@ -126,12 +126,8 @@ In the unfortunate event that you are still using GitLab < 7.8, consult the 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 JIRA issues and -- close JIRA issues - -by just mentioning their ID in GitLab commits and merge requests. +you should be able to reference JIRA issues and close JIRA issues by just +mentioning their ID in GitLab commits and merge requests. ### Referencing JIRA Issues @@ -198,7 +194,7 @@ in GitLab. The workflow would be something like this: --- -In the following screenshot you can see how the link references to the JIRA +In the following screenshot you can see what the link references to the JIRA issue look like.  @@ -215,10 +211,9 @@ with a link to the commit that resolved the issue. You can see from the above image that there are four references to GitLab: - The first is from a comment in a specific commit -- The second one is from the JIRA issue reference in the merge request - description +- The second is from the JIRA issue reference in the merge request description - The third is from the actual commit that solved the issue -- And the fourth one is from the commit that the merge request created +- And the fourth is from the commit that the merge request created [services-templates]: ../project_services/services_templates.md "Services templates documentation" [JIRA Core]: https://www.atlassian.com/software/jira/core "The JIRA Core website" diff --git a/doc/project_services/project_services.md b/doc/project_services/project_services.md index f004f3e8789..55db3e4f2f3 100644 --- a/doc/project_services/project_services.md +++ b/doc/project_services/project_services.md @@ -22,7 +22,7 @@ further configuration instructions and details. Contributions are welcome. | Gemnasium | Gemnasium monitors your project dependencies and alerts you about updates and security vulnerabilities | | [HipChat](hipchat.md) | Private group chat and IM | | [Irker (IRC gateway)](irker.md) | Send IRC messages, on update, to a list of recipients through an Irker gateway | -| [JIRA](jira.md) | Jira issue tracker | +| [JIRA](jira.md) | JIRA issue tracker | | JetBrains TeamCity CI | A continuous integration and build server | | PivotalTracker | Project Management Software (Source Commits Endpoint) | | Pushover | Pushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and Desktop | -- cgit v1.2.1 From fbc988de54e7e87cde2828a43942181907a42c7d Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 23:59:28 +0100 Subject: Remove old JIRA reference --- doc/project_services/jira.md | 14 ++------------ doc/project_services/jira_old.md | 40 ---------------------------------------- 2 files changed, 2 insertions(+), 52 deletions(-) delete mode 100644 doc/project_services/jira_old.md (limited to 'doc') diff --git a/doc/project_services/jira.md b/doc/project_services/jira.md index c733e4b2e9b..17b9d59d439 100644 --- a/doc/project_services/jira.md +++ b/doc/project_services/jira.md @@ -81,16 +81,14 @@ password as they will be needed when configuring GitLab in the next section. ### Configuring GitLab +_**Note:** The currently supported JIRA versions are v6.x and v7.x._ + Assuming you [have already configured JIRA](#configuring-jira), now it's time to configure GitLab. JIRA configuration in GitLab is done via a project's [**Services**](../project_services/project_services.md). -#### GitLab 7.8 and up - -_**Note:** The currently supported JIRA versions are v6.x and v7.x._ - To enable JIRA integration in a project, navigate to the project's **Settings > Services > JIRA**. @@ -114,14 +112,6 @@ with the linked JIRA project. --- -#### GitLab 6.x-7.7 with JIRA v6.x - -_**Note:** GitLab versions 7.8 and up contain various integration improvements. -We strongly recommend upgrading._ - -In the unfortunate event that you are still using GitLab < 7.8, consult the -[jira_old document](jira_old.md) on how to configure JIRA. - ## JIRA issues By now you should have [configured JIRA](#configuring-jira) and enabled the diff --git a/doc/project_services/jira_old.md b/doc/project_services/jira_old.md deleted file mode 100644 index 2813b142de2..00000000000 --- a/doc/project_services/jira_old.md +++ /dev/null @@ -1,40 +0,0 @@ -# GitLab 6.x-7.7 with JIRA v6.x - -**NOTE: This method is deprecated. GitLab versions 7.8 and up, contain various -integration improvements and we strongly recommend upgrading. The official -supported document on JIRA integration can be found under [JIRA](jira.md).** - ---- - -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. - -After you set this, you will be able to close issues in JIRA by a commit in -GitLab. - -Go to your project's **Settings** page and fill in the project name for the -JIRA project: - - - ---- - -You can also enable the JIRA service that will allow you to interact with JIRA -issues. Go to the **Settings > Services > JIRA** and: - -1. Tick the active check box to enable the service -1. Supply the URL to JIRA server, for example https://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-gitlab-yml]: https://gitlab.com/subscribers/gitlab-ee/blob/6-8-stable-ee/config/gitlab.yml.example#L111-115 -- cgit v1.2.1 From 229845947f09e158937f114e0cedf486252bdda5 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Mon, 25 Jan 2016 23:59:49 +0100 Subject: Add minimum required GitLab version [ci skip] --- doc/project_services/jira.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/project_services/jira.md b/doc/project_services/jira.md index 17b9d59d439..d6b2e7f521b 100644 --- a/doc/project_services/jira.md +++ b/doc/project_services/jira.md @@ -81,7 +81,10 @@ password as they will be needed when configuring GitLab in the next section. ### Configuring GitLab -_**Note:** The currently supported JIRA versions are v6.x and v7.x._ +_**Note:** The currently supported JIRA versions are v6.x and v7.x. and GitLab +7.8 or higher is required._ + +--- Assuming you [have already configured JIRA](#configuring-jira), now it's time to configure GitLab. @@ -116,8 +119,8 @@ with the linked JIRA project. 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 JIRA issues and close JIRA issues by just -mentioning their ID in GitLab commits and merge requests. +you should be able to reference and close JIRA issues by just mentioning their +ID in GitLab commits and merge requests. ### Referencing JIRA Issues -- cgit v1.2.1 From a427ab9faa9dbc33e1b2a0c86c92360ef546524c Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Wed, 27 Jan 2016 09:01:05 +0100 Subject: Fix typo on artifacts doc [ci skip] --- doc/ci/build_artifacts/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/ci/build_artifacts/README.md b/doc/ci/build_artifacts/README.md index 58cbe653c34..71db5aa5dc8 100644 --- a/doc/ci/build_artifacts/README.md +++ b/doc/ci/build_artifacts/README.md @@ -13,8 +13,8 @@ ability of downloading the files separately. **Note:** The artifacts browser will be available only for new artifacts that are sent -to GitLab using GitLab Runner version 1.0 and up. You will not be available to -see the browser for old artifacts already uploaded to GitLab. +to GitLab using GitLab Runner version 1.0 and up. It will not be possible to +browse old artifacts already uploaded to GitLab. ## Enabling build artifacts -- cgit v1.2.1 From af52158ff83ac6de539af36eea729a59a23340fb Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Wed, 27 Jan 2016 11:26:04 +0100 Subject: Conform to doc styleguide on max line length --- doc/workflow/forking_workflow.md | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) (limited to 'doc') diff --git a/doc/workflow/forking_workflow.md b/doc/workflow/forking_workflow.md index 8edf7c6ab3d..cf9dc01df53 100644 --- a/doc/workflow/forking_workflow.md +++ b/doc/workflow/forking_workflow.md @@ -1,36 +1,44 @@ # Project forking workflow -Forking a project to your own namespace is useful if you have no write access to the project you want to contribute -to. If you do have write access or can request it we recommend working together in the same repository since it is simpler. -See our **[GitLab Flow](https://about.gitlab.com/2014/09/29/gitlab-flow/)** article for more information about using -branches to work together. +Forking a project to your own namespace is useful if you have no write +access to the project you want to contribute to. If you do have write +access or can request it, we recommend working together in the same +repository since it is simpler. See our [GitLab Flow](gitlab_flow.md) +document more information about using branches to work together. ## Creating a fork -In order to create a fork of a project, all you need to do is click on the fork button located on the top right side -of the screen, close to the project's URL and right next to the stars button. +In order to create a fork of a project, all you need to do is click on +the fork button located on the top right side of the screen, close to +the project's URL and right next to the stars button.  -Once you do that you'll be presented with a screen where you can choose the namespace to fork to. Only namespaces -(groups and your own namespace) where you have write access to, will be shown. Click on the namespace to create your -fork there. +Once you do that you'll be presented with a screen where you can choose +the namespace to fork to. Only namespaces (groups and your own +namespace) where you have write access to, will be shown. Click on the +namespace to create your fork there.  -After the forking is done, you can start working on the newly created repository. There you will have full -[Owner](../permissions/permissions.md) access, so you can set it up as you please. +After the forking is done, you can start working on the newly created +repository. There you will have full +[Owner](../permissions/permissions.md) access, so you can set it up as +you please. ## Merging upstream -Once you are ready to send your code back to the main project, you need to create a merge request. Choose your forked -project's main branch as the source and the original project's main branch as the destination and create the merge request. +Once you are ready to send your code back to the main project, you need +to create a merge request. Choose your forked project's main branch as +the source and the original project's main branch as the destination and +create the merge request.  -You can then assign the merge request to someone to have them review your changes. Upon pressing the 'Accept Merge Request' -button, your changes will be added to the repository and branch you're merging into. +You can then assign the merge request to someone to have them review +your changes. Upon pressing the 'Accept Merge Request' button, your +changes will be added to the repository and branch you're merging into.  - +[gitlab flow]: https://about.gitlab.com/2014/09/29/gitlab-flow/ "GitLab Flow blog post" -- cgit v1.2.1 From b6662c2a8942b3412540219babe3d03511923ceb Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis <axilleas@axilleas.me> Date: Wed, 27 Jan 2016 12:00:51 +0100 Subject: Refactor the forking process and add new images [ci skip] --- doc/workflow/forking/fork_button.png | Bin 68271 -> 0 bytes doc/workflow/forking/groups.png | Bin 98109 -> 0 bytes doc/workflow/forking_workflow.md | 41 ++++++++++++++------- .../img/forking_workflow_choose_namespace.png | Bin 0 -> 70405 bytes doc/workflow/img/forking_workflow_fork_button.png | Bin 0 -> 26438 bytes .../img/forking_workflow_path_taken_error.png | Bin 0 -> 22380 bytes 6 files changed, 28 insertions(+), 13 deletions(-) delete mode 100644 doc/workflow/forking/fork_button.png delete mode 100644 doc/workflow/forking/groups.png create mode 100644 doc/workflow/img/forking_workflow_choose_namespace.png create mode 100644 doc/workflow/img/forking_workflow_fork_button.png create mode 100644 doc/workflow/img/forking_workflow_path_taken_error.png (limited to 'doc') diff --git a/doc/workflow/forking/fork_button.png b/doc/workflow/forking/fork_button.png deleted file mode 100644 index def4266476a..00000000000 Binary files a/doc/workflow/forking/fork_button.png and /dev/null differ diff --git a/doc/workflow/forking/groups.png b/doc/workflow/forking/groups.png deleted file mode 100644 index 3ac64b3c8e7..00000000000 Binary files a/doc/workflow/forking/groups.png and /dev/null differ diff --git a/doc/workflow/forking_workflow.md b/doc/workflow/forking_workflow.md index cf9dc01df53..217a4a4012f 100644 --- a/doc/workflow/forking_workflow.md +++ b/doc/workflow/forking_workflow.md @@ -8,30 +8,45 @@ document more information about using branches to work together. ## Creating a fork -In order to create a fork of a project, all you need to do is click on -the fork button located on the top right side of the screen, close to -the project's URL and right next to the stars button. +Forking a project is in most cases a two-step process. - -Once you do that you'll be presented with a screen where you can choose -the namespace to fork to. Only namespaces (groups and your own -namespace) where you have write access to, will be shown. Click on the -namespace to create your fork there. +1. Click on the fork button located in the middle of the page or a project's + home page right next to the stars button. - +  + + --- + +1. Once you do that, you'll be presented with a screen where you can choose + the namespace to fork to. Only namespaces (groups and your own + namespace) where you have write access to, will be shown. Click on the + namespace to create your fork there. + +  + + --- + + **Note:** + If the namespace you chose to fork the project to has another project with + the same path name, you will be presented with a warning that the forking + could not be completed. Try to resolve the error and repeat the forking + process. + +  + + --- After the forking is done, you can start working on the newly created -repository. There you will have full -[Owner](../permissions/permissions.md) access, so you can set it up as -you please. +repository. There, you will have full [Owner](../permissions/permissions.md) +access, so you can set it up as you please. ## Merging upstream Once you are ready to send your code back to the main project, you need to create a merge request. Choose your forked project's main branch as the source and the original project's main branch as the destination and -create the merge request. +create the [merge request](merge_requests.md).  diff --git a/doc/workflow/img/forking_workflow_choose_namespace.png b/doc/workflow/img/forking_workflow_choose_namespace.png new file mode 100644 index 00000000000..eefe5769554 Binary files /dev/null and b/doc/workflow/img/forking_workflow_choose_namespace.png differ diff --git a/doc/workflow/img/forking_workflow_fork_button.png b/doc/workflow/img/forking_workflow_fork_button.png new file mode 100644 index 00000000000..49e68d33e89 Binary files /dev/null and b/doc/workflow/img/forking_workflow_fork_button.png differ diff --git a/doc/workflow/img/forking_workflow_path_taken_error.png b/doc/workflow/img/forking_workflow_path_taken_error.png new file mode 100644 index 00000000000..7a3139506fe Binary files /dev/null and b/doc/workflow/img/forking_workflow_path_taken_error.png differ -- cgit v1.2.1