Published on

How to change visibility in massive GitHub organizations like EpicGames?

Authors
  • avatar
    Name
    Aryan Ebrahimpour
    GitHub
    @avestura
  •   2 min read

There are some giant GitHub organizations like Epic Games that has over 364,000 members at the time of writing this post. Epic Games has a process of inviting people to their organization when users integrate their Github account with their Epic Games account. This will let people access Epic Games private repos and soruce codes, which is the reason why this organization has so many members.

Interestingly, GitHub's graphical web interface can't handle this much member for a single organization very well and can't operate properly for some actions, e.g. changing organization visibility to public or private for your account (in other words: displaying or hiding Epic Games's logo on your GitHub profile).

If you try to find and filter your account to modify it in the members section, the filter request times out and the server won't respond in time. It also can't display more than 50,000 members in the list so you most probabely can't find your account even if you try to change the page by modifying url and an alphabetical search.

However there is a simple trick to add yourself to the public members of the organization via GitHub's REST API and a PUT HTTP request:

  1. First create a personal access token
  2. Send this PUT request by replacing the parameters:
bash
curl -X PUT -H "Accept: application/vnd.github.v3+json" -u YOUR_GITHUB_USERNAME:PAT_TOKEN https://api.github.com/orgs/ORGANIZATION_NAME/public_members/YOUR_GITHUB_USERNAME

For example in my case it becomes:

bash
curl -X PUT -H "Accept: application/vnd.github.v3+json" -u avestura:ghp_lolnololnololnololno https://api.github.com/orgs/EpicGames/public_members/avestura

Reverting back to private

In that case just send the same request using a DELETE verb.