8
n8n 한국어amn8n.com

전체 기술 컨텍스트를 사용하여 Marker.io 문제를 ServiceNow 인시던트로 자동 변환

초급

이것은Ticket Management분야의자동화 워크플로우로, 5개의 노드를 포함합니다.주로 Code, Webhook, ServiceNow 등의 노드를 사용하며. 전체 기술 컨텍스트를 사용하여 Marker.io 문제를 ServiceNow 인시던트로 자동 변환

사전 요구사항
  • HTTP Webhook 엔드포인트(n8n이 자동으로 생성)

카테고리

워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "b8d4a47d3554c1f7fcd3ee16a413d67d707f3769dee6d5380a7d25c6b616c836",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "f88ccfcf-40e8-445f-bd14-e77f7226d878",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        0,
        0
      ],
      "webhookId": "0c89174c-6bf6-4dc6-bdd6-1903d8d16baf",
      "parameters": {
        "path": "0c89174c-6bf6-4dc6-bdd6-1903d8d16baf",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "a7fdddc9-4355-4e8b-8add-cb28125c4c41",
      "name": "Marker.io 데이터 형식 지정",
      "type": "n8n-nodes-base.code",
      "position": [
        220,
        0
      ],
      "parameters": {
        "jsCode": "// Extract data from Marker.io webhook\nconst data = $input.first().json.body.data;\n\n// Format the conversation message\nconst issueTitle = data.title;\nconst issueDescription = data.description ? data.description : 'Not set';\nconst markerId = data.markerId;\nconst priority = data.priority;\nconst issueType = data.issueType.name;\nconst publicUrl = data.publicUrl;\nconst privateUrl = data.privateUrl;\nconst dueDate = data.dueDate;\nconst browser = `${data.browser.name} ${data.browser.version}`;\nconst os = `${data.operatingSystem.family} ${data.operatingSystem.version}`;\nconst website = data.website.url;\nconst contextString = data.contextString;\n\n// Get screenshot URL and add .jpg extension\nlet screenshotUrl = data.screenshotUrl;\nif (screenshotUrl) {\n  // Replace the pattern: \"0?\" with \"0.jpg?\"\n  screenshotUrl = screenshotUrl.replace(/\\/0\\?/, '/0.jpg?');\n}\n\n// Create formatted message body with Marker.io ticket link\nconst titleBody = `${issueTitle}`;\n\n// Create formatted message body with Marker.io ticket link\nconst noteBody = `🐛 **New Issue Reported via Marker.io**\n\n**Issue:** ${issueTitle}\n**ID:** ${markerId}\n**Type:** ${issueType}\n**Priority:** ${priority}\n**Due Date:** ${dueDate ? new Date(dueDate).toLocaleDateString() : 'Not set'}\n\n**Description:**\n${issueDescription}\n\n**Technical Details:**\n• Browser: ${browser}\n• OS: ${os}\n• Website: ${website}\n• Context: ${contextString}\n\n**Marker.io issue:** ${publicUrl}\n\n**Custom Data:**\n${Object.entries(data.customData || {}).map(([key, value]) => `• ${key}: ${value}`).join('\\n')}`;\n\nreturn [{\n  json: {\n    reporterEmail: data.reporter.email,\n    reporterName: data.reporter.name,\n    titleBody: titleBody,\n    nodeBody: noteBody,\n    issueId: data.id,\n    markerId: markerId,\n    priority: priority,\n    issueType: issueType,\n    publicUrl: publicUrl,\n    privateUrl: privateUrl,\n    projectId: data.project.id,\n    screenshotUrl: screenshotUrl\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "aaa5c6c1-1de5-417e-b294-13cd2adb2b3b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -840,
        -80
      ],
      "parameters": {
        "width": 700,
        "height": 2220,
        "content": "# Marker.io to ServiceNow Integration\n**Automatically create ServiceNow incidents with full technical context when bugs are reported through Marker.io**\n\n## 🎯 What this template does\nThis workflow creates a seamless bridge between Marker.io and ServiceNow, your IT service management platform. Every issue submitted through Marker.io's widget automatically becomes a trackable incident in ServiceNow, complete with technical details and visual context. This ensures your IT team can track, prioritize, and resolve bugs efficiently within their existing ITSM workflow.\n\nWhen a bug is reported, the workflow:\n- Captures the complete Marker.io webhook payload\n- Formats all technical details and metadata\n- Creates a new incident in ServiceNow with the reporter information\n- Includes comprehensive technical context and Marker.io links\n- Preserves screenshots, browser info, and custom data\n\n## ✨ Benefits\n- **Automated ticket creation** - No manual data entry required\n- **Complete context** - All bug details transfer automatically\n- **Faster triage** - IT teams see issues immediately in ServiceNow\n- **Better tracking** - Leverage ServiceNow's incident management capabilities\n- **Rich debugging info** - Browser, OS, and screenshot details preserved\n\n## 💡 Use Cases\n- **IT Service Desks**: Streamline bug reporting from end users\n- **Development Teams**: Track production issues with full technical context\n- **QA Teams**: Convert test findings directly into trackable incidents\n- **Support Teams**: Escalate customer-reported bugs to IT with complete details\n\n## 🔧 How it works\n1. **N8N Webhook receives** Marker.io bug report data\n2. **JavaScript node formats** and extracts relevant information\n3. **ServiceNow node creates** incident with formatted details\n4. **Incident includes** title, description, reporter info, and technical metadata\n5. **Links preserved** to both public and private Marker.io views\n\nThe result is a fully documented ServiceNow incident that your IT team can immediately action, with all the context needed to reproduce and resolve the issue.\n\n## 📋 Prerequisites\n- **Marker.io account** with webhook capabilities\n- **ServiceNow instance** with API access enabled\n- **ServiceNow credentials** (username/password or OAuth)\n- **Appropriate ServiceNow permissions** to create incidents\n\n## 🚀 Setup Instructions\n1. **Import this workflow** into your n8n instance\n2. **Configure the Webhook**:\n   - Copy the production webhook URL after saving\n   - Add to Marker.io: Workspace Settings → Webhooks → Create webhook\n   - Select \"Issue Created\" as the trigger event\n3. **Set up ServiceNow credentials**:\n   - In n8n, create new ServiceNow credentials\n   - Enter your ServiceNow instance URL\n   - Add username and password for a service account\n   - Test the connection\n4. **Customize field mappings** (optional):\n   - Modify the JavaScript code to map additional fields\n   - Adjust priority mappings to match your ServiceNow setup\n   - Add custom field mappings as needed\n5. **Test the integration**:\n   - Create a test issue in Marker.io\n   - Verify the incident appears in ServiceNow\n   - Check that all data transfers correctly\n\n## 📊 Data Captured\n### ServiceNow Incident includes:\n- **Short Description**: Issue title from Marker.io\n- **Description** containing:\n  - 🐛 Issue title and ID\n  - 📊 Priority level and issue type\n  - 📅 Due date (if set)\n  - 📝 Full issue description\n  - 🖥️ Browser version and details\n  - 💻 Operating system information\n  - 🌐 Website URL where issue occurred\n  - 🔗 Direct links to Marker.io issue (public and private)\n  - 📦 Any custom data fields\n  - 📷 Screenshot URL with proper formatting\n\n## 🔄 Workflow Components\n- **Webhook Node**: Receives Marker.io POST requests\n- **Code Node**: Processes and formats the data using JavaScript\n- **ServiceNow Node**: Creates the incident using ServiceNow API\n\n[→ Read more about Marker.io webhook events](https://help.marker.io/en/articles/3738778-webhook-notifications)"
      },
      "typeVersion": 1
    },
    {
      "id": "6bc8eb42-948e-423a-9801-3bd6d657f208",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -100,
        980
      ],
      "parameters": {
        "color": 5,
        "width": 440,
        "height": 1160,
        "content": "## 🚨 Troubleshooting\n\n**Webhook not triggering:**\n- Verify webhook URL is correctly copied from n8n to Marker.io\n- Check that \"Issue Created\" event is selected in Marker.io webhook settings\n- Ensure webhook is set to \"Active\" status in Marker.io\n- Test with Marker.io's webhook tester feature\n- Check n8n workflow is active and not in testing mode\n\n**ServiceNow incident not created:**\n- Verify ServiceNow credentials are correct and have not expired\n- Check that the service account has permissions to create incidents\n- Test ServiceNow connection directly in n8n credentials settings\n- Check ServiceNow API rate limits haven't been exceeded\n\n**Missing or incorrect data:**\n- Screenshot URL broken: The workflow already handles URL formatting, but verify Marker.io is generating screenshots\n- Custom data missing: Ensure custom fields exist in Marker.io before sending\n- Due date formatting issues: Check your ServiceNow date format requirements\n\n**JavaScript errors in Format node:**\n- Check webhook payload structure hasn't changed in Marker.io updates\n- Verify all field paths match current Marker.io webhook schema\n- Use n8n's data pinning to debug with actual webhook data\n- Check for undefined values when optional fields are missing\n\n**Connection issues:**\n- ServiceNow timeout: Increase timeout in node settings if needed\n- SSL/Certificate errors: Check ServiceNow instance SSL configuration\n- Network restrictions: Ensure n8n can reach your ServiceNow instance\n- Authentication failures: Regenerate ServiceNow credentials if needed\n\n**Testing tips:**\n- Use n8n's \"Execute Workflow\" with pinned test data\n- Enable webhook test mode in Marker.io for safe testing\n- Check ServiceNow incident logs for detailed error messages\n- Monitor n8n execution logs for specific failure points"
      },
      "typeVersion": 1
    },
    {
      "id": "ff7943a8-f52f-4e2e-a466-596bb89c6a25",
      "name": "ServiceNow",
      "type": "n8n-nodes-base.serviceNow",
      "position": [
        440,
        0
      ],
      "parameters": {
        "resource": "incident",
        "operation": "create",
        "authentication": "basicAuth",
        "additionalFields": {
          "caller_id": "",
          "description": "={{ $json.nodeBody }}"
        },
        "short_description": "={{ $json.titleBody }}"
      },
      "credentials": {
        "serviceNowBasicApi": {
          "id": "",
          "name": "ServiceNow Basic Auth account"
        }
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "f88ccfcf-40e8-445f-bd14-e77f7226d878": {
      "main": [
        [
          {
            "node": "a7fdddc9-4355-4e8b-8add-cb28125c4c41",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a7fdddc9-4355-4e8b-8add-cb28125c4c41": {
      "main": [
        [
          {
            "node": "ff7943a8-f52f-4e2e-a466-596bb89c6a25",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

초급 - 티켓 관리

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
초급
노드 수5
카테고리1
노드 유형4
난이도 설명

n8n 초보자를 위한 1-5개 노드의 간단한 워크플로우

저자
Marker.io

Marker.io

@markerio

Marker.io is a visual feedback and bug reporting tool primarily used by web development and design teams. It allows users to capture screenshots, annotate them with comments and drawings, and then send them directly to project management or issue tracking tools like Jira, Trello, GitHub, or Asana.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34