github / github/gh-gei

Validate GHES version when starting a migration with GHES as source

Open
#743 2 comments 1 reaction 0 assignees View on GitHub
task
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.