Show error details for failed artifact uploads
What does this MR do?
When the runner receives a 400 Bad Request when uploading CI artifacts, the user does not receive any feedback as to what was wrong with the upload.
We can fix this by parsing the API JSON response. If a message
exists,
show that since this is intended to be a human-readable message.
Why was this MR needed?
This will help the user understand what went wrong.
What's the best way to test this MR?
Use duplicate dotenv environment variables (see https://gitlab.com/jrreid/duplicate-dotenv-test)
What are the relevant issue numbers?
Relates to #28743 (closed)
Edited by Stan Hu