Use Github private repository for plugin manager

Recently, I want to share the private plugin with my teammates, rather than set them as public. I tried adding my organization GitHub private repos to Plugin Manager by adding a custom plist. But I had some problem:

  1. I keep my packages.plist and plugin repos both as private, and I generate a fine-grained token for my account (organization’s owner with full access authorication). I can access my plist in terminal via
curl -s https://[TOKEN]@raw.githubusercontent.com/[ORG_NAME]/[REPO_NAME]/[BRANCH_NAME]/packages.plist

but when I paste the link into Glyhps’ preference, Glyphs shows The data couldn't be read because it isn't in the correct format. How can I access my packages.plist file if it is in a private repo?

image

  1. If I set my packages.plist repo as public, and keep my plugin repos as private. When I past the link such as
https://[TOKEN]@raw.githubusercontent.com/[ORG]/[REPO]/[BRANCH]/packages.plist

Glyhps can read it and show my private plugin in Plugin Manager, however, after clicking install, It shows Failed to clone. Here is my packages.plist url format:

{
  titles = TITLE;
  path = "[PLUGIN]";
  url = "https://[USERNAME]:[TOKEN]@github.com/[ORG]/[REPO]";
  descriptions = DESCRIPTION;
},

and Info.plist in plugin package:

<key>UpdateFeedURL</key>
<string>https://raw.githubusercontent.com/[ORG]/[REPO]/[BRANCH]/[PLUGIN].glyphsReporter/Contents/Info.plist</string>
<key>productPageURL</key>
<string>https://github.com/[ORG]/[REPO]</string>

How to fixed the problem?

I’ve read the comments in Using Private and Local Plugin Repositories and Glyphs 3: Make Things You Love | Glyphs before. It seems that make own git server is the best solution.

However, me and my teammates are just beginers, we hope we can use Github for file management. Or If you have any good idea for sharing private pugins and scripts with each others, please leave some comments, thank you !

As far as I can tell, GitHub it’s not capable of providing private repositories for Glyphs to use. I also couldn’t find any other repository provider which offers this functionality for free.

Thank you very much, I’ll try other methods!

What you can try to do is place the plugins in a cloud storage that is shared by your team (Dropbox, OneDrive, …). Then, create aliases for the plugins you want to use and place them in Glyphs’ Plugins folder.

Good idea!

I’ve implemented our private plugins via Google Drive and Github.

For other people who may want to build self plugin repos, I uploaded my *.plist on my Google Drive, and share with general access. Use Google Drive Direct Link Generator to generate the directly link of plist. It works fine for me.

Use can also place the .plist file in the Google Drive folder, if you want. See: