I've created a plugin for an editor.
This plugin gets some information from the project and shows you all the related issues, getting the information from an external application (Github, gitlab, redmine, etc).
In the plugin, I have two "objects": Credentials (to get the issues) and External applications.
Sometimes I can guess how to get the information only with the user supplied credentials (i.e.: github, or gitlab cloud service), sometimes I need extra information (a local gitlab, redmine, etc).
My question is.. How do I show this configuration to the user?
I was thinking about having a third object called "Location". The idea was the following: the user configures different locations (i.e: "work gitlab -> 220.127.116.11","home redmine -> 127.0.0.1), and assigns some credentials to them ("work gitlab" has the authentication tokens A,B and C while redmine has only the autentication token D, etc).
When the user creates a new project in the IDE, the plugin scans the project files (".git/config") to see if the project is related to any configured location.
If that's true, the plugin gets the issues automatically, otherwise it asks the user for the new data.
Another idea is do nothing...In any new project, the user would have to configure the credentials and the external application that will use them.
Is this approach correct? Does anyone have a better idea?