changelog: S50 §9 rulesets
Authored by
mfwolffe <wolffemf@dukes.jmu.edu>
- SHA
bc9d72d1244b7d513d7f8068c51d056ac7731d2c- Parents
-
7464170 - Tree
8221b29
bc9d72d
bc9d72d1244b7d513d7f8068c51d056ac7731d2c7464170
8221b29| Status | File | + | - |
|---|---|---|---|
| M |
CHANGELOG.md
|
15 | 0 |
CHANGELOG.mdmodified@@ -201,6 +201,21 @@ between minor releases. | ||
| 201 | 201 | `0069_user_gpg_subkeys.sql`, |
| 202 | 202 | `0070_commit_verification_cache.sql`. |
| 203 | 203 | - **Capability:** `gpg-keys` added to `/api/v1/meta`. |
| 204 | +- **REST: rulesets (S50 §9).** Three read-only endpoints | |
| 205 | + synthesizing GitHub's modern rulesets shape from shithub's | |
| 206 | + existing `branch_protection_rules` rows: | |
| 207 | + `GET /api/v1/repos/{o}/{r}/rulesets` (list), | |
| 208 | + `GET /api/v1/repos/{o}/{r}/rulesets/{id}` (single), | |
| 209 | + `GET /api/v1/repos/{o}/{r}/rules/branches/{branch}` (rules | |
| 210 | + applying to a branch — every matching pattern, not just the | |
| 211 | + longest-match the pre-receive enforcer uses). One protection | |
| 212 | + row maps to one ruleset; each configured field projects as a | |
| 213 | + typed rule (`pull_request`, `non_fast_forward`, `deletion`, | |
| 214 | + `required_signatures`, `required_status_checks`). Scope: | |
| 215 | + `repo:read`. Cross-repo lookups 404. Mutating rulesets via | |
| 216 | + REST is a future surface — for now use the web UI at | |
| 217 | + `Settings → Branches`. | |
| 218 | +- **Capability:** `rulesets` added to `/api/v1/meta`. | |
| 204 | 219 | - **REST: repo contents (S50 §12).** |
| 205 | 220 | `GET /api/v1/repos/{o}/{r}/contents/{path}[?ref=]` returns |
| 206 | 221 | either a directory listing (dirs first, then files |