githubissues-port 0.5 → 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 +8 -8
- data/Readme.md +2 -3
- data/export.xlsx +0 -0
- data/githubissues-port.gemspec +1 -1
- data/lib/githubissues-port/export.rb +21 -12
- data/lib/githubissues-port/import.rb +2 -4
- data/lib/githubissues-port/test_spec.rb +23 -0
- data/lib/githubissues-port/version.rb +1 -1
- data/spec/test_spec.rb +10 -7
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZDk1M2Q3NTE5ODYyZTg0ZWE4NjE5Zjk3MmVmNmYwYzgwMjg0MDA5NQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MTUzNDVmNGY3YWE1MmQ1OTRlY2ZiMzY3NmYxNjJkZWVlNmEyOGExNA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZmViYjYxZDllYjY5OWNkM2RmYmJhYTdmYWY4OTY5YzgwZThhZTRlODAxZTM2
|
10
|
+
OTM4NGEyYjkzZDM2MGVmNWM3OTdjMjg3MGZkNjY1ZDcyZjBkZmM3Y2U3ZDYx
|
11
|
+
ZWNlYjhhNDk1ODZlNjcxZmIzNzBjZjk5NjRjY2I2ZWRiOWM1YTM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MTBhZDcyY2VjNGI3NjY0NTcwZjRkNzBlNTBkNDNkYmU3NjYxMDA0ODY2NWQ2
|
14
|
+
NmVhYWIzZWI0NzAyODAwYTJlNjFkYWZhMDliYTUyNGJmMmFmMTdjODgyYTY0
|
15
|
+
NDFjZWM5NTY0N2FjYjhmMGMwOTdiNGMxYTUwODcwNDU5NTRiNTU=
|
data/Readme.md
CHANGED
@@ -29,9 +29,8 @@ githubissues-port can simply import or export issues from an Excel file.:
|
|
29
29
|
|
30
30
|
your_github_username = '***********'
|
31
31
|
your_github_password = '***********'
|
32
|
-
|
33
|
-
|
34
|
-
repo = '***********'
|
32
|
+
owner = '***********'
|
33
|
+
repo = '***********'
|
35
34
|
|
36
35
|
connection = Github.new(basic_auth: "#{your_github_username}:#{your_github_password}")
|
37
36
|
|
data/export.xlsx
CHANGED
Binary file
|
data/githubissues-port.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Githubissues::Port::VERSION
|
9
9
|
spec.authors = ["Ramtin Vaziri", "Ankit gupta", "Hemali Jain"]
|
10
10
|
spec.description = %q{An Excel import/export extension for github issues in Ruby.}
|
11
|
-
spec.summary = %q{github-issues-port is a Ruby gem that facilittes easy import and export of Github Issues in Ruby and
|
11
|
+
spec.summary = %q{github-issues-port is a Ruby gem that facilittes easy import and export of Github Issues in Ruby and Ruby on Rails.}
|
12
12
|
spec.homepage = "https://github.com/github-issues-port/githubissues-port"
|
13
13
|
spec.license = "MIT"
|
14
14
|
|
@@ -4,14 +4,13 @@ require 'axlsx'
|
|
4
4
|
module Githubissues
|
5
5
|
module Port
|
6
6
|
class Githubissues::Port::Export
|
7
|
-
attr_reader :connection, :owner, :repo, :path
|
7
|
+
attr_reader :connection, :owner, :repo, :path
|
8
|
+
|
9
|
+
DEFAULT_FIELDS = %w(number title body labels assignee state milestone created_at closed_at comments labels comments_url events_url html_url labels_url type priority module status)
|
10
|
+
|
8
11
|
def initialize connection, owner, repo, path, options = {}
|
9
|
-
@path = path
|
10
|
-
@
|
11
|
-
@owner = owner
|
12
|
-
@repo = repo
|
13
|
-
@default_fields = %w(number title body labels assignee state milestone created_at closed_at comments comments_url events_url html_url labels_url)
|
14
|
-
@fields = (options.has_key? :fields) ? options[:fields] : @default_fields
|
12
|
+
@path, @connection, @owner, @repo = path, connection, owner, repo
|
13
|
+
@fields = (options.has_key? :fields) ? options[:fields] : DEFAULT_FIELDS
|
15
14
|
generate_excel
|
16
15
|
end
|
17
16
|
|
@@ -26,28 +25,38 @@ module Githubissues
|
|
26
25
|
def generate_sheet excel, state
|
27
26
|
excel.workbook.add_worksheet(:name => state) do |sheet|
|
28
27
|
sheet.add_row @fields
|
29
|
-
issues = @connection.issues.list user:
|
30
|
-
repo:
|
31
|
-
filter:
|
28
|
+
issues = @connection.issues.list user: @owner,
|
29
|
+
repo: @repo,
|
30
|
+
filter: 'all',
|
32
31
|
auto_pagination: true,
|
33
|
-
state:
|
32
|
+
state: state
|
34
33
|
issues.each{|issue| sheet.add_row generate_row(issue)}
|
35
34
|
end
|
36
35
|
end
|
37
36
|
|
38
37
|
def generate_row issue
|
38
|
+
labels = (issue.labels.nil?) ? [] : issue.labels.map{|l| l.name.downcase}
|
39
|
+
|
39
40
|
@fields.collect do |field|
|
40
41
|
case field.downcase
|
41
42
|
when 'assignee'
|
42
43
|
issue.assignee.login unless issue.assignee.nil?
|
43
44
|
when 'labels'
|
44
|
-
|
45
|
+
labels.join ', '
|
45
46
|
when 'milestone'
|
46
47
|
issue.milestone.title unless issue.milestone.nil?
|
47
48
|
when 'created_at'
|
48
49
|
DateTime.parse issue.created_at unless issue.created_at.nil?
|
49
50
|
when 'closed_at'
|
50
51
|
DateTime.parse issue.closed_at unless issue.closed_at.nil?
|
52
|
+
when 'type'
|
53
|
+
labels.select{|l| (l =~ /type*/) or (%w(bug duplicate enhancement invalid question wontfix patch).include? l)}.join ', '
|
54
|
+
when 'priority'
|
55
|
+
labels.select{|l| (l =~ /priority*/) or (%w(high medium low critical).include? l)}.join ', '
|
56
|
+
when 'module'
|
57
|
+
labels.select{|l| l =~ /module*/}.join ', '
|
58
|
+
when 'status'
|
59
|
+
labels.select{|l| l =~ /status*/}.join ', '
|
51
60
|
else
|
52
61
|
issue.send field
|
53
62
|
end
|
@@ -6,13 +6,11 @@ module Githubissues
|
|
6
6
|
class Githubissues::Port::Import
|
7
7
|
attr_reader :connection, :owner, :repo, :path, :messages, :header
|
8
8
|
def initialize connection, owner, repo, path, options = {}
|
9
|
-
@path = path
|
10
|
-
@connection = connection
|
11
|
-
@owner = owner
|
12
|
-
@repo = repo
|
9
|
+
@path, @connection, @owner, @repo = path, connection, owner, repo
|
13
10
|
@fields = (options.has_key? :fields) ? options[:fields] : %w(labels)
|
14
11
|
@messages = []
|
15
12
|
parse_excel
|
13
|
+
@messages
|
16
14
|
end
|
17
15
|
|
18
16
|
def parse_excel
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'githubissues-port'
|
2
|
+
|
3
|
+
describe 'githubissues-port exporting and importing to xlsx' do
|
4
|
+
before(:all) do
|
5
|
+
# Replace your test git repo credentials here:
|
6
|
+
@github_username = '**********'
|
7
|
+
@github_password = '**********'
|
8
|
+
@owner = '**********'
|
9
|
+
@repo = '**********'
|
10
|
+
@connection = Github.new basic_auth: "#{@github_username}:#{@github_password}"
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'export should be successfull.' do
|
14
|
+
export = Githubissues::Port::Export.new @connection, @owner, @repo, 'export.xlsx', fields: ['number', 'title', 'body', 'labels']
|
15
|
+
#puts export.inspect
|
16
|
+
export.should_not be_nil
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'import should be successfull.' do
|
20
|
+
#puts import.messages.inspect
|
21
|
+
import.should_not be_nil
|
22
|
+
end
|
23
|
+
end
|
data/spec/test_spec.rb
CHANGED
@@ -1,21 +1,24 @@
|
|
1
|
+
require 'github_api'
|
1
2
|
require 'githubissues-port'
|
2
3
|
|
3
4
|
describe 'githubissues-port exporting and importing to xlsx' do
|
4
5
|
before(:all) do
|
5
|
-
|
6
|
-
|
7
|
-
@
|
6
|
+
# Replace your test git repo credentials here:
|
7
|
+
@github_username = '**********'
|
8
|
+
@github_password = '**********'
|
9
|
+
@owner = '**********'
|
10
|
+
@repo = '**********'
|
11
|
+
@connection = Github.new basic_auth: "#{@github_username}:#{@github_password}"
|
8
12
|
end
|
9
13
|
|
10
14
|
it 'export should be successfull.' do
|
11
|
-
export = Githubissues::Port::Export.new @connection,
|
12
|
-
puts export.
|
15
|
+
export = Githubissues::Port::Export.new @connection, @owner, @repo, 'export.xlsx', fields: ['number', 'title', 'body', 'labels']
|
16
|
+
#puts export.inspect
|
13
17
|
export.should_not be_nil
|
14
18
|
end
|
15
19
|
|
16
20
|
it 'import should be successfull.' do
|
17
|
-
import
|
18
|
-
puts import.messages.inspect
|
21
|
+
#puts import.messages.inspect
|
19
22
|
import.should_not be_nil
|
20
23
|
end
|
21
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: githubissues-port
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0
|
4
|
+
version: '1.0'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ramtin Vaziri
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-02-
|
13
|
+
date: 2014-02-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: github_api
|
@@ -99,6 +99,7 @@ files:
|
|
99
99
|
- lib/githubissues-port.rb
|
100
100
|
- lib/githubissues-port/export.rb
|
101
101
|
- lib/githubissues-port/import.rb
|
102
|
+
- lib/githubissues-port/test_spec.rb
|
102
103
|
- lib/githubissues-port/version.rb
|
103
104
|
- spec/fixtures/sample.xlsx
|
104
105
|
- spec/test_spec.rb
|
@@ -126,7 +127,7 @@ rubygems_version: 2.2.0
|
|
126
127
|
signing_key:
|
127
128
|
specification_version: 4
|
128
129
|
summary: github-issues-port is a Ruby gem that facilittes easy import and export of
|
129
|
-
Github Issues in Ruby and
|
130
|
+
Github Issues in Ruby and Ruby on Rails.
|
130
131
|
test_files:
|
131
132
|
- spec/fixtures/sample.xlsx
|
132
133
|
- spec/test_spec.rb
|