正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

Markdownキャッシュ

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

パフォーマンス上の理由から、GitLabでは、次のようなフィールドのMarkdownテキストのHTMLバージョンをキャッシュします:

  • コメント
  • イシューの説明。
  • マージリクエストの説明。

これらのキャッシュされたバージョンは、external_url設定オプションが変更された場合などに、古くなる可能性があります。キャッシュされたテキスト内のリンクは、古いURLを参照したままになります。

キャッシュを無効にする

APIまたはRailsコンソールを使用して、Markdownキャッシュを無効にすることができます。

APIを使用する

前提要件:

  • 管理者アクセス権が必要です。

APIを使用して既存のキャッシュを無効にするには、次のようにします:

  1. PUTリクエストを送信して、アプリケーション設定のlocal_markdown_version設定を増やします:

    curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
      --url "https://gitlab.example.com/api/v4/application/settings?local_markdown_version=<increased_number>"

このAPIエンドポイントの詳細については、アプリケーション設定の更新を参照してください。

Railsコンソールを使用

前提要件:

グループの場合

グループのキャッシュを無効にするには、次のようにします:

  1. Railsコンソールを起動します:

    sudo gitlab-rails console
  2. 更新するグループを見つけます:

    group = Group.find(<group_id>)
  3. グループ内のすべてのプロジェクトのキャッシュを無効にします:

    group.all_projects.each_slice(10) do |projects|
      projects.each do |project|
        # Invalidate issues
        project.issues.update_all(
          description_html: nil,
          title_html: nil
        )
    
        # Invalidate merge requests
        project.merge_requests.update_all(
          description_html: nil,
          title_html: nil
        )
    
        # Invalidate notes/comments
        project.notes.update_all(note_html: nil)
      end
    
      # Pause for one second after updating 10 projects
      sleep 1
    end

プロジェクトの場合

単一プロジェクトのキャッシュを無効にするには、次のようにします:

  1. Railsコンソールを起動します:

    sudo gitlab-rails console
  2. 更新するプロジェクトを見つけます:

    project = Project.find(<project_id>)
  3. イシューを無効にします:

    project.issues.update_all(
      description_html: nil,
      title_html: nil
    )
  4. マージリクエストを無効にします:

    project.merge_requests.update_all(
      description_html: nil,
      title_html: nil
    )
  5. 注釈とコメントを無効にします:

    project.notes.update_all(note_html: nil)