@@ -11,7 +11,8 @@ A complete GitHub issue migration CLI tool written in Ruby.
11
11
12
12
| STATUS: | Version | Date | Maintained? |
13
13
| :------- | :------- | :---- | :----------- |
14
- | Working | ` 1.0.1 ` | 2018-04-10 | YES |
14
+ | Working | ` 1.0.2 ` | 2022-01-25 | YES |
15
+
15
16
16
17
---
17
18
@@ -67,6 +68,15 @@ please send me a PR.
67
68
68
69
---
69
70
71
+ #### Screenshots!
72
+
73
+ ![ Full] (./docs/screen1.png "gh-missue like a boss!)
74
+ <sub >(FFS always include a screenshot in your GitHub repo!)</sub >
75
+
76
+ ![ Full] ( ./docs/screen2.png " xxx ")
77
+ <!--  -->
78
+
79
+
70
80
### Dependencies
71
81
72
82
This tool depends on:
@@ -77,13 +87,79 @@ This tool depends on:
77
87
78
88
### Installation
79
89
80
-
81
90
1 . To make this run, you need to:
82
- (a) have Ruby installed
83
- (b) gem install GitHubs own "octokit" library
84
- (c) gem install the option parser "docopt"
85
- 2 . You should also consider creating a personal authentication token on GitHub,
86
- to avoid getting rate-limited by a large number of requests in short time.
91
+ (a) Manually install the ` WITHOUT DEVKIT ` version of Ruby from [ here] ( https://rubyinstaller.org/downloads/ ) , or use:
92
+ ` winget install ruby `
93
+ (b) ` gem install octokit `
94
+ (c) ` gem install docopt `
95
+ (d) Clone this repo:
96
+ ` git clone https://github.com/E3V3A/gh-missue.git `
97
+
98
+ 2 . You also ** have to** create a personal authentication token for your GitHub
99
+ account. This is needed to be able to push the new issues and labels into
100
+ your own repos. It also avoid you getting rate-limited by a large number
101
+ of requests in short time. Learn how to do this [ here] ( ) .
102
+
103
+ 3 . Run and test the app with:
104
+
105
+ ``` Ruby
106
+ # check version:
107
+ ruby.exe - V
108
+
109
+ # List the current open issues (and labels) for this repo:
110
+ ruby.exe .\gh- missue.rb - l open " YOUR_40_CHAR_OATH2_TOKEN" " E3V3A/gh-missue"
111
+
112
+ # Same as above, but with some more Warnings & Debug output:
113
+ ruby.exe - W2 .\gh- missue.rb - d - l open " YOUR_40_CHAR_OATH2_TOKEN" " E3V3A/gh-missue"
114
+
115
+ # Check your current gitHub API Rate Limits:
116
+ ruby.exe .\gh- missue.rb - r " YOUR_40_CHAR_OATH2_TOKEN"
117
+ ```
118
+
119
+ ### Usage
120
+
121
+ ```
122
+ $ ruby.exe .\gh-missue.rb -h
123
+
124
+ Description:
125
+
126
+ gh-missue is a Ruby program that migrate issues from one github repository to another.
127
+ Please note that you can only migrate issues to your own repo, unless you have an OAuth2
128
+ authentication token.
129
+
130
+ Usage:
131
+ ./gh-missue.rb [-c | -n <ilist> | -t <itype>] <source_repo> <target_repo>
132
+ ./gh-missue.rb [-c | -n <ilist> | -t <itype>] <oauth2_token> <source_repo> <target_repo>
133
+ ./gh-missue.rb [-c | -n <ilist> | -t <itype>] <username> <password> <source_repo> <target_repo>
134
+ ./gh-missue.rb [-d] -l <itype> [<oauth2_token>] <repo>
135
+ ./gh-missue.rb -n <ilist>
136
+ ./gh-missue.rb -t <itype>
137
+ ./gh-missue.rb [-d] -r [<oauth2_token>]
138
+ ./gh-missue.rb -d
139
+ ./gh-missue.rb -v
140
+ ./gh-missue.rb -h
141
+
142
+ Options:
143
+
144
+ -c - only copy all issue labels from <source> to <target> repos, including name, color and description
145
+ -l <itype> <repo> - list available issues of type <itype> (all,open,closed) and all labels in repository <repo>
146
+ -t <itype> - specify what type (all,open,closed) of issues to migrate. [default: open]
147
+ -r - show current rate limit and authentication method for your IP
148
+ -d - show debug info with full option list, raw requests & responses etc.
149
+ -n <ilist> - only migrate issues with comma separated numbers given by the list. Can include a range.
150
+ -h, --help - show this help message and exit
151
+ -v, --version - show version and exit
152
+
153
+ Examples:
154
+
155
+ ./gh-missue.rb -r
156
+ ./gh-missue.rb -l open E3V3A/MMM-VOX
157
+ ./gh-missue.rb -t closed "E3V3A/TESTO" "USERNAME/REPO"
158
+ ./gh-missue.rb -n 1,4-5 "E3V3A/TESTO" "USERNAME/REPO"
159
+
160
+ Dependencies:
161
+ ./gh-missue.rb depends on the following gem packages: octokit, docopt.
162
+ ```
87
163
88
164
---
89
165
@@ -99,7 +175,7 @@ I strongly recommend to use the first option, unless you plan to use Ruby a lot
99
175
** Installing the native Ruby package:**
100
176
101
177
``` bash
102
- sudo apt-get install ruby2.3
178
+ sudo apt-get install ruby3.1
103
179
sudo gem install bundler
104
180
```
105
181
@@ -154,12 +230,12 @@ You can check your current rate limit with: `./gh-missue.rb -r`
154
230
155
231
156
232
* If you are only migrating * labels* (with the ` -c ` option), make sure the labels doesn't already exist
157
- in the target repo, or you will have a failure. I.e. there are some default lables , that you need
233
+ in the target repo, or you will have a failure. I.e. there are some default labels , that you need
158
234
to remove from your target repo!
159
235
160
236
161
237
:information_source : For other bugs, issues, details and updates, please refer to the
162
- [ issue tracker] ( https://github.com/eouia/MMM-Assistant /issues ) .
238
+ [ issue tracker] ( https://github.com/E3V3A/gh-missue /issues ) .
163
239
164
240
165
241
#### Contribution
@@ -169,13 +245,6 @@ Feel free to fork, break, fix and contribute. Enjoy!
169
245
170
246
---
171
247
172
- ** Recommended similar tools**
173
-
174
- * [ github-issues-import] ( https://github.com/muff1nman/github-issues-import ) and [ mod] ( https://github.com/ericnewton76/github-issues-import ) (Python)
175
- * [ github-issue-mover] ( https://github.com/google/github-issue-mover ) (Dart)
176
- * [ go-github-issues-mover] ( https://github.com/UnAfraid/go-github-issues-mover ) (Go)
177
- * [ offline-issues] ( https://github.com/jlord/offline-issues ) (JS) -- To read issues offline
178
-
179
248
** References:**
180
249
181
250
* [ Ruby in 20 minutes] ( https://www.ruby-lang.org/en/documentation/quickstart/ )
@@ -185,31 +254,24 @@ Feel free to fork, break, fix and contribute. Enjoy!
185
254
186
255
** Essential GitHub API documents:**
187
256
188
- [ Labels-used-for-issues] ( https://github.com/dotnet/roslyn/wiki/Labels-used-for-issues )
189
- https://developer.github.com/v3/issues/
190
- https://developer.github.com/v3/issues/labels/
191
- https://developer.github.com/v3/issues/labels/#get-a-single-label
192
- https://developer.github.com/v3/issues/#list-issues-for-a-repository
193
257
194
- https://developer.github.com/v3/#abuse-rate-limits
195
- https://developer.github.com/v3/#rate-limiting
196
- https://developer.github.com/v3/rate_limit/
197
- https://developer.github.com/v4/guides/resource-limitations/
198
- https://developer.github.com/v3/guides/best-practices-for-integrators/#dealing-with-rate-limits
199
- https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications
258
+ [ 1] https://developer.github.com/v3/issues/
259
+ [ 2] https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting
260
+ [ 3] https://docs.github.com/en/rest/overview/media-types#request-specific-version
261
+ [ 4] Some ideas for [ Labels-used-for-issues] ( https://github.com/dotnet/roslyn/wiki/Labels-used-for-issues )
200
262
201
263
202
264
---
203
265
204
266
#### Credits
205
267
206
268
Most grateful thanks to:
207
- * [ --- ] ( https://github.com/--- / ) - for clarifying and fixing XXXX
269
+ * [ Xanewok ] ( https://github.com/Xanewok / ) - for adding original author & issue link functionality
208
270
209
271
---
210
272
211
273
#### License
212
274
213
- [ ![ GitHub license] ( https://img.shields.io/github/license/E3V3A/gh-missue.svg )] ( https://github.com/E3V3A/gh-missue/blob/master/LICENSE )
275
+ [ ![ GitHub license] ( https://img.shields.io/github/license/E3V3A/gh-missue.svg )] ( https://github.com/E3V3A/gh-missue/blob/master/LICENSE )
214
276
A license to :sparkling_heart : !
215
277
0 commit comments