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