FME Flow Troubleshooting: Version Control

Matt Meeboer
Matt Meeboer
  • Updated

Introduction

Are you encountering issues while using version control with FME Flow? 

FME Flow can integrate with either a local Git repository or a remote repository hosted on GitHub.com or GitHub Enterprise for versioning workspace files. This allows for viewing versions, committing, pushing, and fetching from the FME Flow web UI and committing from FME Workbench. These integrations are not currently supported with other version control services (for example, Azure DevOps or BitBucket), however, you can still use these services outside of the FME Flow or Workbench UI if you choose. To learn more, please see Workbench Git Integration from the Command Line and our past webinar Mastering DevOps-Driven Data Integration with FME

This article discusses common troubleshooting tips, questions and resources for troubleshooting version control in FME Flow. See the complete list of topics in the FME Flow Troubleshooting Guide
 

Content Overview

 

Initial Troubleshooting

Before continuing, review the version control documentation to confirm that FME Flow and GitHub (if using a remote repository) have both been configured correctly.
 

Does the service account have the required access?

Many FME Flow version control issues are permissions related. The FME Flow System Share contains the local .git repository.

  • Confirm that the service account running the FME Flow Core service has read/write access at minimum to the FME Flow System Share and installation directory. See Directory and Account Permissions for more information.
  • Try granting the service account read access, at minimum, to the root of the drive hosting the FME Flow System Share. 
  • Is your service account a gMSA or sMSA ? If so, try granting a normal user account the permissions in the points above and then changing the FME Flow services to run under the same user account. The user account will need to temporarily be granted logon as a service rights in Windows. If this succeeds, and you want to use the gMSA or sMSA service account provided, please work with your IT department.

 

Are there errors in the fmeserver.log file? 

Review the fmeserver.log file for errors that may help identify the root cause.
 

For remote GitHub repositories: is the token still valid and URL correct?  
  • Log in to GitHub.com, or your GitHub Enterprise instance, and confirm that your personal access token has not expired. If it has, you will need to create a new one and add it to FME Flow. 
  • Confirm you have granted the correct scope (permission) to your token in GitHub.com.
  • If your organization uses SSO with GitHub, make sure that the token has been authorized in GitHub.
  • Confirm that you have entered the correct Remote Repository URL in the FME Flow version control settings. Note that the URL should end in .git.

For full instructions, see Configuring Version Control with a Remote Git Repository .
 

Can you commit to the local Git repo outside of FME Flow? 

Try committing a simple text file to the Git repo using a different tool. 
For example, if FME Flow is installed on Windows, you can download Git for Windows , then:

  • Using File Explorer, go to the FME Flow System Share location. By default, on a Windows installation, this is C:\ProgramData\Safe Software\FMEFlow (a hidden folder).
  • Add a simple text file to the Repositories folder
  • Open a Git for Windows command prompt as the FME Flow service account
  • Change directory to the Repositories folder on the FME Flow System Share
  • Enter the command: git add yourtestfile.txt
  • Enter the command: git commit -m "Test commit from GIT CMD"

If the commit fails, try again, this time running the Git command prompt as an administrator. If the commit succeeds, then it’s another indication that the FME Flow service account may not have the required access .
 

Does the web browser’s developer tools provide any additional information about the error? 

Complete the git action (commit, push, fetch) from the FME Flow Web UI with your web browser’s developer tools open. Check for additional information about the error in developer tools.
 

Common Issues

“When trying to push to a remote GitHub repository, I receive the error ‘git-receive-pack not permitted’” 

This error is preceded by the generic ‘Could not push to remote repository. Remote ref update was rejected’ error.

A similar error may also be received for a fetch action:
‘Could not fetch from remote repository. Local ref update was rejected’ followed by ‘git-upload-pack not permitted’

In either case, check that your GitHub token has the correct scope assigned to it. See Configuring Version Control with a Remote Git Repository .
 

“When trying to push to a remote GitHub repository, I receive the error ‘not authorized’” 

This error is preceded by the generic ‘Could not push to remote repository. Remote ref update was rejected’ error.

Confirm that your GitHub token has not expired and, if your organization uses SSO with GitHub, make sure that the token has been authorized in GitHub. See Configuring Version Control with a Remote Git Repository .
 

“When trying to push to a remote GitHub repository, I receive the error ‘Could not push to remote repository. Remote ref update was rejected’ followed by ‘cannot open git-receive-pack’” 

This is likely SSL related. 

In FME Flow, try to run a sample workspace. Do you receive an error 'There was an error submitting the job'? If so, try importing your FME Flow SSL certificate into the Tomcat's cacerts keystore following the instructions in this article. Then, restart FME Flow and check if you can run a workspace and push to the remote GitHub repository.

If you are you are hosting your own GitHub enterprise, and has it been configured with a self-signed certificate, you may have a similar issue. If this is the case, follow the same steps from the article linked above, except instead of exporting the certificate from FME Flow, log on and export it from GitHub enterprise.
 

“When trying to commit from the FME Flow Web UI or FME Workbench, I receive a 500 exception error” 

Confirm that the service account has the required access to the FME Flow System Share. Please see Does the service account have the required access ?
 

Are you still experiencing issues? 

Please consider posting to the FME Community Q&A if you are still experiencing issues that are not addressed in this article. There are also different support channels available.
 

Have ideas on how to improve this? 

You can add ideas or product suggestions to our Ideas Exchange .
 

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.