Inquiry on Push and Pull Plugin Availability for SCM Manager

I am reaching out to inquire about the availability of plugins for push and pull functionalities within SCM Manager.

Specifically, I am interested in plugins that would enable push operations from the current SCM repository to an external GitHub account, as well as pull functionalities that work similarly to the standard GitHub push and pull processes. If any such plugins exist or are under development, I would greatly appreciate information on how to install and configure them for our setup.

Hi @tarang.bathani.test

  • could you please outline your use case a bit?
  • Is there a specific setup? SCM-Manager repositories with github repositories? Like I want to develop in my SCM-Manager and publish the results on github?
  • What kind of functionalities are you looking for?

Hi @christoph.loose,

Thank you for your query. Below, I’ve outlined the details of my use case as requested:

Use Case:
I am looking to integrate SCM-Manager repositories with GitHub repositories. Specifically, I want to develop within SCM-Manager and seamlessly publish the results to GitHub.

Functionalities Needed:

Credential Button:
Located in the Repository menu after the settings menu.
Allows users to configure Git credentials (username, token, repository URL) for push and pull operations.

Push Button:
Positioned near the archive button.

Purpose: Push the current SCM repository’s source code to a destination GitHub repository.

Workflow:
Gather credentials from the Credential Button and repository details (name, branch) from the current SCM repository.
If the destination GitHub repository doesn’t exist, create it dynamically with the same branch as the current SCM branch.
If the repository exists but the branch doesn’t create the branch.
Push the source code to the existing branch in the destination repository.

Pull Button:
Positioned near the archive button.

Purpose: Pull source code from a GitHub repository into the current SCM repository.

Workflow:
Gather credentials from the Credential Button and repository details (name, branch) from the current SCM repository.
If the destination GitHub repository doesn’t exist,
show the error: “The repository with the same name does not exist.”
If the repository exists but the branch doesn’t
show the error: “The selected branch does not exist in the destination repository.”
If both the repository and branch exist, pull the source code into the current SCM branch.

Additional Questions:
Are there any existing plugins that provide this functionality?
Could you share documentation or guides on how to develop and add custom plugins to SCM-Manager?

Thank you for your assistance. Let me know if further details are needed!

Best regards,
tarang bathani

You could use our Mirror-Plugin to mirror a repository from external to SCM. However if you want to write on that repository you would have to un-mirror it.

Here is a short guide about plugin development: Development of External Plugins