jira-issues 0.0.2 → 0.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 441467c14ab6bef2cc52daeff6352ef6f446f5a3
4
- data.tar.gz: 21de1b9c76376d52c8b67123b1266858dcee2fd2
3
+ metadata.gz: 322df4367f03226fb4bfac0fabc66197fc33ab4e
4
+ data.tar.gz: 74dfa00b4635f5065c7560f8f06f6cc5c8e5f547
5
5
  SHA512:
6
- metadata.gz: 1c100f0e5c7bdc6a53f59d1ee74c227f39c018e0c187f986bc354527e3525ae37ded2d3d411ff4ed6bee489ad4d06a406fee7a9b318e9ddbf42cc462decbb7c2
7
- data.tar.gz: 9aeb2fc399f9b1ba5b508159c5f388bd2301a7615e9986a86d1444b3f0f469511a0ad73c860fa6ff1849cc2e7297e00cc25d6ad290d2ceedd1028533a84d6a05
6
+ metadata.gz: a0fb3f8fc5fce3b53f438ee4aa6b85fcd9cb8d579938038ca6fa2d9d04835080e96b878bdf1824e7d38d3ff58fe4d374aa4da20856322db2f8ae0d4201a95a53
7
+ data.tar.gz: 81375b7242c38eff7c01b2e8ec74ad19d3cb235cbacdaf93601aaaac74c345cf2b9ab397eda5305151d23d635fb85cb976486363b1b8cff4f4893bdc46070e19
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jira-issues
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Filip Jakubowski-Drzrwiecki
@@ -14,100 +14,44 @@ dependencies:
14
14
  name: jira-ruby
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.4.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: byebug
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
26
+ version: 1.4.3
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: rake
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="
46
32
  - !ruby/object:Gem::Version
47
- version: '0'
33
+ version: 12.3.0
48
34
  type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - ">="
53
39
  - !ruby/object:Gem::Version
54
- version: '0'
40
+ version: 12.3.0
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rspec
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rubocop
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: fakeweb
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: pry
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
47
+ version: 3.7.0
104
48
  type: :development
105
49
  prerelease: false
106
50
  version_requirements: !ruby/object:Gem::Requirement
107
51
  requirements:
108
52
  - - ">="
109
53
  - !ruby/object:Gem::Version
110
- version: '0'
54
+ version: 3.7.0
111
55
  description: Jira Issues gem that supports quering and filtering data for external
112
56
  reporting and integrations.
113
57
  email:
@@ -116,26 +60,13 @@ executables: []
116
60
  extensions: []
117
61
  extra_rdoc_files: []
118
62
  files:
119
- - Gemfile
120
- - Gemfile.lock
121
- - README.md
122
- - Rakefile
123
- - jira_issues.gemspec
124
- - lib/jira_issues.rb
125
- - lib/jira_issues/jira_adapter.rb
126
- - lib/jira_issues/jira_issue_mapper.rb
127
- - lib/jira_issues/jira_issues_navigator.rb
128
- - lib/jira_issues/jira_issues_stats.rb
129
- - lib/jira_issues/jira_query.rb
130
- - lib/jira_issues/jira_workflow.rb
131
- - lib/jira_issues/jql_lib.rb
132
- - lib/jira_issues/version.rb
133
- - spec/.rspec
134
63
  - spec/jira_issues_spec.rb
135
64
  - spec/spec_helper.rb
136
65
  homepage: https://github.com/filipjakubowski
137
- licenses: []
138
- metadata: {}
66
+ licenses:
67
+ - MIT
68
+ metadata:
69
+ source_code_uri: https://github.com/filipjakubowski/jira_issues
139
70
  post_install_message:
140
71
  rdoc_options: []
141
72
  require_paths:
