Validate GHES version when starting a migration with GHES as source
- Dominant language
- C#
- Stars
- 478
- Forks
- 146
- Avg merge
- 7d 21h
- Merged PRs (30d)
- 2
Description
`gh gei` only supports migrations from GitHub Enterprise Server (GHES) where the ES instance is running at least v3.4.1.
If you try to run a migration from an unsupported version, this leads to obscure error messages that aren't obvious to the user. From reading through support tickets, this is happening reasonably frequently.
In the CLI, we should do a pre-flight check before running a migration to check the version of the GHES instance we're connecting to.
We can do this by making an unauthenticated request to `GET /api/v3/meta`, which returns a response like this:
```
HTTP/2 200
{
"verifiable_password_authentication": true,
"installed_version": "3.7.1"
}
```
Contributor guide
Research direction
Start at the CLI migration startup path and the code that connects to the GHES source. Use an unauthenticated GET request to /api/v3/meta to read installed_version and compare it with v3.4.1 before migration begins. Done means unsupported versions produce a clear error instead of an obscure migration failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, github
- Domain
- api, cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100