I’m looking for the best possible solution to store my assets and config like email address, different flags etc. I’m very much aware that we can store credentials in windows credentials.
But I’m using Attended robot without orchestrator. Where do I store my configurations(email address, different flags)?
Storing it in a JSON, XML or .xlxs file is a good option? If yes, when I deploy my automation to production i/e publishing the package, A NuGet package will be generated. So does that mean I have to copy the config file along with NuGet package on the client machine?
Is there any other best possible option to achieve this while running automation in production?
This is my opinion, but I think JSON is useful but .xlsx is more user-friendly and allows for descriptions. When you publish a project to a nuget package, it packages everything in the current directory of the project.json file. So your external config file will automatically be packaged. — make sure the config is in the same directory as the project.json
If you use the relative path (ie “data\Config.xlsx”), then it will look for the file in the packaged location. However, this will require that any changes to the values in this file will need to be published again to deploy the changes. — there are benefits to this like version controls.
If you use the full path (ie “C:\foldername\projectfolder\data\Config.xlsx”), then it will look for the file directly in that location. This means that you do not need to publish your project again to deploy the changes. — benefits to this is that it makes it more user interactive, however can potentially break your project if a change is made incorrectly or file is deleted on accident.
Both methods are useful, so I can’t say if one is better than the other.
If the project is utilized by multiple users and you use the full path, then you would want to store this config file in a secure shared location.