{
  "name": "Summarize daily Jenkins test runs with Google Sheets, HTTP and Gemini AI",
  "nodes": [
    {
      "id": "dcee8db7-84ad-449c-ac90-5ebb30ff4288",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        2552,
        464
      ]
    },
    {
      "id": "8f0e6821-e44a-47d6-b131-f8f8ece1f1bf",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 832,
        "height": 656,
        "content": "## Automate daily Jenkins test reports with AI and HTTP Requests\nAs a test automation engineer, staying on top of daily test runs in Jenkins is essential. This workflow automates that process: it pull"
      }
    },
    {
      "id": "52dadb42-ffe8-40fb-8b38-c51bfe7f2639",
      "name": "Retrieve Google Sheet data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1136,
        240
      ]
    },
    {
      "id": "1a0296af-cd8a-4b24-b0f8-62619f4e40cd",
      "name": "Aggregate the data for AI processing",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2256,
        240
      ]
    },
    {
      "id": "fa008380-afea-4fc9-8870-81f62109038f",
      "name": "Jenkins Report Analyzer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2480,
        240
      ]
    },
    {
      "id": "d4fed334-f0f9-4089-87c0-11e5673131bb",
      "name": "Send the test results based on the MailingList",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2832,
        240
      ]
    },
    {
      "id": "7a354845-5797-465d-9544-ac0b08fef0df",
      "name": "Perform HTTP Request to Jenkins Server for build numbers",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1360,
        240
      ]
    },
    {
      "id": "ef12a5f6-cfa9-4885-b769-f5e27213529d",
      "name": "Extract the build number",
      "type": "n8n-nodes-base.html",
      "position": [
        1584,
        240
      ]
    },
    {
      "id": "1f5caaf9-9837-4c9f-adf6-9ff9597f7ac0",
      "name": "Set the fields correctly for AI",
      "type": "n8n-nodes-base.set",
      "position": [
        2032,
        240
      ]
    },
    {
      "id": "1ce71933-6135-4e49-8d60-38d04dd542ee",
      "name": "Perform HTTP Request with depth 2 to Jenkins Server",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1808,
        240
      ]
    },
    {
      "id": "177fa0fa-f952-440f-8f62-a42b02570a7c",
      "name": "Trigger workflow daily on set time",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        912,
        240
      ]
    },
    {
      "id": "68c7a94b-5cc5-4f07-9a34-a84e97727fc9",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1312,
        48
      ],
      "parameters": {
        "width": 656,
        "height": 368,
        "content": "## Retrieve the Jenkins Test Data\n* First we have to retrieve the report in order to get the build numbers, needed for the AI to know which report we are talking about.\n* Then we extract the build num"
      }
    }
  ],
  "connections": {
    "Jenkins Report Analyzer": {
      "main": [
        [
          {
            "node": "Send the test results based on the MailingList",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract the build number": {
      "main": [
        [
          {
            "node": "Perform HTTP Request with depth 2 to Jenkins Server",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Jenkins Report Analyzer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Google Sheet data": {
      "main": [
        [
          {
            "node": "Perform HTTP Request to Jenkins Server for build numbers",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set the fields correctly for AI": {
      "main": [
        [
          {
            "node": "Aggregate the data for AI processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger workflow daily on set time": {
      "main": [
        [
          {
            "node": "Retrieve Google Sheet data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate the data for AI processing": {
      "main": [
        [
          {
            "node": "Jenkins Report Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Perform HTTP Request with depth 2 to Jenkins Server": {
      "main": [
        [
          {
            "node": "Set the fields correctly for AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Perform HTTP Request to Jenkins Server for build numbers": {
      "main": [
        [
          {
            "node": "Extract the build number",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}