gitlab-triage 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gitlab/triage/engine.rb +6 -4
- data/lib/gitlab/triage/entity_builders/issue_builder.rb +4 -1
- data/lib/gitlab/triage/policies/base_policy.rb +1 -10
- data/lib/gitlab/triage/policies/rule_policy.rb +2 -1
- data/lib/gitlab/triage/policies/summary_policy.rb +5 -22
- data/lib/gitlab/triage/policies_resources/rule_resources.rb +21 -0
- data/lib/gitlab/triage/policies_resources/summary_resources.rb +21 -0
- data/lib/gitlab/triage/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da8631c8e4a01092f91bba3be37db11cbadee2e321c62922f1a2a27ea3a98e41
|
4
|
+
data.tar.gz: cc565d9cc79cbdfdbabaa5f86880172cd5ef711b3d8ac2286476a045ae1510fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2b39262189075194795e05df1adf15eaa86a987731834f821f3daa24e06642cbcc9b97a918cdae7827d4a89d29c204c4f6c939a1cdb597d8a665c0971116a4f
|
7
|
+
data.tar.gz: 13aeac661214408c2584a6b41b9bbf9a69f1fb68e620f5f5fea08a9f74635315a0e8e03c84f86ab5ce84b71a32b206f368b433dfff90e2903d0e2eba625da4a2
|
data/lib/gitlab/triage/engine.rb
CHANGED
@@ -13,6 +13,8 @@ require_relative 'limiters/date_field_limiter'
|
|
13
13
|
require_relative 'action'
|
14
14
|
require_relative 'policies/rule_policy'
|
15
15
|
require_relative 'policies/summary_policy'
|
16
|
+
require_relative 'policies_resources/rule_resources'
|
17
|
+
require_relative 'policies_resources/summary_resources'
|
16
18
|
require_relative 'api_query_builders/single_query_param_builder'
|
17
19
|
require_relative 'api_query_builders/multi_query_param_builder'
|
18
20
|
require_relative 'url_builders/url_builder'
|
@@ -120,9 +122,9 @@ module Gitlab
|
|
120
122
|
puts Gitlab::Triage::UI.header("Processing summary: **#{summary[:name]}**", char: '~')
|
121
123
|
puts
|
122
124
|
|
123
|
-
summary_parts_for_rules(resource_type, summary[:rules]) do |
|
125
|
+
summary_parts_for_rules(resource_type, summary[:rules]) do |resources|
|
124
126
|
policy = Policies::SummaryPolicy.new(
|
125
|
-
resource_type, summary,
|
127
|
+
resource_type, summary, resources, network)
|
126
128
|
|
127
129
|
process_action(policy)
|
128
130
|
end
|
@@ -141,7 +143,7 @@ module Gitlab
|
|
141
143
|
end
|
142
144
|
end
|
143
145
|
|
144
|
-
yield(parts)
|
146
|
+
yield(PoliciesResources::SummaryResources.new(parts))
|
145
147
|
end
|
146
148
|
|
147
149
|
def resources_for_rule(resource_type, rule)
|
@@ -163,7 +165,7 @@ module Gitlab
|
|
163
165
|
puts "\n* Total after limiting: #{resources.count} resources"
|
164
166
|
puts
|
165
167
|
|
166
|
-
yield(resources, conditions)
|
168
|
+
yield(PoliciesResources::RuleResources.new(resources), conditions)
|
167
169
|
end
|
168
170
|
end
|
169
171
|
|
@@ -6,8 +6,11 @@ module Gitlab
|
|
6
6
|
module Triage
|
7
7
|
module EntityBuilders
|
8
8
|
class IssueBuilder
|
9
|
-
def initialize(
|
9
|
+
def initialize(
|
10
|
+
type:, action:, resources:, network:,
|
11
|
+
policy_spec: {}, separator: "\n")
|
10
12
|
@type = type
|
13
|
+
@policy_spec = policy_spec
|
11
14
|
@item_template = action[:item]
|
12
15
|
@title_template = action[:title]
|
13
16
|
@summary_template = action[:summary]
|
@@ -9,8 +9,7 @@ module Gitlab
|
|
9
9
|
def initialize(type, policy_spec, resources, network)
|
10
10
|
@type = type
|
11
11
|
@policy_spec = policy_spec
|
12
|
-
|
13
|
-
@resources = attach_resource_type(resources, type)
|
12
|
+
@resources = resources
|
14
13
|
@network = network
|
15
14
|
end
|
16
15
|
|
@@ -34,14 +33,6 @@ module Gitlab
|
|
34
33
|
def build_issue
|
35
34
|
raise NotImplementedError
|
36
35
|
end
|
37
|
-
|
38
|
-
private
|
39
|
-
|
40
|
-
# We don't have to do this once the response will contain the type
|
41
|
-
# of the resource. For now let's just attach it.
|
42
|
-
def attach_resource_type(resources, type)
|
43
|
-
resources.map { |resource| resource.reverse_merge(type: type) }
|
44
|
-
end
|
45
36
|
end
|
46
37
|
end
|
47
38
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'base_policy'
|
4
|
-
require_relative 'rule_policy'
|
5
4
|
require_relative '../entity_builders/issue_builder'
|
6
5
|
|
7
6
|
module Gitlab
|
@@ -11,13 +10,11 @@ module Gitlab
|
|
11
10
|
# Build an issue from several rules policies
|
12
11
|
def build_issue
|
13
12
|
action = actions[:summarize]
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
.build_issue
|
20
|
-
end
|
13
|
+
issues = resources.build_issues do |inner_policy_spec, inner_resources|
|
14
|
+
Policies::RulePolicy.new(
|
15
|
+
type, inner_policy_spec, inner_resources, network)
|
16
|
+
.build_issue
|
17
|
+
end
|
21
18
|
|
22
19
|
EntityBuilders::IssueBuilder.new(
|
23
20
|
type: type,
|
@@ -26,20 +23,6 @@ module Gitlab
|
|
26
23
|
network: network,
|
27
24
|
separator: "\n\n")
|
28
25
|
end
|
29
|
-
|
30
|
-
# Due to resources is a different type, this will never work
|
31
|
-
# FIXME: We should try to make sure type is consistent for resources
|
32
|
-
def comment?
|
33
|
-
false
|
34
|
-
end
|
35
|
-
|
36
|
-
private
|
37
|
-
|
38
|
-
def attach_resource_type(resources, type)
|
39
|
-
resources.each_with_object({}) do |(rule, rule_resources), result|
|
40
|
-
result[rule] = super(rule_resources, type)
|
41
|
-
end
|
42
|
-
end
|
43
26
|
end
|
44
27
|
end
|
45
28
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gitlab
|
4
|
+
module Triage
|
5
|
+
module PoliciesResources
|
6
|
+
class RuleResources
|
7
|
+
attr_reader :resources
|
8
|
+
|
9
|
+
def initialize(new_resources)
|
10
|
+
@resources = new_resources
|
11
|
+
end
|
12
|
+
|
13
|
+
def each
|
14
|
+
resources.each do |resource|
|
15
|
+
yield(resource)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Gitlab
|
4
|
+
module Triage
|
5
|
+
module PoliciesResources
|
6
|
+
class SummaryResources
|
7
|
+
attr_reader :rule_to_resources
|
8
|
+
|
9
|
+
def initialize(new_rule_to_resources)
|
10
|
+
@rule_to_resources = new_rule_to_resources
|
11
|
+
end
|
12
|
+
|
13
|
+
def build_issues
|
14
|
+
rule_to_resources.map do |inner_policy_spec, inner_resources|
|
15
|
+
yield(inner_policy_spec, inner_resources)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab-triage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitLab
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -172,6 +172,8 @@ files:
|
|
172
172
|
- lib/gitlab/triage/policies/base_policy.rb
|
173
173
|
- lib/gitlab/triage/policies/rule_policy.rb
|
174
174
|
- lib/gitlab/triage/policies/summary_policy.rb
|
175
|
+
- lib/gitlab/triage/policies_resources/rule_resources.rb
|
176
|
+
- lib/gitlab/triage/policies_resources/summary_resources.rb
|
175
177
|
- lib/gitlab/triage/resource/base.rb
|
176
178
|
- lib/gitlab/triage/resource/context.rb
|
177
179
|
- lib/gitlab/triage/resource/instance_version.rb
|