Managing remote plugin repository from private Github repo
Answered
Hello,
I have an enterprise plugin I'd like to manage in our private github repo. I have a plugin defined at a URL like: https://github.com/company/repo/blob/master/updatePlugins.xml
Whenever I hit "Check Now" when I try to add the repository manually, I get the dialog:
Connection failed: Request failed with status code 404.
My guess is that IntelliJ isn't using my git credentials when it checks the plugin repository. Is there a way to add credentials somehow? Is there something else I need to do?
-Pierce
Please sign in to leave a comment.
Hello.
404 eror means that page was not found, so check the URL. The credential problem should produce 401 error.
> The credential problem should produce 401 error.
GitHub does not think so and returns 404 if you try accessing a private repo without authentication or using a wrong account.
So this is most likely the issue, as Custom plugin repository does not seem to support authentication.
Are there any other options for privately distributing a plugin or is our best bet just to install the plugin from disk?
This isn't an answered issue. How do you configure a custom plugin repository where the XML is publicly hosted but requires authentication, such as a private Github repo?
Plugin repositories do not support basic authentication at the moment - https://youtrack.jetbrains.com/issue/IDEA-212366/Custom-plugin-repositories-dont-support-basic-authenitication
For companies, it is possible to adopt Toolbox enterprise which, among others, allows to install custom plugins into IDE.
https://www.jetbrains.com/toolbox-enterprise/
I have developed a little plugin which will handle GitHub authentication using GitHub account already known by the IDE. The plugin is available at https://plugins.jetbrains.com/plugin/26328-private-github-marketplace-auth. Note: The URL used for the repository access is a bit different, using REST API, in order to be able to use Bearer authorization token. The URL to access the plugins in your repo looks like
https://api.github.com/repos/COMPANY/REPO/contents/PATH/updatePlugins.xml
.