Possible API bug in /projects for `feature_flags`

api

#1

Hi all,

I maintain a Golang SDK for the CircleCI API and it was recently brought to my attention via github issue that the feature_flags key of the project JSON objects returned when querying /projects has one feature that can have a value of null where my SDK assumes a boolean. Example subset of JSON response:

 "feature_flags" : {
   "trusty-beta" : true,
   "osx" : false,
   "set-github-status" : true,
   "build-prs-only" : false,
   "fleet" : null,
   "build-fork-prs" : false,
   "autocancel-builds" : false,
   "junit" : true
 },

You can see here that fleet is set to null. I can modify my SDK to support null values here by using a pointer to a boolean rather than a boolean, but I wanted to clarify if this was expected behavior first as it adds additional burden to the developer using the SDK to handle when the value is nil and given that I’ve only witnessed it being null in one place leads me to believe that it might be a bug. Are null and false semantically different for feature_flags?

Thank you!
-Jesse


#2

Hi Jesse,

Caveat - I’m a PM here, not an Engineer.

You mentioned you classify it as a boolean. It’s a string from our end.
“fleet” is used to determine where your build builds on the Precise or Trusty image, but the use of that field may change with image strategy.

Thanks!
RK


#3

Aha! I see now, thank you for clarifying.


#4