gitlab_mr_release 0.1.0.beta3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +81 -13
- data/img/merge_request.png +0 -0
- data/lib/gitlab_mr_release/cli.rb +15 -6
- data/lib/gitlab_mr_release/project.rb +1 -1
- data/lib/gitlab_mr_release/version.rb +1 -1
- data/lib/templates/gitlab_mr_release.md.erb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a608d0ab003591e98a59236c25878f5c6bab1438
|
4
|
+
data.tar.gz: 8a088a1fe042c9603f4c53afbf89cc8a037b6d99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23e6c973a58871243869d3a0c6735d3251811f584b6309ded732da1361eb3da45bc163871d31fa575dabdce0a8ddf36d3768f3634321baad0babf4e3dbcb3c62
|
7
|
+
data.tar.gz: 6830949e68a38c55aaa88e10381c5d3118e96dfc147862d35dead4a1fbf2405cdf8c3a253118c4647df771b01d221a69d7b59a8c69ac0d67d8c071490dea4144
|
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -1,33 +1,101 @@
|
|
1
1
|
# GitlabMrRelease
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
3
|
+
Release MergeRequest generator for [GitLab](https://about.gitlab.com/)
|
6
4
|
|
5
|
+
[](https://badge.fury.io/rb/gitlab_mr_release)
|
7
6
|
[](https://travis-ci.org/sue445/gitlab_mr_release)
|
8
7
|
[](https://codeclimate.com/github/sue445/gitlab_mr_release)
|
9
8
|
[](https://coveralls.io/github/sue445/gitlab_mr_release?branch=master)
|
10
9
|
[](https://gemnasium.com/sue445/gitlab_mr_release)
|
11
10
|
|
11
|
+
This is inspired by the [git-pr-release](https://github.com/motemen/git-pr-release)
|
12
|
+
|
13
|
+
## Requirements
|
14
|
+
|
15
|
+
* Ruby v2.1+
|
16
|
+
* GitLab v7.11.0+
|
17
|
+
|
12
18
|
## Installation
|
13
19
|
|
14
|
-
|
20
|
+
```
|
21
|
+
$ gem install gitlab_mr_release
|
22
|
+
```
|
23
|
+
|
24
|
+
## Usage
|
25
|
+
### init
|
15
26
|
|
16
|
-
|
17
|
-
|
27
|
+
Copy setting files. And edit these files.
|
28
|
+
|
29
|
+
```sh
|
30
|
+
$ gitlab_mr_release init
|
31
|
+
create .env.gitlab
|
32
|
+
create gitlab_mr_release.md.erb
|
18
33
|
```
|
19
34
|
|
20
|
-
|
35
|
+
### create
|
36
|
+
```sh
|
37
|
+
$ gitlab_mr_release create --source=develop --target=master
|
38
|
+
MergeRequest is created
|
21
39
|
|
22
|
-
|
40
|
+
[Title] Release develop -> master
|
23
41
|
|
24
|
-
|
42
|
+
[Description]
|
43
|
+
# MergeRequests
|
25
44
|
|
26
|
-
|
45
|
+
* [ ] !7 Add fresh @sue445
|
27
46
|
|
28
|
-
|
47
|
+
[Url] http://example.com/your/project/merge_requests/15
|
48
|
+
```
|
49
|
+
|
50
|
+
description is accepted MergeRequests title between `--source` and `--target`
|
51
|
+
|
52
|
+

|
53
|
+
|
54
|
+
detail
|
55
|
+
|
56
|
+
```sh
|
57
|
+
$ gitlab_mr_release help create
|
58
|
+
Usage:
|
59
|
+
gitlab_mr_release create -s, --source=SOURCE -t, --target=TARGET
|
60
|
+
|
61
|
+
Options:
|
62
|
+
-s, --source=SOURCE # Source branch (e.g. develop)
|
63
|
+
-t, --target=TARGET # Target branch (e.g. master)
|
64
|
+
[--title=TITLE] # MergeRequest title (default. 'Release :source -> :target')
|
65
|
+
|
66
|
+
Create merge requrst
|
67
|
+
```
|
68
|
+
|
69
|
+
## ProTip
|
70
|
+
### .env.gitlab
|
71
|
+
Environment variables read from `~/.env.gitlab` and current `.env.gitlab`
|
72
|
+
|
73
|
+
`~/.env.gitlab`
|
74
|
+
|
75
|
+
```
|
76
|
+
GITLAB_API_ENDPOINT=http://example.com/api/v3
|
77
|
+
GITLAB_API_PRIVATE_TOKEN=XXXXXXXXXXXXXXXXXXX
|
78
|
+
TEMPLATE_FILE=gitlab_mr_release.md.erb
|
79
|
+
```
|
80
|
+
|
81
|
+
current `.env.gitlab`
|
82
|
+
|
83
|
+
```
|
84
|
+
GITLAB_PROJECT_NAME=group/name
|
85
|
+
TEMPLATE_FILE=gitlab_mr_release.md.erb
|
86
|
+
```
|
87
|
+
|
88
|
+
If defined both `~/.env.gitlab` and current `.env.gitlab`, current `.env.gitlab` is priority
|
89
|
+
|
90
|
+
### variables in template
|
91
|
+
```markdown
|
92
|
+
# MergeRequests
|
93
|
+
<% merge_requests.each do |mr| %>
|
94
|
+
* [ ] !<%= mr.iid %> <%= mr.title %> @<%= mr.author.username %>
|
95
|
+
<% end %>
|
96
|
+
```
|
29
97
|
|
30
|
-
|
98
|
+
`merge_requests` is array of [MergeRequest](https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/merge_requests.md#get-single-mr)
|
31
99
|
|
32
100
|
## Development
|
33
101
|
|
@@ -37,7 +105,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
37
105
|
|
38
106
|
## Contributing
|
39
107
|
|
40
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
108
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/sue445/gitlab_mr_release.
|
41
109
|
|
42
110
|
|
43
111
|
## License
|
Binary file
|
@@ -11,7 +11,7 @@ module GitlabMrRelease
|
|
11
11
|
DEFAULT_TEMPLATE = <<-MARKDOWN
|
12
12
|
# MergeRequests
|
13
13
|
<% merge_requests.each do |mr| %>
|
14
|
-
* [ ] !<%= mr.iid %> <%= mr.title %>
|
14
|
+
* [ ] !<%= mr.iid %> <%= mr.title %> @<%= mr.author.username %>
|
15
15
|
<% end %>
|
16
16
|
MARKDOWN
|
17
17
|
|
@@ -64,16 +64,25 @@ module GitlabMrRelease
|
|
64
64
|
)
|
65
65
|
|
66
66
|
mr_url = "#{project.web_url}/merge_requests/#{mr.iid}"
|
67
|
-
|
67
|
+
|
68
|
+
message = <<-EOS
|
69
|
+
MergeRequest is created
|
70
|
+
|
71
|
+
[Title] #{mr.title}
|
72
|
+
|
73
|
+
[Description]
|
74
|
+
#{mr.description}
|
75
|
+
|
76
|
+
[Url] #{mr_url}
|
77
|
+
EOS
|
78
|
+
|
79
|
+
puts message
|
68
80
|
end
|
69
81
|
|
70
82
|
private
|
71
83
|
|
72
84
|
def assert_env(name)
|
73
|
-
unless ENV[name]
|
74
|
-
puts "Error: Environment variable #{name} is required"
|
75
|
-
exit!
|
76
|
-
end
|
85
|
+
raise "Error: Environment variable #{name} is required" unless ENV[name]
|
77
86
|
end
|
78
87
|
|
79
88
|
def default_title
|
@@ -38,7 +38,7 @@ module GitlabMrRelease
|
|
38
38
|
|
39
39
|
def generate_description(iids, template)
|
40
40
|
merge_requests = iids.map { |iid| merge_request(iid) }
|
41
|
-
ERB.new(template).result(binding)
|
41
|
+
ERB.new(template).result(binding).strip
|
42
42
|
end
|
43
43
|
|
44
44
|
def create_merge_request(source_branch:, target_branch:, title:, template:)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab_mr_release
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sue445
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dotenv
|
@@ -177,6 +177,7 @@ files:
|
|
177
177
|
- ".gitignore"
|
178
178
|
- ".rspec"
|
179
179
|
- ".travis.yml"
|
180
|
+
- CHANGELOG.md
|
180
181
|
- Gemfile
|
181
182
|
- LICENSE.txt
|
182
183
|
- README.md
|
@@ -185,6 +186,7 @@ files:
|
|
185
186
|
- bin/setup
|
186
187
|
- exe/gitlab_mr_release
|
187
188
|
- gitlab_mr_release.gemspec
|
189
|
+
- img/merge_request.png
|
188
190
|
- lib/gitlab_mr_release.rb
|
189
191
|
- lib/gitlab_mr_release/cli.rb
|
190
192
|
- lib/gitlab_mr_release/project.rb
|
@@ -206,9 +208,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
206
208
|
version: '0'
|
207
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
208
210
|
requirements:
|
209
|
-
- - "
|
211
|
+
- - ">="
|
210
212
|
- !ruby/object:Gem::Version
|
211
|
-
version:
|
213
|
+
version: '0'
|
212
214
|
requirements: []
|
213
215
|
rubyforge_project:
|
214
216
|
rubygems_version: 2.4.5.1
|