How wawazer/scrapechangeticket works
ScrapeChangeTicket is a web application for collecting ServiceNow Change Task records and producing searchable results and reports. Users connect to a ServiceNow session, discover and select a filter, scrape paginated ticket lists and details, then review data or export PDF, Excel, and JSON. The server orchestrates scraping, persistence, and exports; parsing and AI analysis provide supporting processing. Frontend view composition and several backend calls are visible in excerpts, while other documented links are cited to the README; unsampled implementation details are not inferred.
Main entry points: App.tsx Application shell · server.js HTTP server · parsers.js Record parser · provider.js AI provider
Components 26
Web interface
- Application shell
frontend/src/App.tsx - Scrape controls
frontend/src/views/scrape-view.tsx - Dashboard
frontend/src/views/dashboard-view.tsx - Ticket browser
frontend/src/views/tickets-view.tsx - Scrape history
frontend/src/views/history-view.tsx - Report exports
frontend/src/views/reports-view.tsx - Settings
frontend/src/views/settings-view.tsx - Application state hook
frontend/src/hooks/use-app-state.ts - History hook
frontend/src/hooks/use-scrape-history.ts - Frontend API
frontend/src/lib/api.ts
Scraping workflow
- HTTP server
src/server.js - ServiceNow automation
src/servicenow.js
Processing and AI
- Record parser
src/parsers.js - Data utilities
src/utils.js - Risk analysis
src/ai/analysis.js - Risk rules
src/ai/risk.js - Duplicate detection
src/ai/duplicate.js - Ticket summaries
src/ai/summary.js - AI provider
src/ai/provider.js
State and reports
- Run state store
src/store.js - PDF generator
src/pdf.js - Excel generator
src/excel.js - JSON export
src/server.js
Other components
- User
- ServiceNow
- LLM service
Connections 29
- User → Application shell: uses
- Application shell → Scrape controls: renders
frontend/src/App.tsx - Application shell → Dashboard: renders
frontend/src/App.tsx - Application shell → Ticket browser: renders
frontend/src/App.tsx - Application shell → Scrape history: renders
frontend/src/App.tsx - Application shell → Report exports: renders
frontend/src/App.tsx - Application shell → Settings: renders
frontend/src/App.tsx - Application shell → Application state hook: uses
frontend/src/App.tsx - Application shell → History hook: uses
frontend/src/App.tsx - User → Frontend API: requests
- Frontend API → HTTP server: calls
- HTTP server → ServiceNow automation: dispatches
src/server.js - ServiceNow automation → ServiceNow: automates
- ServiceNow automation → Record parser: parses with
src/servicenow.js - Record parser → Data utilities: uses
src/parsers.js - HTTP server → Run state store: saves runs
src/server.js - HTTP server → PDF generator: generates
src/server.js - HTTP server → Excel generator: generates
src/server.js - HTTP server → JSON export: serializes
src/server.js - PDF generator → Record parser: formats tickets
src/pdf.js - Excel generator → Record parser: uses
src/excel.js - HTTP server → Ticket summaries: requests summaries
src/server.js - HTTP server → Risk analysis: requests analysis
src/server.js - HTTP server → Duplicate detection
src/server.js - Risk analysis → Risk rules: scores with
src/ai/analysis.js - Risk analysis → AI provider: queries
src/ai/analysis.js - Ticket summaries → AI provider
src/ai/summary.js - Duplicate detection → AI provider: queries
src/ai/duplicate.js - AI provider → LLM service: sends prompts
src/ai/provider.js