gitlab_mr_release 0.1.0.beta3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94cf94381a5bd1173394a72a3fd1c2a449bf591d
4
- data.tar.gz: 81ebabf5fc28deba8dc76480346ef0421bc2bf20
3
+ metadata.gz: a608d0ab003591e98a59236c25878f5c6bab1438
4
+ data.tar.gz: 8a088a1fe042c9603f4c53afbf89cc8a037b6d99
5
5
  SHA512:
6
- metadata.gz: b1fe995b72cbc201c5cc86723f0175ed93397b3da479ba78e952fd7fa9b635627fb8e7c2ee8d15b8c1f278909d395c6a91248abb3eab42132a2cc2e9d3116fc0
7
- data.tar.gz: 16b613513bafe61fcbe4d990e65ac65ace851acc0f359deac96af4beffa1563c67a834d50d8abcf1025fa177a9ed543ddcdeaa40ce61384c6bf376dc4e87c840
6
+ metadata.gz: 23e6c973a58871243869d3a0c6735d3251811f584b6309ded732da1361eb3da45bc163871d31fa575dabdce0a8ddf36d3768f3634321baad0babf4e3dbcb3c62
7
+ data.tar.gz: 6830949e68a38c55aaa88e10381c5d3118e96dfc147862d35dead4a1fbf2405cdf8c3a253118c4647df771b01d221a69d7b59a8c69ac0d67d8c071490dea4144
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ## Unreleased
2
+ [full changelog](http://github.com/sue445/rubicure/compare/v0.1.0...master)
3
+
4
+ ## v0.1.0
5
+ * First release
data/README.md CHANGED
@@ -1,33 +1,101 @@
1
1
  # GitlabMrRelease
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/gitlab_mr_release`. To experiment with that code, run `bin/console` for an interactive prompt.
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
+ [![Gem Version](https://badge.fury.io/rb/gitlab_mr_release.svg)](https://badge.fury.io/rb/gitlab_mr_release)
7
6
  [![Build Status](https://travis-ci.org/sue445/gitlab_mr_release.svg?branch=master)](https://travis-ci.org/sue445/gitlab_mr_release)
8
7
  [![Code Climate](https://codeclimate.com/github/sue445/gitlab_mr_release/badges/gpa.svg)](https://codeclimate.com/github/sue445/gitlab_mr_release)
9
8
  [![Coverage Status](https://coveralls.io/repos/sue445/gitlab_mr_release/badge.svg?branch=master&service=github)](https://coveralls.io/github/sue445/gitlab_mr_release?branch=master)
10
9
  [![Dependency Status](https://gemnasium.com/sue445/gitlab_mr_release.svg)](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
- Add this line to your application's Gemfile:
20
+ ```
21
+ $ gem install gitlab_mr_release
22
+ ```
23
+
24
+ ## Usage
25
+ ### init
15
26
 
16
- ```ruby
17
- gem 'gitlab_mr_release'
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
- And then execute:
35
+ ### create
36
+ ```sh
37
+ $ gitlab_mr_release create --source=develop --target=master
38
+ MergeRequest is created
21
39
 
22
- $ bundle
40
+ [Title] Release develop -> master
23
41
 
24
- Or install it yourself as:
42
+ [Description]
43
+ # MergeRequests
25
44
 
26
- $ gem install gitlab_mr_release
45
+ * [ ] !7 Add fresh @sue445
27
46
 
28
- ## Usage
47
+ [Url] http://example.com/your/project/merge_requests/15
48
+ ```
49
+
50
+ description is accepted MergeRequests title between `--source` and `--target`
51
+
52
+ ![merge_request](img/merge_request.png)
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
- TODO: Write usage instructions here
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/[USERNAME]/gitlab_mr_release.
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
- puts "MergeRequst is created: #{mr_url}"
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:)
@@ -1,3 +1,3 @@
1
1
  module GitlabMrRelease
2
- VERSION = "0.1.0.beta3"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -1,4 +1,4 @@
1
1
  # MergeRequests
2
2
  <% merge_requests.each do |mr| %>
3
- * [ ] !<%= mr.iid %> <%= mr.title %>
3
+ * [ ] !<%= mr.iid %> <%= mr.title %> @<%= mr.author.username %>
4
4
  <% end %>
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.beta3
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-14 00:00:00.000000000 Z
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: 1.3.1
213
+ version: '0'
212
214
  requirements: []
213
215
  rubyforge_project:
214
216
  rubygems_version: 2.4.5.1