アプリケーション リンク名を変更した後に「Unable to Locate JIRA Server For This Macro」と表示される

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

問題

Jira コンテンツではなく Jira 課題マクロを含むページを表示しようとすると、次のメッセージが表示される。

Error rendering macro 'jira' : Unable to locate JIRA server for this macro. It may be due to Application Link configuration.

原因

Jira アプリケーション リンク名を変更後に、新しい名前を反映するための ページ コンテンツの更新が Confluence で行われず、それによりリンクが切断され、上記のメッセージが生成されました。

Confluence のより新しいバージョンの場合には、Jira サーバー ID の変更が原因である可能性があります。例:

<ac:parameter ac:name="serverId">0df2b677-789b-32fa-a28e-b970cc2ea317</ac:parameter>

これがあなたのインスタンスに当てはまることを確認するには、次のSQLクエリを実行してください。

select count(body) from bodycontent where body like '%<ac:parameter ac:name="server">OLD_LINK_NAME</ac:parameter>%' and body is not null ;

上記のクエリは、システムのすべてのページに対して古いリンクを検索し、存在する数を示します。結果が 0 よりも大きい場合には、以下の解決手順に進んでください。

ソリューション

  • Confluence データベースをバックアップします
  • Confluence をシャットダウンします。
  • 次の SQL 文を実行すると、Jira アプリケーション リンクへの既存の参照がすべて新しい名前に置き換えられます。OLD_LINK_NAME と NEW_LINK_NAME を適切な値に置き換えてください。これらの値を特定が難しい場合は、このドキュメントの最後のセクションに情報を参照してください。

    UPDATE bodycontent
    SET body = Replace(body, '<ac:parameter ac:name="server">OLD_LINK_NAME</ac:parameter>', '<ac:parameter ac:name="server">NEW_LINK_NAME</ac:parameter>')
    WHERE body LIKE '%<ac:parameter ac:name="server">OLD_LINK_NAME</ac:parameter>%';

    (info) MSSQL などの一部のデータベースでは、CAST を使用して ntext を置き換える必要がある場合があります。

    UPDATE BODYCONTENT
    SET BODY = CAST(REPLACE(CAST(BODY as NVarchar(MAX)), '<ac:parameter ac:name="server">OLD_LINK_NAME</ac:parameter>', '<ac:parameter ac:name="server">NEW_LINK_NAME</ac:parameter>') as NText)
    WHERE BODY LIKE '%<ac:parameter ac:name="server">OLD_LINK_NAME</ac:parameter>%';
  • Confluence を再起動します。
  • アプリケーション リンクを新しい名前に変更します。

上記で問題が解決しない場合

  1. 影響を受けているページに新しい Jira マクロを挿入します。
  2. 新しいマクロが動作することを確認します (動作する場合は、本記事の内容が適用します)。
  3. 新しいマクロの serverID を探し、古いマクロと比較します (ページの 保存形式から)。 例: 新しいマクロ: 

    <ac:parameter ac:name="serverId">d8d416ca-1f70-3b24-8a64-16cc111e7b15</ac:parameter>


    古いマクロ:

    <ac:parameter ac:name="serverId">0df2b677-789b-32fa-a28e-b970cc2ea317</ac:parameter>
  4. 新旧の serverID をメモし、以下を実行する前に Confluence DB のバックアップ を取ります。

    UPDATE bodycontent
    SET body = Replace(body, '<ac:parameter ac:name="serverId">OLD_ID</ac:parameter>', '<ac:parameter ac:name="serverId">NEW_ID</ac:parameter>')
    WHERE body LIKE '%<ac:parameter ac:name="serverId">OLD_ID</ac:parameter>%';


    例:

    UPDATE bodycontent
    SET body = Replace(body, '<ac:parameter ac:name="serverId">0df2b677-789b-32fa-a28e-b970cc2ea317</ac:parameter>', '<ac:parameter ac:name="serverId">d8d416ca-1f70-3b24-8a64-16cc111e7b15</ac:parameter>')
    WHERE body LIKE '%<ac:parameter ac:name="serverId">0df2b677-789b-32fa-a28e-b970cc2ea317</ac:parameter>%';

最終更新日: 2023 年 2 月 16 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.