Honestly there were a lot of them and I can’t remember half of it now.
I did open and then close this issue where API was giving inconsistent results depending on where it was called from. I imagine it may have been related to how strings are handed in the commands, but by then had experienced so many issues with workflows that it was much easier to remove them and go back to a more reliable if more verbose setup.
The API for triggering builds was one of the more frustrating parts. The documented method does not function. One annoyance there is “Project API keys” are not accepted as authentication only “Personal API keys” and this is not documented, so first exposure is a “Permission denied” error which isn’t obvious in it’s cause.
Over here I see people using another endpoint to trigger builds, which for me resulted in error messages calling for settings which had already been enabled. Also note how we’re told to call API v1.1 to access features for 2.1. So inconsistent and without explanation.
Then there is this with incomplete capabilities on 2.1. Why release an minor API version if it is not consistent with the major version?
API version 2.1? What is this whole incomplete patch all about?
Enable Build Processing? Huh?
Then there is this extra version number oddity:
Then there was something about contexts not working yet for workflows.
Seems it is all half complete and without a clear plan for endpoints. Shutting off v1 while v2 is in this state seems less than robust for a CI platform which has to be relied on for production systems.
These decisions greatly lessen my confidence in the system.
I recommend you take a positive frame of mind when working with hosted CI of any kind. From time to time I see disgruntled users here who post in the hope that things don’t work, so they can be proved right in their assertion that the platform is not up to scratch. And, yet, there are thousands of happy customers on the platform, who have all taken a proactive approach to making it work, even if there was some workaround they needed to do.
I can’t promise Circle is right for your use case, but I am quite persuaded that the demeanour of the implementer make an substantial difference to the outcome.