Getting Started

Filestack Architecture

File Upload

File Export (Save To)

Responsive Images

Image Transformations

Document Transformations

Video Transcoding

Audio Transcoding





Filestack Viewer


Supported Cloud Drives

Filestack Recipes

Filestack Integrations

Filestack SDKs

Register for an API key

GitHub Integration

With an estimated 10 million users, GitHub is one of the leading providers of online distributed revision control and source code management. GitHub provides an online frontend for Git. Now with Filestack your users can connect to and upload files directly from their code repositories, whether it is a readme or a version controlled company logo, Filestack can make it happen.

Current Worldwide Users: 10,000,000

Uploads from the GitHub API support the following types of files:

Users can select files from GitHub that match these broad file type categories: All file types are selectable. This includes audio, video, image, text, office, and compressed archive files.

API OAUTH Webhooks

Using the GitHub API

  1. User selects GitHub from services list
  2. user authenticates connection by logging into GitHub account
  3. user is connected and can select files from github in Filestack dialog

GitHub api upload widget

Upload to GitHub

Uploading or "picking" a file from GitHub in the context of Filestack means choosing a file and creating a distributable link to that file where it exists in GitHub. This is the Filestack URL that all "Pick" functions return. If you are using the pickAndStore method, then the file from GitHub is copied to a new storage location.

Sample Upload Code
filepicker.pick( { mimetypes: ['*/*'], services:['GITHUB'], }, function(Blob){ console.log(replaceHtmlChars(JSON.stringify(Blob))); } );

Download to GitHub

Exporting a file to GitHub with Filestack is not currently possible.

Sample Image Conversion Code for GitHub

If you have a Filestack Blob object or Filestack URL, then you can use the Filestack REST or Javascript APIs to convert office documents and image files. In the sample code below we "pick" an image file from GitHub and use the Javascript API convert method to resize the image to 400w by 400h in pixels.

Sample Conversion Code
filepicker.pick( { services: ['GITHUB'], mimetype: 'image/*', }, function(pickedBlob){ console.log("Conversion in progress...") filepicker.convert( pickedBlob, { width: 400, height: 400, }, { location: 'S3' }, function(convertedBlob){ console.log("Converted file url: ", convertedBlob.url); console.log("File is stored under your S3: ", convertedBlob.key); filepicker.remove( pickedBlob, function(){ console.log("Removed"); } ); } ); } );

Create your own GitHub OAuth application to Connect to Filestack:

By default, you do not need to configure anything to start uploading files from GitHub, Filestack is ready to go out of the box. When a user logs into their GitHub account from your site, the Filestack company application will show up. You can configure it so that your application shows up instead in order to make a more seamless experience for your customers. Click here to learn How to create a GitHub OAuth Application.

GitHub Webhooks for Your Application

You can be notified about all file uploads and conversions from all cloud services Filestack connects to. This includes GitHub. Follow this link to find out more about how to use Filestack's GitHub webhooks.

Here are some examples of the webhooks for uploads from GitHub:

File Upload (symlink):

File Upload (with store):

File Export (save to):
  "action": "fp.export",
  "timestamp": 1444257665,
  "id": 142447,
    "source": "",
    "client": "GITHUB",
    "filename": "newFiletest.jpg",
    "created": ""