Confluence でアプリケーション リンクを削除する場合の代替方法
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
要約
この記事では、Confluence インスタンスのアプリケーション リンクの構成の削除を Confluence の UI で行えなかった場合に利用する代替方法を説明します。
診断
ソリューション セクションの手順を実行する前に、次のスクリーンショットにあるように アプリケーション リンクの設定ページ (Confluence の管理ページ > [アプリケーション リンク]) でアプリケーション リンク構成の削除をお試しください。
引き続きアプリケーション リンクを削除できない場合はこのナレッジベースのソリューション セクションに進んでください。
原因
Confluence のデータベースで一部のデータが破損しているため、Confluence の UI からアプリケーション リンクを削除できない。
解決状況
後者のソリューションはリスクが高いため、以降のソリューションは順に試していただくことをおすすめします。
REST エンドポイントを使ってアプリケーション リンクを削除する
まず、次の
curl
コマンドを実行し、Confluence インスタンスで構成されている既存のアプリケーション リンクを特定します。curl -s -X GET -u <username>:<password> -H "Accept: application/json" <Confluence-Base-URL>/rest/applinks/1.0/listApplicationlinks | python -mjson.tool
上記の例でのアプリケーション リンクの ID は次のとおりです。 "79f0263c-a3a5-323b-870c-aea1895cabeb"
次に、削除したいアプリケーション リンクの ID を特定したら、次のコマンドを実行して対象のアプリケーション リンク構成を削除します。
curl -X DELETE -u <username>:<password> -H "Accept: application/json" <Confluence-Base-URL>/rest/applinks/1.0/applicationlink/<JIRA-ApplicationLink_ID>
t
Confluence のデータベースからアプリケーション リンクを手動で直接削除
データベースの操作方法が不明な場合はデータベース管理者にお問い合わせください。先に進む前にデータベースの完全なバックアップを作成するようにしてください。これらの SQL コマンドはいくつかの環境でテストを行い、意図したとおりに動作することを確認しています。
しかしながら、特定の状況や Confluence の新しいバージョンでは動作しない場合があります。これは、Confluence のデータベース構造に変更が行われている可能性があるためです。このため、問題が発生し、過去に動作していた状態の Confluence データベースへの巻き戻しを行う必要がある場合に備えたデータベース バックアップが必須です。
- 削除したいリンクを記録します (例: 上の診断セクションの例の場合は JIRA)。
- Confluence をシャットダウンします。
- データベースの完全なバックアップを作成します
アプリケーション リンクの ID を見つけます。
SELECT * FROM BANDANA WHERE BANDANAKEY LIKE 'applinks%' and BANDANAVALUE like '%your link's name from Step 1%';
アプリケーション リンクの ID は次のような形式です。"cfce37ac-1125-3e7f-93dd-17c643239204"
ステップ 4 で得られたアプリケーション リンクのすべてのエントリを見つけます。ID はご自身のもので置き換えてください。
SELECT * FROM BANDANA WHERE BANDANAKEY LIKE '%cfce37ac-1125-3e7f-93dd-17c643239204%';
対象のアプリケーション リンク ID のエントリを削除します。
DELETE FROM BANDANA WHERE BANDANAKEY LIKE '%application link id from Step 5%';
applinks.global.application.ids を更新して削除を完了します。
SELECT BANDANAVALUE FROM BANDANA WHERE BANDANAKEY = 'applinks.global.application.ids';
出力の例は次のとおりです。
<list> <string>e0bea7ec-e080-35fd-b856-c942ed2f83cc</string> <string>cfce37ac-1125-3e7f-93dd-17c643239204</string> <string>034974ba-a91a-33aa-a715-aa15aa133374</string> </list>
ステップ 5 の ID を含む行を削除します。
UPDATE BANDANA SET BANDANAVALUE = '<list> <string>e0bea7ec-e080-35fd-b856-c942ed2f83cc</string> <string>034974ba-a91a-33aa-a715-aa15aa133374</string> </list>' WHERE BANDANAKEY = 'applinks.global.application.ids';
- Confluence を再起動します。
注意: Confluence のキャッシュをフラッシュしても、削除されたアプリケーション リンクの問題を防ぐことはできないため、再起動が必要です。
認証方法として信頼済みアプリを利用している場合、次の手順も必要です。