Lesson 11 of 11
Chapter 18 . LangGraph . Lesson 11 of 11

From Jira ticket to test report

Give it a Jira ticket. It plans the tests, runs them in a browser, and explains what failed and why.

01Real-world example

Illustration: An end-to-end QA pipeline: the ticket becomes a reviewed test plan, the plan runs in Playwright, and every failure is triaged in one report.
An end-to-end QA pipeline: the ticket becomes a reviewed test plan, the plan runs in Playwright, and every failure is triaged in one report.

02The graph

From Jira ticket to test report as a graph
Seven nodes. The review can send the plan back once. Failures go to triage before the report.

03How the code does it

  • fetch reads the Jira ticket over REST, or fixtures/VWO-105.json when no token is set; analyse lists features, acceptance criteria and risks.
  • plan writes 5 to 8 cases as JSON steps with structured output (method="json_schema", low reasoning effort, three retries).
  • review checks every step against the real TTACart page map, then an LLM reviews like a senior QA; problems send the plan back once (MAX_REVIEWS = 2).
  • execute runs only the cases that pass executor.problems(); the rest are skipped with the reason. LLM-written steps are untrusted input.
  • triage labels each failure product_bug, test_bug, environment or flaky; write_report writes one HTML file and can email it. worker.py polls JQL and labels each ticket qa-auto-done.

Key points

  • Steps written by an LLM are untrusted: check them against the app
  • Triage says why: test bug, product bug, environment or flaky
  • A Jira label is the 24x7 worker's memory

04Run it

terminal
cd chapter_18_LangGraph/capstone
python pipeline.py VWO-105
output
  passed  TC-01  Login success for standard_user redirects to inventory
  passed  TC-03  Add then remove a product updates cart badge correctly
  passed  TC-04  Sorting options display correct product order
  failed  TC-05  Product detail page add/remove syncs with cart badge
  passed  TC-06  Checkout information validation errors
  failed  TC-07  Reset App State clears cart and remove buttons
 skipped  TC-02  Locked out user sees error and stays on login page
 skipped  TC-08  Logout clears session and returns to login page

report: reports/VWO-105-20260928-184544/report.html
One real run on gpt-oss-120b against VWO-105, the TTACart requirement pulled via the MCP. The model writes a new plan every run, so your cases will differ. Skipped cases had a step the safety rules refused.
Needs a key. Copy chapter_18_LangGraph/.env.sample to .env and add a free Groq key from console.groq.com.