109

I'd like to contact a developer on GitHub to see how I can help out, etc. I don't see the option anywhere.

0

12 Answers 12

49

You can contact a GitHub user by going to her/his user page (https://github.com/[USERNAME]) and on the left-hand side, you should see her/his email address if they have provided one. Also, make sure you are currently logged in, otherwise, it might not be visible to you).

0
56

Check out the repository and look for their email address in the Git log.

0
35

This method worked in August 2022

  1. Copy and paste the next line into your browser (feel free to bookmark it): https://api.github.com/users/xxxxxxx/events/public.
  2. Find the GitHub username for which you want the email: Replace the xxxxxxx in the URL with the person's GitHub username. Hit Enter.
  3. Press Ctrl+F and search for “email”.
5
  • 2
    Not working. That page just shows an empty array. ([ ])
    – felwithe
    Feb 4, 2019 at 14:46
  • 3
    FYI unfortunately this only works if the user has made their email public. If they have not then the other options posted here are worth a shot.
    – chainwork
    Mar 26, 2019 at 0:09
  • This api.github.com/users/xxxxxxx is working link! Jul 6, 2020 at 18:34
  • Yeah the email is @users.noreply.github.com so dead end.
    – user643011
    Nov 27, 2020 at 11:12
  • @felwithe you might have to click on "Raw Data" to see the texts in the arrays
    – Laenka-Oss
    Sep 27, 2022 at 16:25
24

I don't know about sending them a message directly, but if you post a comment in a discussion that they are involved in, then it will appear as a notification in their github account.

0
20

If users are active on GitHub, you might be able to catch their email address from a commit log or open up an issue on a project they are working on.

If they are inactive however and don't have a visible email or repository there doesn't seem to be a direct way. I came up with this workaround that might be worth a try in extreme cases:

  • create an empty repository
  • add a README.md to it containing your message and include a reply email
  • go to the Settings of that repository
  • send the repository via Transfer Ownership to the user in question

This should produce a notification for the user and allow him to contact you.

In cases when a user account is completely dead and you just want to get rid of it so that you can use the name for your own projects, you can also contact support, they will remove dead accounts:

https://help.github.com/articles/name-squatting-policy/

0
9

I don't know how long this has been in place, but now you can add @username message_content in a discussion and that user will be notified.

4
  • Could you say a bit more about where in the interface this can be done? Jun 20, 2013 at 11:10
  • Probably any where you enter "comments" e.g. on an issue.
    – Josh M.
    Jun 20, 2013 at 14:23
  • 1
    Just write "@user ping" in any of issue comments Jul 26, 2013 at 12:05
  • "discussion" == Issue or Pull Request or any comment on a commit, etc.
    – chharvey
    Jul 28, 2016 at 14:49
9

This question has an answer at Stack Overflow by nulltoken.

Although GitHub removed the private messaging feature, there's still an alternative.

GitHub host git repositories. If the user you're willing to communicate with has ever committed some code, there are good chances you may reach your goal. Indeed, within each commit is stored some information about the author of the change or the one who accepted it.

Provided you're really dying to exchange with user user_test

  • Display the public activity page of the user:
    https://github.com/user_test?tab=activity
  • Search for an event stating "user_test pushed to [branch] at [repository]". There are usually good chances, he may have pushed one of his own commits. Ensure this is the case by clicking on the "View comparison..." link and make sure the user is listed as one of the
    committers.
  • Clone on your local machine the repository he pushed to: git clone https://github.com/..../repository.git
  • Go to that directory cd repository
  • Checkout the branch he pushed to: git checkout [branch]
  • Display the latest commits: git log -50

As a committer/author, an email should be displayed along with the commit data.

Note: Every warning related to unsolicited email should apply there. Do not spam.

Just code your own if you are better at it and have a fix or a change. GitHub is open source. Code on GitHub is free to change obviously.

0
4

The method that best worked for me does not require to clone the repo.

I found the answer in this SO post, who took it from Chris Herron @ Sourcecon:

  • Browse someone's commit history (Click commits which is next to branch to see the whole commit history)

  • Click the commit that with the person's username because there might be so many of them

  • Then you should see the web address has a hash concatenated to the URL. Add .patch to this commit URL

  • You will probably see the person's email address there

Example: https://github.com/[username]/[reponame]/commit/[hash].patch

1
2

This is the current URL to see user events including email (January 2021): https://api.github.com/users/username/events (search the page for "email")

or just https://api.github.com/users/username if they made their mail public on their profile.

This is an update on Porcupine's answer: https://webapps.stackexchange.com/a/107500/261901 (the /public version doesn't work anymore)

I would just write a comment below it, but i don't have the 50 reputation necessary.

2

For a command-line adventure using a script I've modified:

  1. Visit https://github.com/DaveJarvis/github-email
  2. Follow the instructions to install into $HOME/bin.
  3. Set your GitHub token.
  4. Open a new terminal.
  5. Run: github-email username

The script automates using GitHub's HTTP REST API to find email addresses associated with Git commit histories. The script will also look for the user's contact information from a few different sources. You could perform all the steps the script takes from within a web browser.

The key line from the script is to retrieve all commits against a particular repository (owned by the user whose email address is desired):

# Find all commits against the repository
$CMD -H "$PARAM_GITHUB_TOKEN" "$API_GITHUB/repos/$ARG_USERNAME/$ARG_REPOSITORY/commits" \
  | jq -r ".[] | .commit | .author | $NAME_FORMAT" 2>/dev/null \
  | sort \
  | uniq
0
0

Open any commit he made in any repository. And you will some info like this

username committed on Dec 18, 2019, 1 parent 69b389d commit 4b87ccc patch diff

Where patch and diff are links, click the patch link and you will see commit info like this

From 4b87ccca84710991f0876d0c051e5e0ff223ac99 Mon Sep 17 00:00:00 2001
From: FirstName LastName <[email protected]>
Date: Tue, 17 Dec 2019 22:51:16 -0500
Subject: commit name

From here you can see his email address

-1

You can fetch Github API with a form too, here is an example: https://roneo.org/en/app/github-user-email-finder/

Note the limitations:

  • only the last 6 months of activity are considered
  • false positives may appear as authors of merged PR are added to the list
0

Not the answer you're looking for? Browse other questions tagged or ask your own question.