TypeError in Gitlab Triage
Minimal Viable Reproduction Project
- https://gitlab.com/zerotea-h1/reproduction-gitlab-triage
- https://gitlab.com/zerotea-h1/reproduction-gitlab-triage/-/jobs/5182024918
Bug
Given this policy file:
resource_rules:
issues:
rules:
- name: Name
conditions:
state: opened
discussions:
attribute: threads
condition: less_than
threshold: 1
With at least one issue
You will run in this error:
$ gitlab-triage --token $CI_BOT_TOKEN --source-id 50778621 --policies-file policy.yml
/usr/local/bundle/gems/graphql-client-0.18.0/lib/graphql/client/query_typename.rb:28:in `add_typename': undefined method `[]' for nil:NilClass (NoMethodError)
type = @types[node]
^^^^^^
from /usr/local/bundle/gems/graphql-client-0.18.0/lib/graphql/client/query_typename.rb:48:in `on_operation_definition'
from /usr/local/bundle/gems/graphql-2.1.0/lib/graphql/language/visitor.rb:95:in `on_operation_definition_with_modifications'
from /usr/local/bundle/gems/graphql-2.1.0/lib/graphql/language/visitor.rb:121:in `public_send'
from /usr/local/bundle/gems/graphql-2.1.0/lib/graphql/language/visitor.rb:121:in `block in on_document_children'
from /usr/local/bundle/gems/graphql-2.1.0/lib/graphql/language/visitor.rb:119:in `each'
from /usr/local/bundle/gems/graphql-2.1.0/lib/graphql/language/visitor.rb:119:in `on_document_children'
from /usr/local/bundle/gems/graphql-2.1.0/lib/graphql/language/visitor.rb:84:in `on_document'
from /usr/local/bundle/gems/graphql-2.1.0/lib/graphql/language/visitor.rb:95:in `on_document_with_modifications'
from /usr/local/bundle/gems/graphql-2.1.0/lib/graphql/language/visitor.rb:53:in `public_send'
from /usr/local/bundle/gems/graphql-2.1.0/lib/graphql/language/visitor.rb:53:in `visit'
from /usr/local/bundle/gems/graphql-client-0.18.0/lib/graphql/client/query_typename.rb:62:in `insert_typename_fields'
from /usr/local/bundle/gems/graphql-client-0.18.0/lib/graphql/client.rb:189:in `parse'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/network_adapters/graphql_adapter.rb:38:in `parse'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/graphql_network.rb:27:in `query'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/engine.rb:392:in `fetch_resources'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/engine.rb:350:in `block in resources_for_rule'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/expand_condition.rb:13:in `each'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/expand_condition.rb:13:in `perform'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/engine.rb:346:in `resources_for_rule'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/engine.rb:250:in `block in process_rules'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/engine.rb:249:in `each'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/engine.rb:249:in `process_rules'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/engine.rb:82:in `block in perform'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/engine.rb:73:in `each'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/lib/gitlab/triage/engine.rb:73:in `perform'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/bin/gitlab-triage:18:in `block in <top (required)>'
from /usr/local/lib/ruby/3.1.0/set.rb:511:in `each_key'
from /usr/local/lib/ruby/3.1.0/set.rb:511:in `each'
from /usr/local/bundle/gems/gitlab-triage-1.41.0/bin/gitlab-triage:11:in `<top (required)>'
from /usr/local/bundle/bin/gitlab-triage:25:in `load'
from /usr/local/bundle/bin/gitlab-triage:25:in `<main>'
Request
Please publish a new version when this is fixed, as it is blocking us and we'd rather not rely on a dependency on the latest master.
Edited by Jos Ahrens