Add file upload API endpoints for groups
What does this MR do and why?
Adds REST API and GraphQL support for uploading files to groups, enabling programmatic image uploads for use in epics and group wikis.
Previously, file uploads to groups could only be done through the web UI. This was a gap in the API, as project uploads have been available via API for a long time.
REST API endpoints added:
POST /groups/:id/uploads/authorize- Workhorse pre-authorizationPOST /groups/:id/uploads- File upload
GraphQL mutation added:
uploadCreate- Now supports bothprojectPathandgroupPatharguments
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
How to set up and validate locally
# Upload a file to a group via REST API
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--form "file=@/path/to/image.png" \
"http://gdk.test:3000/api/v4/groups/<group_id>/uploads"
# The response includes markdown you can embed in an epic:
# {"id":1,"alt":"image","url":"/uploads/.../image.png","markdown":""}