Download Magento Assets Using MageRepo

June 14, 2019
July 7, 2020
Rafael Grigorian

Introduction

MageRepo provides a set of tools that enables anyone to download and install Magento releases and patches. These resources are accessible through a cross platform CLI tool, a RESTFUL API, and a GUI interface via our website at www.magerepo.com. These diverse set of tools allow users of all types to access the complete Magento release archive.

Install MageRepo CLI tool

Our CLI tool is open source and its source code can be viewed on the official Github repository at magerepo/magerepo-cli. You can download the CLI tool in three different ways.

All feedback about our product is useful. If you have any feature requests or issues, please open an issue on Github.

Github releases page

We upload the binaries for macOS, Windows, and Linux on the releases page of the project’s Github repository.

Homebrew (macOS only)

We host a custom tap for MageRepo software. Adding a tap to your Homebrew enables our repository so that you can receive updates feature releases, patches, and security updates. After tapping with brew, you can install our CLI tool.

$ brew tap jetrails/tap
$ brew install magerepo
$ magerepo -h

You can see a list of the repositories that you have tapped into with Homebrew from the CLI.

$ brew tap
  homebrew/core
  jetrails/tap

You can also remove our repository for MageRepo at any time by running a brew untap.

$ brew untap jetrails/tap

Shell (wget example)

There are many CLI tools that can download files, for the below example we are going to use wget. The process should be the same for the technology of your choice. Make sure to replace 2.0.2 with the latest version.

$ wget -LO /usr/local/bin/magerepo github.com/magerepo/magerepo-cli/releases/download/2.0.2/magerepo-cli-linux
$ chmod +x /usr/local/bin/magerepo
$ magerepo -h

Using our website

To browse our complete collection of releases and patches via our website, then go to www.magerepo.com. These resources are always up to date and reflect everything that our RESTFUL API supplies.

Using our CLI tool

The CLI tool simply wraps all the functionality that api.magerepo.com has to offer. The best way to see what it can do is by executing the program with the help flag.

Here are some of the most common scenarios that you can use it for:

Download patches for Magento 1.x release

The below command will find every patch for Magento 1.9.2.0 and it will download it to public_html.

Download a Magento release

The below command will download and extract a specified Magento release. It will also clean up after itself by deleting the downloaded tar.gz file if the -c or --clean flag is passed. You can substitute the least significant version segment with an x in order to download the latest possible version.

Show available releases

Show available patches for release

Using Our RESTFUL API

Our RESTFUL API is open to the world to use. It is rate limited, but it should not be an issue for the normal user.

If you would like to send authentication credentials to the API in order to access restricted assets, then please specify them using the Basic HTTP Authentication method. An example curl command that specifies credentials with user foo and password bar can be seen below. Notice the : separator between the user and the password.

$ curl \
      -u foo:bar \
      -L api.magerepo.com/download/release/enterprise/2.x

Below are all the endpoints that our API supports. The endpoints that start with /metadata/ return information about a given asset, whilst the ones that start with /download/ will attempt to download a given asset. Our API is very simple and all the endpoints that you can see below are accessible via the HTTP GET method.

  • /metadata/release/{edition}/{release}
  • /metadata/release/{edition}
  • /metadata/release
  • /metadata/patch
  • /metadata/patch/{edition}
  • /metadata/patch/{edition}/{wildcard}
  • /metadata/patch/{edition}/{wildcard}/{patch}
  • /download/release/{edition}/{wildcard}
  • /download/patch/{edition}/{release}/{patch}

The path parameters in the endpoints above are described below:

ParameterDescription
editioncommunity or enterprise
releasespecific release, i.e. 1.9.4.0
wildcardwildcard release, i.e. x, 2.x, 2.2.x, etc.
patchtype, number, and version, i.e. SUPEE-11086-v1

Accessing enterprise assets

These assets are not open to the public for obvious reasons. If you are authorized to download enterprise assets, then you can authenticate with your given MageRepo username and password. With the CLI tool installed, it can save and delete your credentials using the auth and unauth commands:

When accessing restricted assets via the website, it will prompt you for credentials. The RESTFUL API requires you to pass the credentials via the Basic HTTP Authentication method. More detailed information and examples for authenticating with our API can be found in the Using Our RESTFUL API section.