次のようなコマンドを実行する必要があります。
atlassian confluence --action addLabels --labels labelName --space nameOfSpace --title "title name"
タイトルの長いリスト。title
このコマンドは、1 つの引数とパラメーターのみを受け入れます。
タイトルのリストを入力として取得し、それぞれを上記のようなコマンドに入れて実行する Ant タスクを使用して、これを自動化できますか?
replaceregexp を使用して上記のコマンド内のリスト内の各タイトルをラップし、すべてをバッチ ファイルに入れてコマンドを何度も実行できると思いますが、より良い方法はありませんか?
タイトルのカンマ区切りのリストを試したり、1 つのコマンドでリストを実行しようとしたりしましたが、一度に 1 つしか受け入れないようで、CLI のドキュメントには、それ以外のことについては何も書かれていません。
アップデート:
上記を達成する方法を知りたいと思っていましたが、最終的に 1 つのコマンドで必要なことを行う方法を見つけました。つまり、トップ ページのタイトルを入力するだけで、特定のタイトルのすべての「子」ページの Confluence のページにラベルを追加または削除するには:
confluence --action runFromPageList --space "SpaceName" --title "Parent Page Name" --descendents --common "--action addLabels --labels "New-Label-To-Add" --title ""@title@"" --space "SpaceName""
これは、Confluence コマンド ライン インターフェースを使用しています。欠けていたトリックは、使用することでした-descendents
( ではなく--children
、他の合流コマンドで行われている方法です)。
私はすべての子ページをリストに抽出しており、その部分はやり方を知っていたので、そこから行こうと考えていましたが、この方法では、1 つのコマンドを使用してプロセスを自動化します。
アップデートⅡ
上で述べたように、場合によっては 1 つのコマンドを使用してラベルを追加する方法を見つけましたが、後で、選択したページ タイトルのリスト (共通の親を持たないページ) にラベルを追加する方法が必要になりました。for
そこで私はこれに戻って、ここでの回答の 1 つを使用して、.txt ファイル内のタイトルのリストをループすることでラベルを追加する方法を考案しました。これが私が.batファイルに入れたものです:
cmd /k for /F "usebackq delims=" %%A in (my.list.txt) DO (confluence --action addLabels --labels labelName --space spaceName --title "%%A")
問題の 1 つは、タイトルの名前にスペースが含まれていることでした。そのため、こちら"usebackq delims="
の回答 #2 で見つけたものを追加する必要がありました。