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: https://gitlab.example.com or GitLab Enterprise: https://gitlab.example.com.
Extras for GitHub
Support for GitHub Enterprise is also included using a similar header, GitHub Enterprise: https://github.example.com. 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. Thanks.
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 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.
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.
So just a couple of weeks later and I now have a logo for GitHub Updater.
I worked with Mark at @LogoMajestic and I must say after a few initial concepts from LogoMajestic I sent them a quick sketch of my concept and they nailed it in the first go round.
I couldn’t be more pleased and I’d recommend @LogoMajestic to anyone.
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.
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.
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.
Download the repository (and branch) that you want to install.
Unzip the download.
Rename the download folder as it will likely have some combination of the username-repo-hash/branch as the name.
Compress the newly named download.
Upload via the WordPress ‘Upload Plugin’ or ‘Upload Theme’ interface.
Or you can use the new 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.