WordPress.org Profiles now show GitHub activity

From last Friday, WordPress.org profiles have started to show activity from the WordPress GitHub organization. This is shown when your WordPress.org & GitHub accounts are linked together. You can do this through your WordPress.org profile.

What’s tracked?

Currently we’re tracking New Issues submitted (by you), Closed Issues (by you), Pull requests submitted (by you), Pull requests merged (by you, and additionally the PR submitter gets a ‘PR Merged’ event), and finally Pushes to default branches.

There are a few limitations. We’re not currently accounting for PRs where commits are pushed to the PR by someone other than the submitter/merger. Similarly, if you push code from someone else then it may not be handled appropriately.

How’s it work? Where’s the code?

You’ll find the code over here: api.wordpress.org/dotorg/github/activity.php it’s configured as a webhook on the WordPress organization receiving push, pull_request, and issues events.

The code to display it on profiles.wordpress.org is unfortunately not yet open-sourced. It’s nothing overly special, but we realise this does limit the ability for submitting patches to that part of the code. Meta tickets detailing a requested change including the Text/CSS required will be prioritised.

Most repositories activity items will display the team logo, but if it’s not known it’ll default to the core code logo. If you find activity on a repository is tracked with the incorrect logo, create a meta ticket in the Profiles component or comment below.

Why doesn’t it list my Issues & Pull Requests?

That might be expected. We only have data for Friday onwards cached on WordPress.org. Importing all previous issues and pull requests is possible, an importer simply just hasn’t been written yet.

If you haven’t linked your GitHub account to WordPress.org, it won’t show then either. Good News! Once you link your account, it’ll show up immediately for any data that we have.

Some people who linked their GitHub account when that feature was first launched have since had their account link expire. This has since been fixed – they no longer expire. So if you thought you had linked it, but find it now not-linked, that’s likely why.

Feedback

Are we showing too much information?

Should we combine events? For example; Today I submit a PR for review, later today I merge it, that’s two activity entries. Should it be merged together if within x hours? “Submitted & Merged PR #123 to WordPress/example-repo”

Are there any events you wish to see shown? Pull Request Reviews perhaps? Props for those who were commenters on the Issues/PRs?

#profiles #github +make.wordpress.org/core/

Nice, what would be cool is a selector to filter the timeline by activity type.

The existing way that profiles are setup / activity is queried limits the ability to do that in a decently performant way.. but..

That’s being tracked in #479 and #518

What do you think about tracking commits directly to trunk? That’s a common workflow for a lot of Meta sites.

That’s tracked through the Push events (excluding pushes of PRs, and SVN -> Git sync’s), and should be shown as Pushed _1 commit_ to WordPress/example-repo \n Commit-description.

So it’s supposed to be included, but I haven’t seen it come up yet (But had tested with PR pushes and the single SVN->GIT commits).

I’ll keep an eye out / test it and include an example here when it comes up.

Took me forever to find the Webhook delivery that failed, turned out to be a silly typo that I introduced while cleaning up my code for commit 😀

You’ve now got one of those commits listed on your profile (Only one, as I can’t find the other push events that failed, and I need to hit the redeliver option for the webhook event to get them to show)

🍻

no worries on the old ones 👍🏻

Thank you @iandunn!

Uh… I think i may have forgotten to deploy the change.. :facepalm: Deployed and hit redeliver on the webhook event…

http://wayback.fauppsala.se:80/wayback/20211106045542/https://profiles.wordpress.org/iandunn/ now shows you pushing 3 commits 🙂 (Time is set to now, as it’s when we receive the push event – the only other date field we have is commit timestamp of the last commit)

It only shows the last commit summary, as the push contained 3 unrelated commits and I had to choose -something- to be the summary.

Sidenote: GitHub Links like this which include the ?since= and ?until= parameters respect your local timezone, it’s not UTC, so they show nothing for me, and my dated version of the link will show you nothing. That’s why the link on the profiles use the /compare/.... links rather than the date-selection links.

Yeah, it seems do be working well now, thanks!

the ?since= and ?until= parameters respect your local timezone… the link on the profiles use the /compare/.... links

Ah, TIL, thanks!

Wow, that’s great! The WordPress.org profiles are now so much better than the GH “user landing pages”. They don’t hide anything, don’t require all the extra clicks to see stuff (the folding/hiding/accordions, etc.) and give much clearer view of what’s been happening imho 🙂

+1, extra clicks to view content are a big pet peeve of mine.

Nice work, Dion! This looks very neat.

Are there any events you wish to see shown? Pull Request Reviews perhaps?

I think PR reviews would be nice to highlight, as a gentle way of promoting reviewing PRs as a great way to contribute.

Yes totally agree 🙂 It would be great to highlight that because reviewing is soooo important and should be honored 🙂

I just came here to suggest this, so +1 from me 🙂