lesstif/gitlab-jira-integration
最新稳定版本:0.7.0
Composer 安装命令:
composer create-project lesstif/gitlab-jira-integration
包简介
This is the advanced integrator GitLab CE(Community Edition) and Atlassian's JIRA.
README 文档
README
What is it?
- JIRA DVCS Connector Plugin does not support gitlab.
- GitLab Community Edition does not support Advanced JIRA Integration(EE only feature).
Note
GitLab 8.3 now supported Advanced JIRA Integration in CE. see https://about.gitlab.com/2015/12/22/gitlab-8-3-released/
GitLab-JIRA-Integration is a small PHP standalone app executed by gitlab web hooks and interact with JIRA using JIRA-REST API. If you have questions contact to me or open an issue on GitHub.
How it works.
Requirements
- PHP >= 5.5.9
- Lumen framework >= 5.1
- php-jira-rest-client
- Atlassian JIRA 6 or above
- Gitlab CE 6 or above
Installation
-
Download and Install PHP Composer.
curl -sS https://getcomposer.org/installer | php -
clonning gitlab-jira-intergration project
$ git clone https://github.com/lesstif/gitlab-jira-integration.git
-
Run the composer install command.
$ composer install
-
Now you need define your a Jira and Gitlab connection info into
.envconfiguration.JIRA_HOST="https://your-jira.host.com" JIRA_USER="jira-username" JIRA_PASS="jira-password" GITLAB_HOST="https://your-gitlab.host.com" GITLAB_TOKEN="gitlab-private-token-for-api"
Tip: In the following steps, you will generate your private token for API.
Next, copy config.integration.example.json to config.integration.json.
$ cp config.integration.example.json config.integration.json
Here is the default configuration, for interact with Jira.
{
"accept.host": [
"localhost",
"your-gitlab-host-here"
],
"transition": {
"message": "[~%s] Issue %s with %s",
"keywords": [
[
"Resolved",
"[resolve|fix]"
],
[
"Closed",
"[close]"
]
]
},
"referencing": {
"message": "[~%s] mentioned this issue in %s"
},
"merging": {
"message": "[~%s] COMMIT_MESSAGE with %s"
}
}
transition
- message : "[~%s] issue %s with %s" : Converted to "User Issue Resolved with Commit URL"
- keywords: if commit message had second element(eg: resolve or fix),then issue status transition to first element.(eg : Resolved)
Usage
Run PHP standalone web server on the gitlab-jira integration server. (eg: my-host.com).
php artisan serve --host 0.0.0.0 --port 9000
Configuration
gitlab web hook configuration
- Choose > Project Settings -> Web Hooks.
- Setting URL to your gitlab-jira integration's running Host. (eg: http://my-host.com:9000/gitlab/hook)

Tip: If you decide to change the hook receiving URI from the default, Open the app/Http/routes.php file in a text editor and find this line:
$app->post('gitlab/hook',[ 'as' => 'hook', 'uses' => 'GitlabController@hookHandler' ]);
change to 'gitlab/hook' to desired the URI (eg: 'gitlab/my-hook-receiver')
Batch gitlab webhook registration.
-
modify 'url' field and save to hook.json
{ "project_id": 5, "url": "https://localhost:9000/gitlab/hook/", "push_events": true, "issues_events": false, "merge_requests_events": true, "tag_push_events": true } -
modify url(ttp://my-host.com:9000/) to your url and running curl command
curl -X POST -d @hook.json http://my-host.com:9000/gitlab/projects/add-hook-all-projects
-
login gitlab and goto Choose > Project Settings -> Web Hooks. Then confirm your web hook settings.
Checking Installation
-
To get started, let's running a curl command on your command line.
curl http://myhost.com:9000/gitlab/user/list
You can see response json data including gitlab user list and created user list file to 'storage/app/users.json'.
json { "1234": { "name": "KwangSeob Jeong", "username": "lesstif", "state": "active" } }
Usage
Referencing JIRA isssues
- git commit with JIRA Issue Key(eg. TEST-123 or test-123)
- Gitlab-Jira-Integrator will automatically add a comment in specific JIRA Issue.
Resolving or Closing JIRA isssues
- git commit with JIRA Issue Key and trigger keywords(eg. 'Closed TEST-123' or 'fix test-123')
- Gitlab-Jira-Integrator will automatically add a comment and closing(or fixing) directly in specific JIRA Issue by using trigger keywords(setting in config.integration.json) in commit message.
Issue Time Tracking
not yet implemented.
License
Apache V2 License
See Also
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 68
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache
- 更新时间: 2015-07-30

