Add CAPTCHA support to REST API
Summary
This issue represents the work to support solving CAPTCHAS via the REST API, as we already support it via the GraphQL API.
This is important to enable third-party tools to integrate with GitLab installations which have CAPTCHA enabled.
See Consistently support CAPTCHA via GraphQL and REST API for details.
Improvements
CAPTCHAs can now be solved via the REST API, allowing third-party integrations which use the REST API to support CAPTCHA for GitLab installations which have CAPTCHA enabled (including gitlab.com SaaS)
Risks
There is some risk because the API is being changed, but existing and new test coverage should mitigate that risk.
Involved components
The following REST API endpoints:
- Issue create
- Issue update
- Snippet create (personal and project)
- Snippet update (personal and project)
Testing
See the Testing Notes Section in the CAPTCHA epic for examples and detailed instructions on how to do manual exploratory testing of spam and CAPTCHA via the web UI, REST API, and GraphQL API.