-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Unable to create Repo Ruleset if RefName fields are empty #2809
Copy link
Copy link
Closed
Description
I encountered an issue while using the go-github library. When creating a GitHub Ruleset, I realized that two fields were inadvertently omitted from the request payload. As a result, the API call fails to create the ruleset.
Expected Behavior:
The github.Ruleset struct should include all the necessary fields to create a GitHub Ruleset, ensuring that no required fields are omitted, allow users to create ruleset successfully without encountering any errors.
Steps to Reproduce:
Both conditions.ref_name.include and conditions.ref_name.exclude fields are required even when empty.
curl -L -X POST "https://api.github.com/repos/ORG/REPO/rulesets" \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
-H "content-type: application/json" \
-d '{
"name": "NAME",
"target": "branch",
"enforcement": "active",
"bypass_mode": "none",
"conditions": {
"ref_name": {
"include": ["refs/heads/main"]
}
},
"rules": []
}'Cause response:
{
"message": "Validation Failed",
"errors": [
"Invalid target patterns: ''"
],
"documentation_url": "https://docs.github.com/rest/repos/rules#create-repository-ruleset"
}Correct request
curl -L -X POST "https://api.github.com/repos/ORG/REPO/rulesets" \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
-H "content-type: application/json" \
-d '{
"name": "NAME",
"target": "branch",
"enforcement": "active",
"bypass_mode": "none",
"conditions": {
"ref_name": {
"include": ["refs/heads/main"],
"exclude": []
}
},
"rules": []
}'Additional Information:
- go-github library version: v53.1.1-0.20230617123624-6a57598c53ef (master)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels