gitlab-triage 1.42.2 → 1.43.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.git-blame-ignore-revs +43 -0
  3. data/.gitignore +0 -1
  4. data/.gitlab-ci.yml +56 -54
  5. data/.rubocop.yml +27 -0
  6. data/.rubocop_todo.yml +47 -434
  7. data/.ruby-version +1 -1
  8. data/.tool-versions +1 -1
  9. data/Gemfile +2 -0
  10. data/Gemfile.lock +239 -0
  11. data/Guardfile +2 -0
  12. data/Rakefile +2 -0
  13. data/bin/gitlab-triage +1 -0
  14. data/gitlab-triage.gemspec +8 -8
  15. data/lib/gitlab/triage/action/base.rb +5 -3
  16. data/lib/gitlab/triage/action.rb +2 -0
  17. data/lib/gitlab/triage/api_query_builders/base_query_param_builder.rb +2 -0
  18. data/lib/gitlab/triage/api_query_builders/date_query_param_builder.rb +3 -1
  19. data/lib/gitlab/triage/api_query_builders/multi_query_param_builder.rb +2 -0
  20. data/lib/gitlab/triage/api_query_builders/single_query_param_builder.rb +2 -0
  21. data/lib/gitlab/triage/command_builders/base_command_builder.rb +2 -0
  22. data/lib/gitlab/triage/command_builders/cc_command_builder.rb +2 -0
  23. data/lib/gitlab/triage/command_builders/comment_command_builder.rb +2 -0
  24. data/lib/gitlab/triage/command_builders/label_command_builder.rb +3 -1
  25. data/lib/gitlab/triage/command_builders/move_command_builder.rb +2 -0
  26. data/lib/gitlab/triage/command_builders/remove_label_command_builder.rb +2 -0
  27. data/lib/gitlab/triage/command_builders/status_command_builder.rb +2 -0
  28. data/lib/gitlab/triage/command_builders/text_content_builder.rb +2 -2
  29. data/lib/gitlab/triage/engine.rb +8 -3
  30. data/lib/gitlab/triage/errors/network.rb +2 -0
  31. data/lib/gitlab/triage/errors.rb +2 -0
  32. data/lib/gitlab/triage/expand_condition/expansion.rb +2 -0
  33. data/lib/gitlab/triage/expand_condition/list.rb +3 -1
  34. data/lib/gitlab/triage/expand_condition/sequence.rb +3 -1
  35. data/lib/gitlab/triage/expand_condition.rb +2 -0
  36. data/lib/gitlab/triage/filters/assignee_member_conditions_filter.rb +2 -0
  37. data/lib/gitlab/triage/filters/author_member_conditions_filter.rb +2 -0
  38. data/lib/gitlab/triage/filters/base_conditions_filter.rb +3 -3
  39. data/lib/gitlab/triage/filters/branch_date_filter.rb +2 -0
  40. data/lib/gitlab/triage/filters/branch_protected_filter.rb +2 -0
  41. data/lib/gitlab/triage/filters/discussions_conditions_filter.rb +2 -0
  42. data/lib/gitlab/triage/filters/issue_date_conditions_filter.rb +2 -0
  43. data/lib/gitlab/triage/filters/member_conditions_filter.rb +4 -4
  44. data/lib/gitlab/triage/filters/merge_request_date_conditions_filter.rb +2 -0
  45. data/lib/gitlab/triage/filters/name_conditions_filter.rb +2 -0
  46. data/lib/gitlab/triage/filters/no_additional_labels_conditions_filter.rb +2 -0
  47. data/lib/gitlab/triage/filters/ruby_conditions_filter.rb +2 -0
  48. data/lib/gitlab/triage/filters/votes_conditions_filter.rb +2 -0
  49. data/lib/gitlab/triage/graphql_network.rb +2 -0
  50. data/lib/gitlab/triage/graphql_queries/query_builder.rb +5 -3
  51. data/lib/gitlab/triage/graphql_queries/query_param_builders/array_param_builder.rb +2 -0
  52. data/lib/gitlab/triage/graphql_queries/query_param_builders/base_param_builder.rb +2 -0
  53. data/lib/gitlab/triage/graphql_queries/query_param_builders/date_param_builder.rb +3 -1
  54. data/lib/gitlab/triage/limiters/base_limiter.rb +2 -0
  55. data/lib/gitlab/triage/limiters/date_field_limiter.rb +2 -0
  56. data/lib/gitlab/triage/network.rb +2 -0
  57. data/lib/gitlab/triage/network_adapters/base_adapter.rb +2 -0
  58. data/lib/gitlab/triage/network_adapters/graphql_adapter.rb +2 -0
  59. data/lib/gitlab/triage/network_adapters/httparty_adapter.rb +2 -0
  60. data/lib/gitlab/triage/network_adapters/test_adapter.rb +3 -1
  61. data/lib/gitlab/triage/option_parser.rb +2 -0
  62. data/lib/gitlab/triage/options.rb +2 -0
  63. data/lib/gitlab/triage/param_builders/date_param_builder.rb +2 -0
  64. data/lib/gitlab/triage/policies/base_policy.rb +1 -1
  65. data/lib/gitlab/triage/resource/base.rb +3 -0
  66. data/lib/gitlab/triage/resource/instance_version.rb +2 -0
  67. data/lib/gitlab/triage/resource/milestone.rb +2 -0
  68. data/lib/gitlab/triage/rest_api_network.rb +2 -0
  69. data/lib/gitlab/triage/retryable.rb +2 -0
  70. data/lib/gitlab/triage/ui.rb +2 -0
  71. data/lib/gitlab/triage/url_builders/url_builder.rb +2 -0
  72. data/lib/gitlab/triage/utils.rb +2 -0
  73. data/lib/gitlab/triage/validators/limiter_validator.rb +3 -3
  74. data/lib/gitlab/triage/validators/params_validator.rb +3 -3
  75. data/lib/gitlab/triage/version.rb +1 -1
  76. data/lib/gitlab/triage.rb +2 -0
  77. metadata +16 -27
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/all'
2
4
  require 'net/protocol'
