GitHub Updater & GitLab

GitLab Support

I’ve finally been able to add support for GitLab in the GitHub Updater v4.5.0. Additionally, support for GitLab CE and GitLab Enterprise are also included. All that’s required is an additional header with the base URI for the GitLab server. As an example, GitLab CE: or GitLab Enterprise:

Extras for GitHub

Support for GitHub Enterprise is also included using a similar header, GitHub Enterprise:
Support for updating from GitHub assets is also included if an asset exists for a tagged release. It will be preferentially used for the update. Using an asset’s URI for the remote installation of a plugin or theme will also function as expected.

Under the Hood

A bit of refactoring has been done as well. An abstract class API has been created to simplify the structure of all the git server API classes. Additionally a class Messages has been created to hold admin notices.
The class Base has been refactored to hold information regarding the added APIs in static arrays for use throughout the codebase.
I hope everyone likes the changes and updates. As always, if there are problems or improvements, please create an issue on GitHub.

Smash API Rate Limit & More

So GitHub Updater just received a couple of new features in version 4.3.0.
At the suggestion of @mlteal, there is now a setting to add a personal GitHub Access Token. You must at least select public_repos. What this does is blast away the limit of 60 API calls per hour and raises it to 5000 API calls per hours. If you need more than than I’ve got nothing more for ya. :smiley:
At the suggestion of our friends at Pods I’ve added the ability to switch between branches of a plugin. You must ensure that all branches have the appropriate headers otherwise you may find yourself unable to update. :frowning:
@szepeviktor has been driving me to fix a number of things including now having View details available on the plugins page.

GitHub Updater and Error Messages

GitHub Updater now gives some feedback when the API responds with an error. What I’ve done is capture the HTTP error code and add that to an admin_head hook.
I’ve also included some data if the error is the result of banging against GitHub API’s rate limit for unauthenticated accesses.

Error Codes

As these are HTTP response codes it’s pretty simple to figure out. A 401 means that the authorization is incorrect.

  • For Bitbucket repos this can mean not having read access to the repository or having an incorrect user/pass entered in the Settings.
  • For GitHub repos it can mean using an Access Token for a public repository or having the incorrect Access Token for a private repository.

A 403 error usually means that you have surpassed GitHub API’s rate limit for unauthenticated access of 60 per hour or you have not included an Access Token for a private GitHub repository.
If you have knocked up against the rate limit, the error will tell you when your rate limit will be reset.
GitHub Updater error message

Looking for a Logo

So here I am being a sponsor for @WordCampSD. I received an email asking for a logo. Oops. I don’t really have one. I was asked for a company name and the only company I belong to is Desert Trauma Surgeons. I’m not a partner so I can’t really use their logo.

That’s when I decided it was time to get a logo for GitHub Updater. Since I’ve never really done this before I put out an issue on the GitHub repo and tweeted.

An enterprising graphics company sent me note via my contact page and we’re starting to get to it. He sent off a couple of concepts and while some were good it led me to think a bit more about what I thought would be representative of GitHub Updater.

A quick sketch in Paper and I think we’re off and running.
Here’s my sketch and we’ll see where we get to from here. Can’t wait.

GitHub Updater logo concept

I did contact Bourn Creative and unfortunately we aren’t able to work together on this project. But they are awesome and Jennifer was great.
I am currently working with Mark at LogoMajestic who has been very professional and prompt. Another post for the unveiling.

GitHub Updater 4.1.0

GitHub Updater v4.1.0 has been pushed and tagged.

Thanks to My Bug Reporters

First, I need to thank Jeremy Saxey, Matt Redford, and w33zy for their bug reports and help in squishing them. Some bugs are difficult to reproduce as everyone’s installation is a bit different. What this means is that some bugs when a user first installs the plugin may not show up for me.

Using Remote Install

Wow, I’m really blown away as to how useful this is. Installing a plugin or theme from either GitHub or Bitbucket involves several steps that are essentially the same.

  1. Download the repository (and branch) that you want to install.
  2. Unzip the download.
  3. Rename the download folder as it will likely have some combination of the username-repo-hash/branch as the name.
  4. Compress the newly named download.
  5. Upload via the WordPress ‘Upload Plugin’ or ‘Upload Theme’ interface.

Or you can use the new remote install.
plugin remote install
Enter the data and none of the above will be necessary.
Sure if you are trying to install from a private Bitbucket repository you will need to add your Bitbucket username and password in the Settings tab.
Go and play and be sure to share if you find this helpful. Use hashtag #GitHubUpdater.