GitHub Enterprise authentication issues for push from UiPath Studio

We just moved our repository to GitHub enterprise and now we have an issue using UiPath Studio to push a commit to GitHub. Using the git command line everything works great but using UiPath Studio we get the error: LibGit2Sharp.LibGit2SharpException: failed to parse supported auth schemes. I found the topic that suggests to set the environment variable UiPath_STUDIO_GIT_USE_SCHANNEL to 1 and this triggers the web login but that does not work. The login is the general GitHub login but we have an SSO login on our Enterprise url. Also we need to login using a Personal access tokens because the account with access to GitHub is not used on our development machine where we use git / UiPath Studio. How can we use UiPath Studio for pushing or will this never work? It worked just fine when connecting to a git repository in Azure DevOps without any need for a login again. Microsoft Visual Studio also works fine with the new repository in GitHub Enterprise.

What version of Studio are you using?

SCHANNLE support is a recent improvement that is not available in all versions.

We are using Studio 2023.10.4

My organization is having the same issue. Recently upgraded to 2023.10.8 standalone and can no longer push/commit/rebase within UiPath. We also have a SSO login on our Enterprise url and use SSH keys to clone repos because we use VMs for development.

Only thing I’ve found that works so far is using Github Desktop to locate the local repo files before opening in UiPath to ensure the correct branch and folder environment is selected and refreshed. Otherwise opening a freshly cloned repo in UiPath gets it stuck on the default branch and starts a “Please undo changes” loop where you can’t actually access the branch you’re working on because the local project json file is updated every time after undoing your changes.

I would love to see a solution on this from UiPath devs as creating an environment variable to trigger the log in is not an option for us and having to manage the repo outside of the application has caused severe lags in project throughput and cross-commit issues for our developers. Any updates @alexandru?

Coming back to this with the solution that seems to have worked for me in hopes that it may help you. I took the steps below and was able to commit, push, and rebase in all my projects in Studio:

  1. Log in to your Github profile and navigate to your SSH Keys in the settings menu

  2. Follow the Github instructions for generating a new key and adding it to your ssh agent

  • Be sure to save your generated key file somewhere you can easily access it if you are using a VM (I saved mine to my OneDrive so I could access it across devices)

  • Check that your generated files contain a file named ‘known_hosts’ (my last SSH key did not contain this and I believe that may be why it stopped working after we switched to 2023.10)

  • If you run into issues adding your key to the SSH agent because you don’t have the right permissions, it should be ok to skip that step. I ran into issues here but was able to continue these steps and it solved my error

  1. Follow the Github instructions for adding the new key to your Github account and configure it for your SSO.
  • Be sure to set up your key for signatures at this step as well, following the same steps for adding the authentication key but instead selecting ‘Signing’ in the drop down box
  1. When cloning from the Github repo, copy the SSH key url from the repo

  2. Select the ‘Use SSH’ option in the UiPath window to clone the repo and check the box for ‘Use Key’

  3. Locate the file generated in step 2 and select Open. You should now be able to open your project and commit, push, and rebase

Additionally, if you have issues getting stuck on a particular branch, I have found that locating your local repo files using Github Desktop and selecting the branch in that application first before opening the files again in Studio. I have noticed a loop in the new version where it opens in the default branch but creates local changes to the project.json file every time it loads, then asks you to undo or commit your changes before selecting a different branch, but you may not have this issue