tempest_time 1.2.1 → 2.0.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/lib/tempest_time/api/jira_api/models/user.rb +31 -0
- data/lib/tempest_time/api/jira_api/request.rb +1 -1
- data/lib/tempest_time/api/jira_api/requests/get_user_issues.rb +4 -4
- data/lib/tempest_time/api/jira_api/requests/search_users.rb +33 -0
- data/lib/tempest_time/api/jira_api/responses/get_current_user.rb +6 -1
- data/lib/tempest_time/api/jira_api/responses/search_users.rb +12 -0
- data/lib/tempest_time/api/request.rb +2 -2
- data/lib/tempest_time/api/tempo_api/authorization.rb +1 -1
- data/lib/tempest_time/api/tempo_api/request.rb +1 -0
- data/lib/tempest_time/api/tempo_api/requests/create_worklog.rb +3 -2
- data/lib/tempest_time/api/tempo_api/requests/get_user_schedule.rb +4 -4
- data/lib/tempest_time/api/tempo_api/requests/list_worklogs.rb +4 -4
- data/lib/tempest_time/api/tempo_api/requests/submit_timesheet.rb +5 -4
- data/lib/tempest_time/api/tempo_api/responses/submit_timesheet.rb +1 -1
- data/lib/tempest_time/command.rb +28 -0
- data/lib/tempest_time/commands/issue.rb +3 -3
- data/lib/tempest_time/commands/issue/list.rb +5 -10
- data/lib/tempest_time/commands/list.rb +7 -4
- data/lib/tempest_time/commands/report.rb +4 -4
- data/lib/tempest_time/commands/setup.rb +6 -4
- data/lib/tempest_time/commands/submit.rb +7 -3
- data/lib/tempest_time/commands/track.rb +7 -7
- data/lib/tempest_time/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f7ea036a16a00b115c43380947acca1d3ed7d1b8b3e6f15ad61aec1306291a0
|
4
|
+
data.tar.gz: 2f3b83981753b1f81b75a33b5399421f967fad33898e7c5e66f25bbb270d1e3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b27a2c26d4dd0c4e908001649eb59c514f4a6cdf9ea8b03d2c55826e46caf5e56af1101fab6f8d7383821c577e8ab699142bd4d0e21322b792e85eeef6087a59
|
7
|
+
data.tar.gz: e522e503832c6dd7e4704c0fd2e76815e68f75f4dd6a3af0725b14a7fa82ae34dc492bc1df6a2b232f78ada460dabbb0a4c1c3c9a6301f41998fa91a70373bd0
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module JiraAPI
|
4
|
+
module Models
|
5
|
+
class User
|
6
|
+
def initialize(user)
|
7
|
+
@user_data = user
|
8
|
+
end
|
9
|
+
|
10
|
+
def name
|
11
|
+
@name ||= user_data['displayName']
|
12
|
+
end
|
13
|
+
|
14
|
+
def username
|
15
|
+
@username ||= user_data['name']
|
16
|
+
end
|
17
|
+
|
18
|
+
def email
|
19
|
+
@email ||= user_data['emailAddress']
|
20
|
+
end
|
21
|
+
|
22
|
+
def account_id
|
23
|
+
@account_id ||= user_data['accountId']
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
attr_reader :user_data
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -4,11 +4,11 @@ require_relative '../responses/get_user_issues'
|
|
4
4
|
module JiraAPI
|
5
5
|
module Requests
|
6
6
|
class GetUserIssues < JiraAPI::Request
|
7
|
-
attr_reader :
|
7
|
+
attr_reader :user
|
8
8
|
|
9
|
-
def initialize(
|
9
|
+
def initialize(user:)
|
10
10
|
super
|
11
|
-
@
|
11
|
+
@user = user
|
12
12
|
end
|
13
13
|
|
14
14
|
private
|
@@ -23,7 +23,7 @@ module JiraAPI
|
|
23
23
|
|
24
24
|
def query_params
|
25
25
|
{
|
26
|
-
'jql' => "assignee=#{
|
26
|
+
'jql' => "assignee=#{user.username} AND resolution is EMPTY",
|
27
27
|
'maxResults' => 100,
|
28
28
|
}
|
29
29
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require_relative '../request'
|
2
|
+
require_relative '../responses/search_users'
|
3
|
+
|
4
|
+
module JiraAPI
|
5
|
+
module Requests
|
6
|
+
class SearchUsers < JiraAPI::Request
|
7
|
+
def initialize(query: nil)
|
8
|
+
super
|
9
|
+
@query = query
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def request_method
|
15
|
+
'get'
|
16
|
+
end
|
17
|
+
|
18
|
+
def request_path
|
19
|
+
"/user/search"
|
20
|
+
end
|
21
|
+
|
22
|
+
def query_params
|
23
|
+
{
|
24
|
+
'query' => @query,
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
def response_klass
|
29
|
+
JiraAPI::Responses::SearchUsers
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -1,9 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative '../response'
|
4
|
+
require_relative '../models/user'
|
4
5
|
|
5
6
|
module JiraAPI
|
6
7
|
module Responses
|
7
|
-
class GetCurrentUser < JiraAPI::Response
|
8
|
+
class GetCurrentUser < JiraAPI::Response
|
9
|
+
def user
|
10
|
+
@user ||= JiraAPI::Models::User.new(raw_response)
|
11
|
+
end
|
12
|
+
end
|
8
13
|
end
|
9
14
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require_relative '../response'
|
2
|
+
require_relative '../models/user'
|
3
|
+
|
4
|
+
module JiraAPI
|
5
|
+
module Responses
|
6
|
+
class SearchUsers < JiraAPI::Response
|
7
|
+
def users
|
8
|
+
@users ||= raw_response.parsed_response.map { |user| JiraAPI::Models::User.new(user) }
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -61,7 +61,7 @@ module TempestTime
|
|
61
61
|
authorization_klass.new.credentials
|
62
62
|
end
|
63
63
|
|
64
|
-
def
|
64
|
+
def auth_user
|
65
65
|
credentials.fetch(:user, nil)
|
66
66
|
end
|
67
67
|
|
@@ -82,7 +82,7 @@ module TempestTime
|
|
82
82
|
end
|
83
83
|
|
84
84
|
def basic_auth
|
85
|
-
{ username:
|
85
|
+
{ username: auth_user, password: token }
|
86
86
|
end
|
87
87
|
end
|
88
88
|
end
|
@@ -12,11 +12,12 @@ module TempoAPI
|
|
12
12
|
@message = options[:message]
|
13
13
|
@date = options[:date] ? options[:date] : Date.today
|
14
14
|
@billable = options[:billable]
|
15
|
+
@user = options[:user]
|
15
16
|
end
|
16
17
|
|
17
18
|
private
|
18
19
|
|
19
|
-
attr_reader :issue, :remaining, :seconds, :message, :date, :billable
|
20
|
+
attr_reader :issue, :remaining, :seconds, :message, :date, :billable, :user
|
20
21
|
|
21
22
|
def request_method
|
22
23
|
'post'
|
@@ -38,7 +39,7 @@ module TempoAPI
|
|
38
39
|
"remainingEstimateSeconds": remaining,
|
39
40
|
"startDate": date.strftime('%Y-%m-%d'),
|
40
41
|
"startTime": '12:00:00',
|
41
|
-
"
|
42
|
+
"authorAccountId": user.account_id,
|
42
43
|
"description": message,
|
43
44
|
}
|
44
45
|
end
|
@@ -6,23 +6,23 @@ module TempoAPI
|
|
6
6
|
class GetUserSchedule < TempoAPI::Request
|
7
7
|
attr_reader :start_date, :end_date
|
8
8
|
|
9
|
-
def initialize(start_date:, end_date:,
|
9
|
+
def initialize(start_date:, end_date:, user:)
|
10
10
|
super
|
11
11
|
@start_date = start_date
|
12
12
|
@end_date = end_date || start_date
|
13
|
-
@
|
13
|
+
@user = user
|
14
14
|
end
|
15
15
|
|
16
16
|
private
|
17
17
|
|
18
|
-
attr_reader :
|
18
|
+
attr_reader :user
|
19
19
|
|
20
20
|
def request_method
|
21
21
|
'get'
|
22
22
|
end
|
23
23
|
|
24
24
|
def request_path
|
25
|
-
"/user-schedule/#{
|
25
|
+
"/user-schedule/#{user.account_id}"
|
26
26
|
end
|
27
27
|
|
28
28
|
def query_params
|
@@ -8,16 +8,16 @@ module TempoAPI
|
|
8
8
|
class ListWorklogs < TempoAPI::Request
|
9
9
|
attr_reader :start_date, :end_date
|
10
10
|
|
11
|
-
def initialize(start_date, end_date: nil,
|
11
|
+
def initialize(start_date, end_date: nil, user: nil)
|
12
12
|
super
|
13
13
|
@start_date = start_date
|
14
14
|
@end_date = end_date || start_date
|
15
|
-
@
|
15
|
+
@user = user
|
16
16
|
end
|
17
17
|
|
18
18
|
private
|
19
19
|
|
20
|
-
attr_reader :
|
20
|
+
attr_reader :user
|
21
21
|
|
22
22
|
def response_klass
|
23
23
|
TempoAPI::Responses::ListWorklogs
|
@@ -28,7 +28,7 @@ module TempoAPI
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def request_path
|
31
|
-
"/worklogs/user/#{
|
31
|
+
"/worklogs/user/#{user.account_id}"
|
32
32
|
end
|
33
33
|
|
34
34
|
def query_params
|
@@ -7,10 +7,11 @@ module TempoAPI
|
|
7
7
|
class SubmitTimesheet < TempoAPI::Request
|
8
8
|
include TempestTime::Helpers::TimeHelper
|
9
9
|
|
10
|
-
attr_reader :reviewer, :dates
|
10
|
+
attr_reader :submitter, :reviewer, :dates
|
11
11
|
|
12
|
-
def initialize(reviewer
|
12
|
+
def initialize(submitter:, reviewer:, dates:)
|
13
13
|
super
|
14
|
+
@submitter = submitter
|
14
15
|
@reviewer = reviewer
|
15
16
|
@dates = dates
|
16
17
|
end
|
@@ -22,7 +23,7 @@ module TempoAPI
|
|
22
23
|
end
|
23
24
|
|
24
25
|
def request_path
|
25
|
-
"/timesheet-approvals/user/#{
|
26
|
+
"/timesheet-approvals/user/#{submitter.account_id}/submit"
|
26
27
|
end
|
27
28
|
|
28
29
|
def response_klass
|
@@ -38,7 +39,7 @@ module TempoAPI
|
|
38
39
|
|
39
40
|
def request_body
|
40
41
|
{
|
41
|
-
|
42
|
+
reviewerAccountId: reviewer.account_id,
|
42
43
|
}
|
43
44
|
end
|
44
45
|
end
|
data/lib/tempest_time/command.rb
CHANGED
@@ -5,6 +5,8 @@ require 'forwardable'
|
|
5
5
|
require_relative 'helpers/time_helper'
|
6
6
|
require_relative 'helpers/formatting_helper'
|
7
7
|
require_relative 'helpers/git_helper'
|
8
|
+
require_relative 'api/jira_api/requests/get_current_user'
|
9
|
+
require_relative 'api/jira_api/requests/search_users'
|
8
10
|
|
9
11
|
module TempestTime
|
10
12
|
class Command
|
@@ -90,5 +92,31 @@ module TempestTime
|
|
90
92
|
s.error(pastel.red(response.message))
|
91
93
|
end
|
92
94
|
end
|
95
|
+
|
96
|
+
def find_user(query)
|
97
|
+
return current_user unless query
|
98
|
+
|
99
|
+
users = JiraAPI::Requests::SearchUsers.new(query: query).send_request.users
|
100
|
+
case users.count
|
101
|
+
when 0
|
102
|
+
abort(
|
103
|
+
pastel.red('User not found!') + ' ' \
|
104
|
+
'Please check your query and try again.'
|
105
|
+
)
|
106
|
+
when 1
|
107
|
+
return users.first
|
108
|
+
else
|
109
|
+
require 'tty-prompt'
|
110
|
+
TTY::Prompt.new.select(
|
111
|
+
pastel.yellow('Multiple users match your query. Please select a user.'),
|
112
|
+
users.map { |user| { "#{user.name}: #{user.email}" => user } },
|
113
|
+
per_page: 10
|
114
|
+
)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
def current_user
|
119
|
+
@current_user ||= JiraAPI::Requests::GetCurrentUser.new.send_request.user
|
120
|
+
end
|
93
121
|
end
|
94
122
|
end
|
@@ -8,10 +8,10 @@ module TempestTime
|
|
8
8
|
namespace :issue
|
9
9
|
|
10
10
|
desc 'list', 'List unresolved issues.'
|
11
|
-
option :
|
12
|
-
def list
|
11
|
+
option :user, aliases: '-u', type: :string
|
12
|
+
def list
|
13
13
|
require_relative 'issue/list'
|
14
|
-
TempestTime::Commands::Issue::List.new(
|
14
|
+
TempestTime::Commands::Issue::List.new(options).execute
|
15
15
|
end
|
16
16
|
|
17
17
|
desc 'open', 'Open an issue in your browser. (Default: current branch)'
|
@@ -7,13 +7,13 @@ module TempestTime
|
|
7
7
|
module Commands
|
8
8
|
class Issue
|
9
9
|
class List < TempestTime::Command
|
10
|
-
def initialize(
|
11
|
-
@user = user
|
10
|
+
def initialize(options)
|
11
|
+
@user = find_user(options[:user])
|
12
12
|
end
|
13
13
|
|
14
14
|
def execute!
|
15
|
-
request = JiraAPI::Requests::GetUserIssues.new(
|
16
|
-
message = "Getting issues for #{
|
15
|
+
request = JiraAPI::Requests::GetUserIssues.new(user: @user)
|
16
|
+
message = "Getting issues for #{pastel.yellow(@user.name)}"
|
17
17
|
response = with_spinner(message) do |spinner|
|
18
18
|
request.send_request.tap { spinner.stop }
|
19
19
|
end
|
@@ -38,17 +38,12 @@ module TempestTime
|
|
38
38
|
table.new(
|
39
39
|
%w(Status Issue Summary),
|
40
40
|
issues.map { |issue| row(issue) }
|
41
|
-
).render(:ascii, padding: [0, 1], column_widths: [15,
|
41
|
+
).render(:ascii, padding: [0, 1], column_widths: [15, 15, 45])
|
42
42
|
end
|
43
43
|
|
44
44
|
def row(issue)
|
45
45
|
[issue.status, issue.key, issue.summary]
|
46
46
|
end
|
47
|
-
|
48
|
-
def current_user
|
49
|
-
require_relative '../../settings/authorization'
|
50
|
-
TempestTime::Settings::Authorization.new.fetch('username')
|
51
|
-
end
|
52
47
|
end
|
53
48
|
end
|
54
49
|
end
|
@@ -7,7 +7,7 @@ module TempestTime
|
|
7
7
|
module Commands
|
8
8
|
class List < TempestTime::Command
|
9
9
|
def initialize(options)
|
10
|
-
@user = options[:user]
|
10
|
+
@user = find_user(options[:user])
|
11
11
|
@dates = options[:date] ? [Date.parse(options[:date])] : nil
|
12
12
|
end
|
13
13
|
|
@@ -18,11 +18,14 @@ module TempestTime
|
|
18
18
|
days_after: 13
|
19
19
|
).sort
|
20
20
|
@dates.each do |date|
|
21
|
-
with_spinner(
|
21
|
+
with_spinner(
|
22
|
+
"Retrieving logs for #{pastel.yellow(@user.name)} "\
|
23
|
+
"on #{pastel.yellow(formatted_date(date))}..."
|
24
|
+
) do |spin|
|
22
25
|
@response = TempoAPI::Requests::ListWorklogs.new(
|
23
26
|
date,
|
24
27
|
end_date: nil,
|
25
|
-
|
28
|
+
user: @user
|
26
29
|
).send_request
|
27
30
|
spin.stop(pastel.green('Done!'))
|
28
31
|
prompt.say(render_table)
|
@@ -45,7 +48,7 @@ module TempestTime
|
|
45
48
|
t.render(
|
46
49
|
:ascii,
|
47
50
|
padding: [0, 1],
|
48
|
-
column_widths: [7,
|
51
|
+
column_widths: [7, 15, 15, 30],
|
49
52
|
multiline: true
|
50
53
|
)
|
51
54
|
end
|
@@ -20,7 +20,7 @@ module TempestTime
|
|
20
20
|
|
21
21
|
def execute!
|
22
22
|
if @users.empty? && @team.nil?
|
23
|
-
@users = user_prompt
|
23
|
+
@users = user_prompt.map { |user| find_user(user) }
|
24
24
|
end
|
25
25
|
|
26
26
|
@users.push(@teams.members(@team)) if @team
|
@@ -86,7 +86,7 @@ module TempestTime
|
|
86
86
|
@required_seconds ||= TempoAPI::Requests::GetUserSchedule.new(
|
87
87
|
start_date: start_date,
|
88
88
|
end_date: end_date,
|
89
|
-
|
89
|
+
user: @users.first
|
90
90
|
).send_request.required_seconds
|
91
91
|
end
|
92
92
|
|
@@ -95,7 +95,7 @@ module TempestTime
|
|
95
95
|
worklogs = TempoAPI::Requests::ListWorklogs.new(
|
96
96
|
start_date,
|
97
97
|
end_date: end_date,
|
98
|
-
|
98
|
+
user: user
|
99
99
|
).send_request.worklogs
|
100
100
|
|
101
101
|
TempestTime::Models::Report.new(
|
@@ -143,7 +143,7 @@ module TempestTime
|
|
143
143
|
|
144
144
|
def row(data)
|
145
145
|
row = [
|
146
|
-
data.user,
|
146
|
+
(data.user.is_a?(String) ? data.user : data.user.name),
|
147
147
|
right_align(percentage(data.total_compliance_percentage)),
|
148
148
|
right_align(percentage(data.utilization_percentage)),
|
149
149
|
]
|
@@ -72,10 +72,12 @@ module TempestTime
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def check_for_validity
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
75
|
+
raise StandardError unless JiraAPI::Requests::GetCurrentUser.new.send_request.user
|
76
|
+
raise StandardError unless tempo_token_is_valid?
|
77
|
+
end
|
78
|
+
|
79
|
+
def tempo_token_is_valid?
|
80
|
+
TempoAPI::Requests::ListWorklogs.new(Date.today).send_request.success?
|
79
81
|
end
|
80
82
|
|
81
83
|
def email
|
@@ -11,15 +11,19 @@ module TempestTime
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def execute!
|
14
|
-
reviewer = prompt.ask('Who should review this timesheet?
|
14
|
+
reviewer = find_user(prompt.ask('Who should review this timesheet?'))
|
15
15
|
dates = week_dates(week_prompt('Select a week to submit.'))
|
16
16
|
|
17
|
-
message = 'Submit the selected timesheet to ' + pastel.green(reviewer) + '?'
|
17
|
+
message = 'Submit the selected timesheet to ' + pastel.green(reviewer.name) + '?'
|
18
18
|
abort unless prompt.yes?(message)
|
19
19
|
abort unless prompt.yes?('Are you sure? No edits can be made once submitted!')
|
20
20
|
|
21
21
|
with_success_fail_spinner('Submitting your timesheet...') do
|
22
|
-
TempoAPI::Requests::SubmitTimesheet.new(
|
22
|
+
TempoAPI::Requests::SubmitTimesheet.new(
|
23
|
+
submitter: current_user,
|
24
|
+
reviewer: reviewer,
|
25
|
+
dates: dates
|
26
|
+
).send_request
|
23
27
|
end
|
24
28
|
end
|
25
29
|
end
|
@@ -7,13 +7,14 @@ require_relative '../api/tempo_api/requests/create_worklog'
|
|
7
7
|
module TempestTime
|
8
8
|
module Commands
|
9
9
|
class Track < TempestTime::Command
|
10
|
-
attr_reader :time, :issues, :options
|
10
|
+
attr_reader :time, :issues, :options, :user
|
11
11
|
|
12
12
|
def initialize(time, issues, options)
|
13
13
|
@options = options
|
14
14
|
@issues = issues.any? ? issues.map(&:upcase) : [automatic_issue]
|
15
15
|
@time = parsed_time(time) / @issues.count
|
16
16
|
@dates = options[:date] ? [Date.parse(options[:date])] : nil
|
17
|
+
@user = current_user
|
17
18
|
end
|
18
19
|
|
19
20
|
def execute!
|
@@ -24,7 +25,7 @@ module TempestTime
|
|
24
25
|
end
|
25
26
|
dates.each do |date|
|
26
27
|
issues.each do |issue|
|
27
|
-
track_time(time, options.merge({ issue: issue, date: date }))
|
28
|
+
track_time(time, options.merge({ issue: issue, date: date, user: user }))
|
28
29
|
end
|
29
30
|
end
|
30
31
|
end
|
@@ -61,13 +62,12 @@ module TempestTime
|
|
61
62
|
end
|
62
63
|
|
63
64
|
def remaining_estimate(issue, time)
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
abort("There was an issue getting this Jira issue.\n"\
|
65
|
+
response = JiraAPI::Requests::GetIssue.new(issue).send_request
|
66
|
+
if response.failure?
|
67
|
+
abort("There was a problem getting this Jira issue.\n"\
|
68
68
|
'Please check the issue number and your credentials.')
|
69
69
|
end
|
70
|
-
remaining =
|
70
|
+
remaining = response.issue.remaining_estimate || 0
|
71
71
|
remaining > time ? remaining - time : 0
|
72
72
|
end
|
73
73
|
|
data/lib/tempest_time/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tempest_time
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Devan Hurst
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03
|
11
|
+
date: 2019-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -247,14 +247,17 @@ files:
|
|
247
247
|
- lib/tempest_time/api/authorization.rb
|
248
248
|
- lib/tempest_time/api/jira_api/authorization.rb
|
249
249
|
- lib/tempest_time/api/jira_api/models/issue.rb
|
250
|
+
- lib/tempest_time/api/jira_api/models/user.rb
|
250
251
|
- lib/tempest_time/api/jira_api/request.rb
|
251
252
|
- lib/tempest_time/api/jira_api/requests/get_current_user.rb
|
252
253
|
- lib/tempest_time/api/jira_api/requests/get_issue.rb
|
253
254
|
- lib/tempest_time/api/jira_api/requests/get_user_issues.rb
|
255
|
+
- lib/tempest_time/api/jira_api/requests/search_users.rb
|
254
256
|
- lib/tempest_time/api/jira_api/response.rb
|
255
257
|
- lib/tempest_time/api/jira_api/responses/get_current_user.rb
|
256
258
|
- lib/tempest_time/api/jira_api/responses/get_issue.rb
|
257
259
|
- lib/tempest_time/api/jira_api/responses/get_user_issues.rb
|
260
|
+
- lib/tempest_time/api/jira_api/responses/search_users.rb
|
258
261
|
- lib/tempest_time/api/request.rb
|
259
262
|
- lib/tempest_time/api/response.rb
|
260
263
|
- lib/tempest_time/api/tempo_api/authorization.rb
|