Skip to content

Draft condition produces ArgumentError

Hi,

we're happily using Gitlab Triage in our project and, presumably, found a bug:

When we add the draft condition to our .triage-policies.yml we get the following error:

/tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/graphql_queries/query_param_builders/base_param_builder.rb:10:in `initialize': wrong number of arguments (given 3, expected 2) (ArgumentError)
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/graphql_queries/query_builder.rb:127:in `new'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/graphql_queries/query_builder.rb:127:in `merge_requests_resource_query'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/graphql_queries/query_builder.rb:90:in `block in resource_query'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/graphql_queries/query_builder.rb:80:in `each'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/graphql_queries/query_builder.rb:80:in `resource_query'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/graphql_queries/query_builder.rb:28:in `query'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/graphql_network.rb:27:in `query'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/engine.rb:291:in `block in resources_for_rule'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/expand_condition.rb:13:in `each'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/expand_condition.rb:13:in `perform'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/engine.rb:278:in `resources_for_rule'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/engine.rb:182:in `block in process_rules'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/engine.rb:181:in `each'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/engine.rb:181:in `process_rules'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/engine.rb:76:in `block in perform'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/engine.rb:67:in `each'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/lib/gitlab/triage/engine.rb:67:in `perform'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/bin/gitlab-triage:18:in `block in <top (required)>'
	from /usr/share/ruby/set.rb:344:in `each_key'
	from /usr/share/ruby/set.rb:344:in `each'
	from /tmp/.local/share/gem/ruby/gems/gitlab-triage-1.23.1/bin/gitlab-triage:11:in `<top (required)>'
	from /tmp/bin/gitlab-triage:23:in `load'
	from /tmp/bin/gitlab-triage:23:in `<main>'

Here's our Policies-File:

resource_rules:
  merge_requests:
    rules:
      - name:
        conditions:
          state: opened
          draft: false
          date:
            attribute: created_at
            condition: older_than
            interval_type: days
            interval: 2
          discussions:
            attribute: threads
            condition: less_than
            threshold: 1
        actions:
          comment: |
            {{author}} please get yourself some feedback!

If I remove the draft-condition everything works fine and no error is produces.