11-29-2024 09:40 AM
Hello All.
My question is NOT about using github for source control of vi's or LV projects.
I need to retrieve configuration files from github from within applications (.exe) developed in LabVIEW.
It resembles TestStand loading test sequences that are developed/maintained by a team - except I need this from within my apps because I do need to ensure that I always load "certified latest version" of config files.
As the main problem - and main use use/purpose of github is source control and ci/cd for code - I did not find anything.
Any clues, ideas, help?
Much appreciated.
Solved! Go to Solution.
11-29-2024 11:55 AM - edited 11-29-2024 11:56 AM
You could use system exec node to execute git commands from within labview.
12-02-2024 01:21 AM
Simple and straightforward, of course, I hoped in a more "elegant" solution.
12-02-2024 02:13 AM
Hi GIC,
@GIC-SAGM wrote:
Simple and straightforward, of course, I hoped in a more "elegant" solution.
Encapsulate the SysExec calls inside our own VIs (library) to provide a "more elegant" solution…
12-02-2024 02:48 AM
This is not specifically for github, but simply for programmatic control of git on your system. It's also using the command line and while this may not seem sexy for Windows users (and the creation of a separate process is indeed a bit expensive under Windows), this is by far the most easy way to integrate other tools into your workflow. Under Unix, it is in fact THE standard.
If you want to access github directly you would have to read into what their, most likely REST based, web API is and implement it by using the JKI Rest Web Client library or something along those lines. Most likely this is however a path of pain and regret. Web APIs tend to be not that stable, require always some form of authentication or API key, that may have to be refreshed regularly, and in general will cause your perfectly working solution today to fail next year for unobvious reasons.
12-02-2024 04:28 AM
Thanks Rolf.
Hampel solution seems quite nice.
And you're right, KISS is always the best solution (but, as someone said, not simpler 😉)