How to turn a JUnit XML report into an Obsidian note

As of October 2026, the Obsidian core plugin list describes no JUnit report converter. You can paste a log excerpt into a note or convert local XML with JUnit Failure Notes. The plugin creates a new report beside the XML source.

Background

A work log can keep a failure excerpt and a reference to the test run. JUnit Failure Notes provides a local conversion when you have XML in the vault. No forum demand count was verified for this guide.

3 ways to do it

  1. Keep a manual failure excerpt

    Paste the text you need into a fenced code block in your note. Use a longer outer fence if the log contains backticks. You can put the excerpt in a foldable callout.

    limits
    This preserves a chosen excerpt. You must count results and update the note yourself.
  2. Read the original workflow logs

    For a GitHub Actions run, open a job to inspect its steps and failed output. You can search expanded logs or copy a link to a specific line.

    limits
    This needs access to the repository and workflow run. It does not create a local note from your JUnit XML.
  3. JUnit Failure Notes from this site

    Choose a vault XML file to create counts, warnings and folded failure logs in Markdown. Pro adds folder reports and a comparison with saved failure names.

    limits
    The parser rejects namespaces and declarations, with limits of 2 MiB and 5,000 testcase elements. Suite logs, properties and timings stay outside the note.
    An open failure callout shows the test name, assertion message and literal output.
    Open larger

    MIT · no telemetry · core features free

    All features of JUnit Failure Notes

Create a note from your local XML

  1. Save a JUnit XML report inside your vault.

  2. Run Create report from XML from the command palette.

  3. Choose the source path and select Create report.

  4. Read the counts, open a folded failure callout and follow Source XML to inspect the source.

  5. Create another report after a later run if you need a separate record.

Common questions

Why can the result differ from the XML summary?

The plugin counts testcase elements instead of adding declared suite totals. It warns when a declared suite count differs. A nested case contributes once to the result table.

How do I compare two local test runs?

With Pro, save the earlier XML as your local baseline. Choose the later XML with Compare with local baseline. The new note lists added, resolved and retained failure pairs.

Can I keep just a short log without a plugin?

Yes. Paste an excerpt into a fenced code block in a Markdown note. Obsidian also supports foldable callouts if you want to hide the text until needed.

Photo of Michael LipThat's every step, start to finish.

Obsidian rewards people who share. NoteMods is just me and a lot of coffee. If this guide saved you a fight with the syntax, buy me a cup.