Linking your GitHub and w.org profiles

In the WordPress project, contributions are collected and compiled into the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ Credits APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. by WordPress.org usernames. Though contributions happen in many different ways using many different tools, connecting efforts back to an individual’s w.org profile is required to receive attribution for your efforts.

To ensure that you receive credit for any contributions submitted through GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/, you must link your GitHub and WordPress.org profiles. This includes contributions to GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/, using GitHub pull requests for code review, and contributing to feature plugins under the WordPress organization, such as the Performance plugin.

How to connect your accounts

WordPress.org uses an oAuth flow to grant a WordPress GitHub application read-only access to your GitHub account’s public information. This proves that you own both the GitHub account and the WordPress.org account and links the two accounts.

Top ↑

1. Log in to WordPress.org and edit profile

Click “link your GitHub account” to initiate the process.

Top ↑

2. Authorize WordPress.org Profiles application

Grant the WordPress Profiles GitHub application read-only access to your public information.

Top ↑

3. Verify Connection

Confirm your account is now connected.

Access can be revoked at any time on the Edit Profile screen on WordPress.org.

Top ↑

4. Add your WordPress.org Git email to your GitHub email list

Visit the email settings page on GitHub and add dotOrgUsername@git.wordpress.org as an email on your GitHub account.

This is not an actual email, but adding this alias will ensure your contributions appear on your GitHub profile. This is what you should see once you’ve added your w.org email.

Top ↑

How do I know if my accounts are connected?

There are a few other ways to check whether your accounts are connected.

Top ↑

Check your w.org profile

If you have connected your accounts, you’ll notice a “GitHub” field on your profile.

Top ↑

Check for a w.org redirect

When visiting https://profiles.wordpress.org/github:GHUSERNAME, redirect to the connected w.org profile for GHUSERNAME if there is a preexisting connection. There is no active connection if you’re redirected to a GitHub w.org profile.

Top ↑

Check against the w.org API

There’s also an available API to check whether a w.org profile has been connected to a GitHub account.

Top ↑

Example

This command will check whether the desrosj and nacin GitHub accounts are connected to w.org profiles.

curl https://profiles.wordpress.org/wp-json/wporg-github/v1/lookup/ --data 'github_user[]=desrosj&github_user[]=nacin' -s | jq

Top ↑

Results

When a connection is active, the slug and profile URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org will be returned. false is returned when no connection exists. The results are keyed by the GitHub usernames that were passed.

{
  "desrosj": {
    "slug": "desrosj",
    "profile": "https://profiles.wordpress.org/desrosj"
  },
  "nacin": false
}

Top ↑

Last updated: