redmine_remotes 0.11.0 → 0.15.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/app/controllers/project_remote_issues_controller/create.rb +1 -1
- data/app/controllers/project_remote_issues_controller/update.rb +1 -1
- data/app/controllers/remote_trackers_controller.rb +4 -1
- data/app/models/remote_issue.rb +11 -0
- data/app/models/remote_issue_fetch/base.rb +45 -0
- data/app/models/remote_issue_fetch/base/_local_issue.rb +77 -0
- data/app/models/remote_issue_fetch/base/_provider_issue.rb +18 -0
- data/app/models/remote_issue_fetch/base/_remote_issue.rb +19 -0
- data/app/models/remote_issue_fetch/create.rb +44 -0
- data/app/models/remote_issue_fetch/create/_local_issue.rb +21 -0
- data/app/models/remote_issue_fetch/create/_remote_issue.rb +21 -0
- data/app/models/remote_issue_fetch/update.rb +18 -0
- data/app/models/remote_issue_fetch/update/_local_issue.rb +15 -0
- data/app/models/remote_issue_fetch/update/_remote_issue.rb +15 -0
- data/app/models/remote_tracker.rb +7 -1
- data/app/models/remote_tracker/find_issue_local_status.rb +1 -1
- data/app/models/remote_tracker/remote.rb +32 -8
- data/app/models/remote_tracker_fetch.rb +47 -0
- data/app/models/remote_tracker_fetch/provider.rb +13 -0
- data/app/models/remote_tracker_fetch/remote_issues.rb +27 -0
- data/app/models/remote_tracker_fetch/remote_tracker.rb +16 -0
- data/app/models/remote_user/find_local_user.rb +3 -3
- data/config/initializers/001_patches.rb +1 -0
- data/config/locales/en.yml +1 -0
- data/config/locales/pt-BR.yml +1 -0
- data/config/routes.rb +6 -5
- data/db/migrate/20190531171641_create_remote_trackers.rb +1 -1
- data/db/migrate/20190910182842_create_remote_users.rb +1 -1
- data/db/migrate/20190910203552_create_remote_issue_statuses.rb +1 -1
- data/db/migrate/20190912000000_create_remote_issues.rb +1 -1
- data/db/migrate/20200602192120_add_outdated_at_to_remote_issues.rb +7 -0
- data/db/migrate/20200602194753_add_fetched_at_to_remote_issues.rb +7 -0
- data/db/migrate/20200602203020_add_fetched_at_to_remote_trackers.rb +7 -0
- data/lib/redmine_remotes/esosti/entities/issue.rb +40 -1
- data/lib/redmine_remotes/esosti/instance.rb +8 -5
- data/lib/redmine_remotes/jira/entities/issue.rb +6 -2
- data/lib/redmine_remotes/jira/instance.rb +4 -17
- data/lib/redmine_remotes/jobs/fetch_issues.rb +31 -0
- data/lib/redmine_remotes/jobs/fetch_trackers.rb +30 -0
- data/lib/redmine_remotes/patches/avmtrf1_rest_provider_instance.rb +22 -0
- data/lib/redmine_remotes/version.rb +1 -1
- data/lib/tasks/redmine_remotes.rake +16 -11
- metadata +49 -27
- data/app/models/redmine_remotes/tableless/remote_issue_fetch/base.rb +0 -39
- data/app/models/redmine_remotes/tableless/remote_issue_fetch/base/_local_issue.rb +0 -67
- data/app/models/redmine_remotes/tableless/remote_issue_fetch/base/_provider_issue.rb +0 -22
- data/app/models/redmine_remotes/tableless/remote_issue_fetch/create.rb +0 -57
- data/app/models/redmine_remotes/tableless/remote_issue_fetch/create/_local_issue.rb +0 -25
- data/app/models/redmine_remotes/tableless/remote_issue_fetch/create/_remote_issue.rb +0 -32
- data/app/models/redmine_remotes/tableless/remote_issue_fetch/update.rb +0 -30
- data/app/models/redmine_remotes/tableless/remote_issue_fetch/update/_local_issue.rb +0 -19
- data/app/models/redmine_remotes/tableless/remote_issue_fetch/update/_remote_issue.rb +0 -19
- data/lib/redmine_remotes/rest_provider/http_response.rb +0 -31
- data/lib/redmine_remotes/rest_provider/instance.rb +0 -35
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RedmineRemotes
|
4
|
-
module Tableless
|
5
|
-
module RemoteIssueFetch
|
6
|
-
class Create < ::RedmineRemotes::Tableless::RemoteIssueFetch::Base
|
7
|
-
private
|
8
|
-
|
9
|
-
def create_remote_issue
|
10
|
-
return true if remote_issue.save
|
11
|
-
|
12
|
-
fetch_record_errors(remote_issue, default_column: default_error_column)
|
13
|
-
false
|
14
|
-
end
|
15
|
-
|
16
|
-
def remote_issue_uncached
|
17
|
-
remote_issue_by_remote_code.if_blank do
|
18
|
-
::RemoteIssue.new(remote_tracker: remote_tracker, remote_code: issue_remote_code,
|
19
|
-
local_issue: local_issue)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def remote_issue_by_remote_code_uncached
|
24
|
-
::RemoteIssue.where(
|
25
|
-
remote_tracker: remote_tracker,
|
26
|
-
remote_code: ::RemoteIssue.remote_code_sanitize(issue_remote_code)
|
27
|
-
).first
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
require 'eac/model'
|
5
|
-
|
6
|
-
module RedmineRemotes
|
7
|
-
module Tableless
|
8
|
-
module RemoteIssueFetch
|
9
|
-
class Update < ::RedmineRemotes::Tableless::RemoteIssueFetch::Base
|
10
|
-
require_sub __FILE__
|
11
|
-
|
12
|
-
attribute :remote_issue_id, ::Integer
|
13
|
-
belongs_to :remote_issue
|
14
|
-
|
15
|
-
validates :remote_issue, presence: true
|
16
|
-
|
17
|
-
def default_error_column
|
18
|
-
:remote_issue_id
|
19
|
-
end
|
20
|
-
|
21
|
-
def save
|
22
|
-
return false unless valid?
|
23
|
-
return false unless save_local_issue
|
24
|
-
|
25
|
-
true
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RedmineRemotes
|
4
|
-
module Tableless
|
5
|
-
module RemoteIssueFetch
|
6
|
-
class Update < ::RedmineRemotes::Tableless::RemoteIssueFetch::Base
|
7
|
-
private
|
8
|
-
|
9
|
-
def local_issue
|
10
|
-
remote_issue.local_issue
|
11
|
-
end
|
12
|
-
|
13
|
-
def local_tracker
|
14
|
-
local_issue.if_present(&:tracker)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RedmineRemotes
|
4
|
-
module Tableless
|
5
|
-
module RemoteIssueFetch
|
6
|
-
class Update < ::RedmineRemotes::Tableless::RemoteIssueFetch::Base
|
7
|
-
private
|
8
|
-
|
9
|
-
def issue_remote_code
|
10
|
-
remote_issue.remote_code
|
11
|
-
end
|
12
|
-
|
13
|
-
def remote_tracker
|
14
|
-
remote_issue.remote_tracker
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RedmineRemotes
|
4
|
-
module RestProvider
|
5
|
-
class HttpResponse < ::StandardError
|
6
|
-
class << self
|
7
|
-
def new_from_curl_easy(curl_easy)
|
8
|
-
new(
|
9
|
-
curl_easy.url,
|
10
|
-
curl_easy.status.to_i,
|
11
|
-
curl_easy.body_str
|
12
|
-
)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
attr_reader :url, :status, :body
|
17
|
-
|
18
|
-
def initialize(url, status, body)
|
19
|
-
@url = url
|
20
|
-
@status = status
|
21
|
-
@body = body
|
22
|
-
end
|
23
|
-
|
24
|
-
def body_or_raise
|
25
|
-
return body if status == 200
|
26
|
-
|
27
|
-
raise self
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avmtrf1/rest_provider/instance'
|
4
|
-
require 'curb'
|
5
|
-
require 'json'
|
6
|
-
|
7
|
-
module RedmineRemotes
|
8
|
-
module RestProvider
|
9
|
-
# Abstract methods
|
10
|
-
# * parse_issue_id(global_issue_id)
|
11
|
-
# * self.build_service_url(service_url_suffix)
|
12
|
-
# * self.issue_get_url_suffix(provider_issue_id)
|
13
|
-
class Instance < ::Avmtrf1::RestProvider::Instance
|
14
|
-
attr_reader :remote_tracker
|
15
|
-
|
16
|
-
def initialize(remote_tracker, root_url, username, password)
|
17
|
-
@remote_tracker = remote_tracker
|
18
|
-
super(root_url, username, password)
|
19
|
-
end
|
20
|
-
|
21
|
-
def request(service_url_suffix)
|
22
|
-
JSON.parse(super(service_url_suffix).body_or_raise)
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
# @return [RedmineRemotes::RestProvider::HttpResponse]
|
28
|
-
def curl_perform(curl)
|
29
|
-
return ::RedmineRemotes::RestProvider::HttpResponse.new_from_curl_easy(curl) if curl.perform
|
30
|
-
|
31
|
-
raise 'Curl failed'
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|