{
  "name": "Automated sprint reports from Jira to stakeholders via Gmail",
  "nodes": [
    {
      "id": "e63fae5a-8ccf-4812-bbc8-05e30cd99eb1",
      "name": "Email notification",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1312,
        0
      ]
    },
    {
      "id": "21fed4c4-f686-4fc1-8255-32c76382b377",
      "name": "Get many issues",
      "type": "n8n-nodes-base.jira",
      "position": [
        416,
        0
      ]
    },
    {
      "id": "c46a19f2-7c08-44a4-9e91-60d32b9c31ae",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -336,
        -464
      ],
      "parameters": {
        "width": 304,
        "height": 176,
        "content": "## Required\n\n• Jira Cloud project (API email + API token)\n• Gmail credential"
      }
    },
    {
      "id": "a4db27d8-d430-4798-8ffc-c8e71d414897",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        -464
      ],
      "parameters": {
        "width": 640,
        "height": 704,
        "content": "## 1) Trigger and Normalize \n\nTrigger: Scheduled run (e.g., every Friday at 17:00)\n\nData Processing:\n- Fetch issues from Jira with JQL: project = <KEY> AND sprint in openSprints()\n- Select relevant fi"
      }
    },
    {
      "id": "3c26641b-e1e7-46d9-97f4-03d44934ec43",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        -464
      ],
      "parameters": {
        "width": 352,
        "height": 704,
        "content": "## 2) Calculate Metrics\n\nAction: Aggregate data into KPIs\n\nKey Metrics:\n- Issues by status (To Do / In Progress / Done)\n- Story points: completed vs total\n- Blockers count (priority = High / label = b"
      }
    },
    {
      "id": "5ddc63f8-f59c-4b08-a5f4-c3b7a35e7d45",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1008,
        -464
      ],
      "parameters": {
        "width": 464,
        "height": 704,
        "content": "## 3) Generate Report & Send Notification\n\nAction: Build an HTML report\n\nContents:\n- Sprint name + dates\n- Metrics overview (done vs total issues, SP, blockers)\n- Table of all issues (key, summary, st"
      }
    },
    {
      "id": "7d410e39-680b-483c-af58-43a86eb0e3dd",
      "name": "Weekly trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        0
      ]
    },
    {
      "id": "cc836891-9da3-45eb-805e-2e1875332ac6",
      "name": "Jira & email configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        208,
        0
      ]
    },
    {
      "id": "6ace04d2-c0dd-494e-8c6a-6c96fca7490c",
      "name": "Validation & error handling",
      "type": "n8n-nodes-base.code",
      "position": [
        672,
        0
      ]
    },
    {
      "id": "b86c2c98-b12c-410a-a837-46c6d974d3ba",
      "name": "Metrics calculation",
      "type": "n8n-nodes-base.code",
      "position": [
        880,
        0
      ]
    },
    {
      "id": "579c77db-15fb-4ae3-a523-0df994024737",
      "name": "HTML report generation",
      "type": "n8n-nodes-base.code",
      "position": [
        1088,
        0
      ]
    }
  ],
  "connections": {
    "Weekly trigger": {
      "main": [
        [
          {
            "node": "Jira & email configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get many issues": {
      "main": [
        [
          {
            "node": "Validation & error handling",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Metrics calculation": {
      "main": [
        [
          {
            "node": "HTML report generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML report generation": {
      "main": [
        [
          {
            "node": "Email notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Jira & email configuration": {
      "main": [
        [
          {
            "node": "Get many issues",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validation & error handling": {
      "main": [
        [
          {
            "node": "Metrics calculation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}