data/Gemfile DELETED
@@ -1,8 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'jira-ruby'
4
-
5
- group :development do
6
- gem 'rake'
7
- gem 'rspec'
8
- end
data/Gemfile.lock DELETED
@@ -1,47 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- activesupport (5.1.4)
5
- concurrent-ruby (~> 1.0, >= 1.0.2)
6
- i18n (~> 0.7)
7
- minitest (~> 5.1)
8
- tzinfo (~> 1.1)
9
- concurrent-ruby (1.0.5)
10
- diff-lcs (1.3)
11
- i18n (0.9.1)
12
- concurrent-ruby (~> 1.0)
13
- jira-ruby (1.4.3)
14
- activesupport
15
- multipart-post
16
- oauth (~> 0.5, >= 0.5.0)
17
- minitest (5.10.3)
18
- multipart-post (2.0.0)
19
- oauth (0.5.4)
20
- rake (12.3.0)
21
- rspec (3.7.0)
22
- rspec-core (~> 3.7.0)
23
- rspec-expectations (~> 3.7.0)
24
- rspec-mocks (~> 3.7.0)
25
- rspec-core (3.7.0)
26
- rspec-support (~> 3.7.0)
27
- rspec-expectations (3.7.0)
28
- diff-lcs (>= 1.2.0, < 2.0)
29
- rspec-support (~> 3.7.0)
30
- rspec-mocks (3.7.0)
31
- diff-lcs (>= 1.2.0, < 2.0)
32
- rspec-support (~> 3.7.0)
33
- rspec-support (3.7.0)
34
- thread_safe (0.3.6)
35
- tzinfo (1.2.4)
36
- thread_safe (~> 0.1)
37
-
38
- PLATFORMS
39
- ruby
40
-
41
- DEPENDENCIES
42
- jira-ruby
43
- rake
44
- rspec
45
-
46
- BUNDLED WITH
47
- 1.16.0
data/README.md DELETED
@@ -1,41 +0,0 @@
1
- jira issues
2
- ===========
3
-
4
- [![Build Status](https://travis-ci.org/filipjakubowski/jira_issues.svg?branch=master)](https://travis-ci.org/filipjakubowski/jira_issues)
5
-
6
- ## description
7
-
8
- Gem that allows you to navigate throu jour JIRA projects easily, get stats and in future to transit and manage tickets.
9
-
10
- Results of JIRA JQL are stripped to selected fields for more user friendly exposure.
11
-
12
- ## Getting Started
13
-
14
- First you need to set up your environment variables to access your JIRA repository.
15
- Please keep in mind that gem will have all and only access to issues and project that reflects access of selected account.
16
-
17
- - **ENV['JIRA_URL']**
18
- - **ENV['JIRA_USERNAME']**
19
- - **ENV['JIRA_PASSWORD']**
20
-
21
- ## Running JQL Query
22
-
23
- '''
24
- require 'jira_issues'
25
- q = JiraIssues::JiraQuery.new
26
- issues_navigator = jq.jql_query 'project = "Project Name" and ( created > -40d or status not in (Done) )'
27
- '''
28
-
29
- ## Filtering issues
30
-
31
- '''
32
- issues_navigator.open.issues -- open issues
33
- issues_navigator.closed.issues -- closed issues
34
- '''
35
-
36
- ## Stats
37
-
38
- '''
39
- issues_navigator.created_by_week
40
- issues_navigator.closed_by_week
41
- '''
data/Rakefile DELETED
@@ -1,7 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new
5
-
6
- task :default => :spec
7
- task :test => :spec
data/jira_issues.gemspec DELETED
@@ -1,40 +0,0 @@
1
- $:.push File.expand_path("../lib", __FILE__)
2
-
3
- require "jira_issues/version"
4
-
5
- Gem::Specification.new do |s|
6
- s.name = 'jira-issues'
7
- s.version = JiraIssues::VERSION
8
-
9
- ## Edit these as appropriate
10
- s.summary = "Jira Issues"
11
- s.description = %q{Jira Issues gem that supports quering and filtering data for external reporting and integrations.}
12
-
13
- s.authors = ["Filip Jakubowski-Drzrwiecki"]
14
- s.email = ["don.o.phelippe@gmail.com"]
15
- s.homepage = 'https://github.com/filipjakubowski'
16
-
17
- s.rubyforge_project = "jira_issues"
18
-
19
- s.require_paths = %w[lib]
20
- s.files = `git ls-files`.split("\n")
21
- # s.files = %w{lib/jira_issues.rb lib/jira_issues/jira_adapter.rb lib/jira_issues/jira_issue_mapper.rb lib/jira_issues/jira_issues_navigator.rb lib/jira_issues/jira_workflow.rb lib/jira_issues/jira_query.rb lib/jira_issues/jira_issues_stats.rb lib/jira_issues/jql_lib.rb}
22
-
23
- s.add_dependency 'jira-ruby'
24
- s.add_dependency 'byebug'
25
-
26
- ## List your development dependencies here. Development dependencies are
27
- ## those that are only needed during development
28
- s.add_development_dependency "rake"
29
- s.add_development_dependency "rspec"
30
- s.add_development_dependency "rubocop"
31
-
32
- s.add_development_dependency 'fakeweb'
33
- s.add_development_dependency 'pry'
34
-
35
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
36
-
37
- ## Test files will be grabbed from the file list. Make sure the path glob
38
- ## matches what you actually use.
39
- s.test_files = s.files.select { |path| path =~ /^test\/test_.*\.rb/ }
40
- end
@@ -1,32 +0,0 @@
1
- require 'jira-ruby'
2
-
3
- module JiraIssues
4
- class JiraAdapter
5
- def create_task(task)
6
- issue = client.Issue.build
7
- issue.save(task.print)
8
- end
9
-
10
- def available?
11
- response = client.get('/')
12
- response.code == '200'
13
- end
14
-
15
- def jql(jql_query, fields)
16
- client.Issue.jql(jql_query, fields)
17
- end
18
-
19
- private
20
-
21
- def client
22
- @client = JIRA::Client.new(
23
- username: ENV['JIRA_USERNAME'],
24
- password: ENV['JIRA_PASSWORD'],
25
- site: ENV['JIRA_URL'],
26
- context_path: '',
27
- auth_type: :basic,
28
- read_timeout: 120
29
- )
30
- end
31
- end
32
- end
@@ -1,31 +0,0 @@
1
- module JiraIssues
2
- class JiraIssueMapper
3
- # WIP
4
- # ATM mapper serialises issue to JSON
5
- # We might consider using objects
6
-
7
- def call(issue)
8
- status = decode_status(issue)
9
- {
10
- key: issue.key,
11
- type: issue.issuetype.name,
12
- priority: issue.priority.name,
13
- status: status,
14
- #description: i.description,
15
- summary: issue.summary,
16
- created_date: issue.created,
17
- closed_date: issue.resolutiondate
18
- }
19
- end
20
-
21
- private
22
-
23
- def decode_status(issue)
24
- JiraIssues::JiraWorkflow.issue_status_for_name(project_key(issue),issue.status.name)
25
- end
26
-
27
- def project_key(issue)
28
- issue.key.split('-').first
29
- end
30
- end
31
- end
@@ -1,50 +0,0 @@
1
- module JiraIssues
2
- class JiraIssuesNavigator
3
- include JiraIssues::JiraIssueStats
4
-
5
- def initialize(issues)
6
- @issues = issues
7
- end
8
-
9
- def issues
10
- @issues
11
- end
12
-
13
- def all
14
- JiraIssuesNavigator.new @issues
15
- end
16
-
17
- def open
18
- JiraIssuesNavigator.new @issues.select {|i| i[:status] == JiraWorkflow::OPEN}
19
- end
20
-
21
- def blocked
22
- JiraIssuesNavigator.new @issues.select {|i| i[:status] == JiraWorkflow::BLOCKED}
23
- end
24
-
25
- def in_progress
26
- JiraIssuesNavigator.new @issues.select {|i| i[:status] == JiraWorkflow::IN_PROGRESS}
27
- end
28
-
29
- def closed
30
- JiraIssuesNavigator.new @issues.select {|i| i[:status] == JiraWorkflow::CLOSED}
31
- end
32
-
33
- def with_status(status: selected_status)
34
- JiraIssuesNavigator.new @issues.select {|i| i[:status] == @issue_states[selected_status]}
35
- end
36
-
37
- #aliases
38
- def todo
39
- open
40
- end
41
-
42
- def done
43
- closed
44
- end
45
-
46
- def ip
47
- in_progress
48
- end
49
- end
50
- end
@@ -1,11 +0,0 @@
1
- module JiraIssues
2
- module JiraIssueStats
3
- def created_by_week
4
- @issues.map { |i| { key: i[:key], week_created: Date.parse(i[:created_date]).beginning_of_week } }.group_by { |x| x[:week_created] }.map { |k, v| [k, v.count] }.to_h.sort
5
- end
6
-
7
- def closed_by_week
8
- @issues.select { |i| !i[:closed_date].nil? }.map { |i| { key: i[:key], week_closed: Date.parse(i[:closed_date]).beginning_of_week } }.group_by { |x| x[:week_closed]}.map { |k, v| [k, v.count] }.to_h.sort
9
- end
10
- end
11
- end
@@ -1,18 +0,0 @@
1
- module JiraIssues
2
- class JiraQuery
3
- def initialize(max_results = 1000)
4
- @query_max_results = max_results
5
- end
6
-
7
- def jql_query(query)
8
- result = adapter.jql(query, fields:[:description, :summary, :created, :status, :issuetype, :priority, :resolutiondate], max_results: @query_max_results)
9
- JiraIssuesNavigator.new(result.map{|i| JiraIssueMapper.new.call(i) })
10
- end
11
-
12
- private
13
- def adapter
14
- @adapter ||= JiraIssues::JiraAdapter.new
15
- end
16
- end
17
- end
18
-
@@ -1,24 +0,0 @@
1
- module JiraIssues
2
- class JiraWorkflow
3
- OPEN = 'Open'
4
- IN_PROGRESS = 'InProgress'
5
- BLOCKED = 'Blocked'
6
- CLOSED = 'Closed'
7
- # This is WIP
8
- # This class should be able to map and unify:
9
- # - statuses
10
- # - workflows
11
- # - transitions
12
- # ATM - we will work onlu on defailt issue names
13
-
14
- def self.issue_status_for_name(project_key, status_name)
15
- {
16
- 'Backlog' => OPEN,
17
- 'Open' => OPEN,
18
- 'Blocked' => BLOCKED,
19
- 'In Progress' => IN_PROGRESS,
20
- 'Done' => CLOSED
21
- }.fetch(status_name)
22
- end
23
- end
24
- end
@@ -1,11 +0,0 @@
1
- module JiraIssues
2
- class JqlLib
3
- def self.my_issues
4
- "assignee = currentUser()"
5
- end
6
-
7
- def self.issues_for_user(user)
8
- "assignee = #{user}"
9
- end
10
- end
11
- end
@@ -1,3 +0,0 @@
1
- module JiraIssues
2
- VERSION = "0.0.2"
3
- end
data/lib/jira_issues.rb DELETED
@@ -1,7 +0,0 @@
1
- require 'jira_issues/jira_adapter'
2
- require 'jira_issues/jira_workflow'
3
- require 'jira_issues/jira_query'
4
- require 'jira_issues/jira_issues_stats'
5
- require 'jira_issues/jira_issues_navigator'
6
- require 'jira_issues/jira_issue_mapper'
7
- require 'jira_issues/jql_lib'
data/spec/.rspec DELETED
@@ -1 +0,0 @@
1
- --color