The method Repositories.UpdateRulesetClearBypassActor constructs a rulesetClearBypassActors instance with the BypassActors field left at its zero value. In Go, the zero value for a slice (such as []*BypassActor) is nil, not an empty slice. When serialized, a nil slice becomes null in JSON, which violates the GitHub API’s requirement for bypass_actors to be an array. As a result, the API returns a 422 error:
PUT https://api.github.com/repos/<organization>/<repo>/rulesets/<ruleset_id>: 422 Invalid request.
Invalid property /bypass_actors: data cannot be null. []
Here's the current code :
|
rsClearBypassActor := rulesetClearBypassActors{} |
To comply with the API’s expectations, we can initialize BypassActors as an empty slice so it serializes to [] instead of null:
rsClearBypassActor := rulesetClearBypassActors{
BypassActors: []*BypassActor{},
}