Git Download Updater - Setup Documentation

The Git Download Updater extension supports both GitHub and Bitbucket.

Connecting to Bitbucket

To connect your Easy Digital Downloads website to your Bitbucket account, you will need to create an APP inside your Bitbucket account and then add two definitions to your wp-config.php file.

To create an app password follow the steps below:

  1. From your profile and settings avatar, select Personal settings.
  2. Select App passwords under Access management.
  3. Select Create app password.
  4. Give the app password a name that will help you remember what it's used for.
  5. In the Permissions section check the boxes for Account > Read and Repositories > Read then click Create.
  6. Copy the generated password in a safe place for now. The password is only displayed this one time.

More details on app passwords (including usage and revocation) can be found in Bitbucket documentation.

Once you have the new app password add the two definitions below to your wp-config.php file and replace Username with your Bitbucket username and APP Password with the password you obtained from the steps above.

define( 'EDD_GIT_BB_USER', 'Username' );
define( 'EDD_GIT_BB_PASSWORD', 'APP Password' );

Connecting to GitHub

To use GitHub, navigate to Downloads → Settings → Extensions → Git Updater. Follow the instructions there to connect to GitHub.

Configuring a Download with Git Updater

Setting Your Download Files

Once you have connected your website to either GitHub or BitBucket, you can add files to your Download products.

1. The "Download Files" metabox on the download edit screen will now have a checkbox labeled " Fetch download from a git repository." Check this box.

2. After a moment or two, a new set of fields will show up that will allow you to select a repository.

3. Search for the repository name, and then select the tag that you want to use.
Note: The Version Tag used in Git Updater is required to be a native git tag. It does not parse versions from your readme file. To learn more about using the tag feature in git, you can visit this guide.
4. Click "Fetch". When your download has been successfully imported from the git repository, the button will say "Fetched".
5. You can now edit the file and/or zip name if desired, or leave them as default. Your zip file is ready to go!
When you are ready to release a new version, simply select the tag you wish to use and click fetch. After fetching is complete, update your product.

Note: As of version 1.2, if you have readme.txt parsing enabled, the plugin will automatically copy the readme file (if it exists) from your repository and use it for parsing.

FAQs & Troubleshooting

How do I exclude or remove files before the zip is generated?

The Git Download Updater uses the 'export' feature of Git to build out the file to deliver. You can use the `.gitattributes` file to determine what files you want to ignore during the export. Here is an example of how we use it for EDD Core.

For more details on using git attributes to exclude files, see this tutorial.

Update conflict between free and paid version

There are two different ways to resolve this issue:

  1. Change the name and/or slug of the pro version. Because of a nuance with the WordPress update API, WordPress cannot actually distinguish them as separate plugins.
  2. Add "wp_override" to the third parameter of the EDD_SL_PLugin_Updater class when it is instantiated, like this:
// set up the updater
$edd_updater = new EDD_SL_Plugin_Updater( EDD_SAMPLE_STORE_URL, __FILE__, array(
		'version'     => '1.0', 				// current version number
		'license'     => $license_key, 		// license key (used get_option above to retrieve from DB)
		'item_name'   => EDD_SAMPLE_ITEM_NAME, 	// name of this plugin
		'author'      => 'Pippin Williamson',  // author of this plugin,
		'wp_override' => true
	)
);

Note: this requires v1.6.4 of the plugin updater class.