私は3列のインスタンス名とバージョンを持つデータベースとjenkinsインスタンスとプラグインをインストールする必要があるデータベーステーブルを持っているシナリオがあります...と私はどのように私はテキストファイルからデータベースをシェルを使用してデータベースに挿入することができます
input_file="test.txt"
cat $input_file | while read plugin version; do
echo "INSERT INTO table_name (version,pluginname) VALUES('$version' ,'$pluginname');"
done | mysql -user_root -db_password dbname;
は、今私は、私はインスタンス値を挿入することができますどのようにここに名前とバージョンの詳細と私は名前とバージョンを挿入する必要があり、コードを持っているテキストファイル立ち往生していますされていますデータベース。 テキストファイルには名前とバージョンをプラグインのデータが私はそれを行うことができますテキストファイルによってピックアップされているので、私はJSONのAPIに
curl -u user:<api-token> -s -k "https://<jenkins instance>/pluginManager/api/json?depth=1" | jq '.plugins[]|{version,longName}' -c | sed 's/\"//g' | sed 's/,/:/g' | cut -d ":" -f2,4 > test.txt
を解析して得たプラグイン名とバージョン、つまり、すべてのインスタンスのデータが含まれていますしかし、私はどのようにインスタンスのcolumn.thereに合計6つのインスタンスが追加されるデータを追加するか分からない。そのデータベース・テーブルの サンプルは、これは私がこれを行うことができますどのようにすべてのインスタンス6
のために行われなければならinstance plugin version
instance1 plugin1 ver 1
instance1 plugin2 ver2
.....
instance2 plugin1 ver1
instance2 plugin2 ver2
......
......
instance3 plugin1 ver1
instance3 plugin2 ver2
.....
だろう。 事前にお返事ありがとうございます
:あなたは自分の名前のリストを持っている場合は、そのリストをループ、あなたのオリジナルのスクリプトをラップし、プラグインとそのバージョンのリストを取得する
curl
を呼び出し、SQL文を生成することができますインスタンス名、プラグインとバージョンのみを含んでいますが、どこから来たのでしょうか? – janosこれは私が解決策を見つけようとしているものです – panda
薄い空気からインスタンス名を取り出すことはできません。 – janos