3
5
  require 'globalid'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'query_param_builders/base_param_builder'
2
4
  require_relative 'query_param_builders/date_param_builder'
3
5
  require_relative 'query_param_builders/array_param_builder'
@@ -43,7 +45,7 @@ module Gitlab
43
45
 
44
46
  attr_reader :source_type, :resource_type, :conditions, :graphql_only, :resource_declarations
45
47
 
46
- BASE_QUERY = <<~GRAPHQL.freeze
48
+ BASE_QUERY = <<~GRAPHQL
47
49
  query(%{resource_declarations}) {
48
50
  %{source_type}(fullPath: $source) {
49
51
  id
@@ -149,9 +151,9 @@ module Gitlab
149
151
  args =
150
152
  case condition.to_s
151
153
  when 'forbidden_labels'
152
- ['labels', condition_params, { negated: true }]
154
+ ['labelName', condition_params, { negated: true }]
153
155
  when 'labels'
154
- ['labels', condition_params, {}]
156
+ ['labelName', condition_params, {}]
155
157
  else
156
158
  return nil
157
159
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../../utils'
2
4
  require_relative 'base_param_builder'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../../utils'
2
4
 
3
5
  module Gitlab
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../../param_builders/date_param_builder'
2
4
  require_relative 'base_param_builder'
3
5
 
@@ -17,7 +19,7 @@ module Gitlab
17
19
  private
18
20
 
19
21
  def build_param_name(condition_hash)
20
- prefix = condition_hash[:attribute].to_s.sub(/_at\z/, '')
22
+ prefix = condition_hash[:attribute].to_s.delete_suffix('_at')
21
23
  suffix =
22
24
  case condition_hash[:condition].to_sym
23
25
  when :older_than
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/all'
2
4
 
3
5
  module Gitlab
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base_limiter'
2
4
  require_relative '../validators/limiter_validator'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'graphql_network'
2
4
  require_relative 'rest_api_network'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../version'
2
4
 
3
5
  module Gitlab
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'graphql/client'
2
4
  require 'graphql/client/http'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'httparty'
2
4
 
3
5
  require_relative 'base_adapter'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'httparty'
2
4
 
3
5
  require_relative 'base_adapter'
@@ -26,7 +28,7 @@ module Gitlab
26
28
  }
27
29
  end
28
30
 
29
- def post(token, url, body)
31
+ def post(_token, _url, _body)
30
32
  {
31
33
  results: {},
32
34
  ratelimit_remaining: 600,
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # frozen_string_literal
2
4
 
3
5
  require 'optparse'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Gitlab
2
4
  module Triage
3
5
  Options = Struct.new(
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../validators/params_validator'
2
4
 
3
5
  module Gitlab
@@ -21,7 +21,7 @@ module Gitlab
21
21
  end
22
22
 
23
23
  def name
24
- @name ||= (policy_spec[:name] || "#{type}-#{object_id}")
24
+ @name ||= policy_spec[:name] || "#{type}-#{object_id}"
25
25
  end
26
26
 
27
27
  def source
@@ -9,6 +9,7 @@ module Gitlab
9
9
  attr_reader :resource, :parent
10
10
 
11
11
  CONFIDENTIAL_TEXT = '(confidential)'
12
+ SOURCE_ERROR_MSG = 'This resource is missing project_id and group_id and unable to parse source.'
12
13
 
13
14
  def self.define_field(name, &block)
14
15
  define_method(name) do
@@ -94,6 +95,8 @@ module Gitlab
94
95
  'projects'
95
96
  elsif resource[:group_id]
96
97
  'groups'
98
+ else
99
+ raise ArgumentError, SOURCE_ERROR_MSG
97
100
  end
98
101
  end
99
102
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
 
3
5
  module Gitlab
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'base'
2
4
  require 'date'
3
5
  require 'time'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/all'
2
4
  require 'net/protocol'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Gitlab
2
4
  module Triage
3
5
  module Retryable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Gitlab
2
4
  module Triage
3
5
  class UI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: false
2
+
1
3
  module Gitlab
2
4
  module Triage
3
5
  module UrlBuilders
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Gitlab
2
4
  module Triage
3
5
  module Utils
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'params_validator'
2
4
 
3
5
  module Gitlab
@@ -6,9 +8,7 @@ module Gitlab
6
8
  private
7
9
 
8
10
  def params_limiter_names
9
- @parameter_definitions.map do |param|
10
- param[:name]
11
- end
11
+ @parameter_definitions.pluck(:name)
12
12
  end
13
13
 
14
14
  def validate_required_parameters(value)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Gitlab
2
4
  module Triage
3
5
  class ParamsValidator
@@ -33,9 +35,7 @@ module Gitlab
33
35
 
34
36
  def validate_parameter_content(value)
35
37
  @parameter_definitions.each do |param|
36
- if param[:values]
37
- raise InvalidParameter, "#{param[:name]} must be one of #{param[:values].join(',')}" unless param[:values].include?(value[param[:name]])
38
- end
38
+ raise InvalidParameter, "#{param[:name]} must be one of #{param[:values].join(',')}" if param[:values]&.exclude?(value[param[:name]])
39
39
  end
40
40
  end
41
41
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gitlab
4
4
  module Triage
5
- VERSION = '1.42.2'
5
+ VERSION = '1.43.1'
6
6
  end
7
7
  end
data/lib/gitlab/triage.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'gitlab/triage/version'
2
4
 
3
5
  module Gitlab
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.42.2
4
+ version: 1.43.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-12 00:00:00.000000000 Z
11
+ date: 2024-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '0.17'
81
+ version: 0.20.0
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '0.17'
88
+ version: 0.20.0
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: gitlab-dangerfiles
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -106,14 +106,14 @@ dependencies:
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '10.0'
109
+ version: '12.0'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '10.0'
116
+ version: '12.0'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: guard-rspec
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -148,14 +148,14 @@ dependencies:
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '10.2'
151
+ version: '13.2'
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '10.2'
158
+ version: '13.2'
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: rspec
161
161
  requirement: !ruby/object:Gem::Requirement
@@ -170,20 +170,6 @@ dependencies:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
172
  version: '3.8'
173
- - !ruby/object:Gem::Dependency
174
- name: rubocop-rails
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - "!="
178
- - !ruby/object:Gem::Version
179
- version: 2.21.2
180
- type: :development
181
- prerelease: false
182
- version_requirements: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - "!="
185
- - !ruby/object:Gem::Version
186
- version: 2.21.2
187
173
  - !ruby/object:Gem::Dependency
188
174
  name: webmock
189
175
  requirement: !ruby/object:Gem::Requirement
@@ -212,7 +198,7 @@ dependencies:
212
198
  - - ">="
213
199
  - !ruby/object:Gem::Version
214
200
  version: '0'
215
- description:
201
+ description:
216
202
  email:
217
203
  - gitlab_rubygems@gitlab.com
218
204
  executables:
@@ -221,6 +207,7 @@ extensions: []
221
207
  extra_rdoc_files: []
222
208
  files:
223
209
  - ".codeclimate.yml"
210
+ - ".git-blame-ignore-revs"
224
211
  - ".gitignore"
225
212
  - ".gitlab-ci.yml"
226
213
  - ".gitlab/CODEOWNERS"
@@ -236,6 +223,7 @@ files:
236
223
  - CONTRIBUTING.md
237
224
  - Dangerfile
238
225
  - Gemfile
226
+ - Gemfile.lock
239
227
  - Guardfile
240
228
  - LICENSE.md
241
229
  - README.md
@@ -332,10 +320,11 @@ licenses:
332
320
  - MIT
333
321
  metadata:
334
322
  allowed_push_host: https://rubygems.org
323
+ rubygems_mfa_required: 'false'
335
324
  homepage_uri: https://gitlab.com/gitlab-org/ruby/gems/gitlab-triage
336
325
  source_code_uri: https://gitlab.com/gitlab-org/ruby/gems/gitlab-triage
337
326
  changelog_uri: https://gitlab.com/gitlab-org/ruby/gems/gitlab-triage/-/releases
338
- post_install_message:
327
+ post_install_message:
339
328
  rdoc_options: []
340
329
  require_paths:
341
330
  - lib
@@ -350,8 +339,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
350
339
  - !ruby/object:Gem::Version
351
340
  version: '0'
352
341
  requirements: []
353
- rubygems_version: 3.1.6
354
- signing_key:
342
+ rubygems_version: 3.3.27
343
+ signing_key:
355
344
  specification_version: 4
356
345
  summary: GitLab triage automation project.
357
346
  test_files: []