Skip to content

mattymil/AT-Contract-API

AT-Contract-API

Automation for Autotask contract renewal tickets. Runs as an AWS Lambda (scheduled via EventBridge) to:

  • Query contracts expiring within N days (default 90)
  • Avoid duplicates
  • Create renewal tickets with a standard subject, description, and due date

Tech stack

  • Node.js 20 + TypeScript
  • Serverless Framework (AWS Lambda + EventBridge)
  • DynamoDB for dedupe keys
  • AWS SSM Parameter Store + Secrets Manager for prod config
  • Jest, ESLint, Prettier, GitHub Actions CI

Quick start (dev)

  1. Copy .env.example to .env and fill in values.
  2. Install deps: npm ci
  3. Run tests: npm test
  4. Offline invoke: npx serverless invoke local --function renewalScheduler --stage dev

Configuration

  • Dev uses .env via dotenv.
  • Prod uses SSM and Secrets Manager. Example payloads are in .env.example and docs.

Deployment

  • Ensure SSM parameter /AT-Contract-API/{stage}/config and Secrets Manager secret AT-Contract-API/{stage}/autotask exist.
  • Deploy: npx serverless deploy --stage dev

Notes

  • Autotask REST field names and query filters can vary. Adjust src/services/autotaskClient.ts as needed once tenant details are confirmed.
  • Duplicate avoidance uses DynamoDB TTL and optional Autotask pre-check.

License

MIT

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors