Fix diagnose report's Push API key transmission #474
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The problem
The diagnose report was transmitted without the Push API key as the
api_key
query parameter. This caused the reports to not be properlylinked to their parent organizations on AppSignal.com, making it more
difficult to find them back for users.
It also caused the issues described in this server side issue:
https://github.com/appsignal/appsignal-server/issues/7710
The solution
The request to submit the report now includes the
api_key
queryparameter.
I've moved the report transmission to the DiagnoseTool, because the
AppSignal config is available there, and I didn't want to initialize it
again in the Diagnose CLI class or move it to the Diagnose CLI class, or
fetch it from the Diagnose Tool's generated report. There's no big
design idea behind it, this was just easiest.
I've implemented error handling when the server returned an error code,
because otherwise it would print an ugly backtrace with where the JSON
parsing failed.
This behavior's tests should be implemented in the diagnose tests
submodule when we test the transmitted report as well.