google / google/go-github

Move compatibility for non github.com targets to `github.With<THING>` options

Aperta
#4,237 6 commenti 2 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Go
Stelle
11.3k
Fork
2.5k
Merge medio
1g 20h
PR unite (30g)
52

Descrizione

I propose that all compatibility functionality not required for the github.com target be removed from the default client setup and only be included via a `github.With` option. This (hopefully) would make the default client surface area simpler to understand. The justification for this is that you already need to use `github.WithEnterpriseURLs` to target non github.com. I propose the following changes to adopt this pattern, with the potential for other capabilities (such as enabling/disabling preview endpoints) to be added later.

- Default to the latest API version (`2026-03-10`)
- Functions that require a specific version now check against the client version and error if not valid
- Add `github.WithAPIVersion` to explicitly set a version
- Set at the client/service level
- Add `github.WithAdvancedServer` to enable GHAS support
- Better validation of inputs
- Support setting version
- Add compatibility accordingly
- Add `github.WithEnterpriseCloud` to enable GHEC support
- Better validation of inputs
- Deprecate `github.WithEnterpriseURLs`

I'd appreciate any feedback on this proposal.

cc: @gmlewis - @alexandear - @zyfy29 - @Not-Dhananjay-Mishra - @munlicode

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.