Raise UnexpectedResponse error when project or group not found
What does this MR do and why?
Raises UnexpectedResponse
when the response is either 404 Project Not Found
or 404 Group Not Found
.
Closes Debugging info shows "1 resources after filteri... (#322 - closed)
Validation
I have a test repo with a incident_created
policy. Tested with the following scenarios, note the invalid token:
Before
cmd: gitlab-triage --token I_AM_INVALID --source-id 123 --source projects -f policies/incident_created.yml
******************************************************
Executing policies from policies/incident_created.yml.
******************************************************
===============================
Triaging the `123` project
===============================
---------------------------------------
Processing summaries & rules for issues
---------------------------------------
-----------------------------------------------------------------------
Gathering resources for rule: **Post message when incident is created**
-----------------------------------------------------------------------
.
* Found 1 resources...
* Filtering resources...
* Total after filtering: 1 resources
* Limiting resources...
* Total after limiting: 1 resources
After
- cmd:
gitlab-triage --token I_AM_INVALID --source-id 123 --source projects -f policies/incident_created.yml
Click to expand
******************************************************
Executing policies from policies/incident_created.yml.
******************************************************
===============================
Triaging the `123` project
===============================
---------------------------------------
Processing summaries & rules for issues
---------------------------------------
-----------------------------------------------------------------------
Gathering resources for rule: **Post message when incident is created**
-----------------------------------------------------------------------
.Traceback (most recent call last):
19: from /Users/jennli/.asdf/installs/ruby/2.7.7/bin/gitlab-triage:23:in `<main>'
18: from /Users/jennli/.asdf/installs/ruby/2.7.7/bin/gitlab-triage:23:in `load'
17: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/bin/gitlab-triage:11:in `<top (required)>'
16: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/2.7.0/set.rb:328:in `each'
15: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/2.7.0/set.rb:328:in `each_key'
14: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/bin/gitlab-triage:18:in `block in <top (required)>'
13: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:73:in `perform'
12: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:73:in `each'
11: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:82:in `block in perform'
10: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:249:in `process_rules'
9: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:249:in `each'
8: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:250:in `block in process_rules'
7: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:346:in `resources_for_rule'
6: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/expand_condition.rb:13:in `perform'
5: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/expand_condition.rb:13:in `each'
4: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:351:in `block in resources_for_rule'
3: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:389:in `fetch_resources'
2: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/network.rb:8:in `query_api'
1: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/rest_api_network.rb:48:in `query_api'
/Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/rest_api_network.rb:117:in `raise_unexpected_response': Unexpected response: {"message"=>"404 Project Not Found"} (Gitlab::Triage::Errors::Network::UnexpectedResponse)
- cmd:
gitlab-triage --token I_AM_INVALID --source-id 123 --source groups -f policies/incident_created.yml
Click to expand
******************************************************
Executing policies from policies/incident_created.yml.
******************************************************
=============================
Triaging the `123` group
=============================
---------------------------------------
Processing summaries & rules for issues
---------------------------------------
-----------------------------------------------------------------------
Gathering resources for rule: **Post message when incident is created**
-----------------------------------------------------------------------
.Traceback (most recent call last):
19: from /Users/jennli/.asdf/installs/ruby/2.7.7/bin/gitlab-triage:23:in `<main>'
18: from /Users/jennli/.asdf/installs/ruby/2.7.7/bin/gitlab-triage:23:in `load'
17: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/bin/gitlab-triage:11:in `<top (required)>'
16: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/2.7.0/set.rb:328:in `each'
15: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/2.7.0/set.rb:328:in `each_key'
14: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/bin/gitlab-triage:18:in `block in <top (required)>'
13: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:73:in `perform'
12: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:73:in `each'
11: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:82:in `block in perform'
10: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:249:in `process_rules'
9: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:249:in `each'
8: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:250:in `block in process_rules'
7: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:346:in `resources_for_rule'
6: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/expand_condition.rb:13:in `perform'
5: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/expand_condition.rb:13:in `each'
4: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:351:in `block in resources_for_rule'
3: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/engine.rb:389:in `fetch_resources'
2: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/network.rb:8:in `query_api'
1: from /Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/rest_api_network.rb:48:in `query_api'
/Users/jennli/.asdf/installs/ruby/2.7.7/lib/ruby/gems/2.7.0/gems/gitlab-triage-1.40.0/lib/gitlab/triage/rest_api_network.rb:117:in `raise_unexpected_response': Unexpected response: {"message"=>"404 Group Not Found"} (Gitlab::Triage::Errors::Network::UnexpectedResponse)
Edited by Jennifer Li