{"id":21625132,"url":"https://github.com/ohcnetwork/oneuptime-automation","last_synced_at":"2026-05-04T21:32:13.879Z","repository":{"id":238823790,"uuid":"797671785","full_name":"ohcnetwork/oneuptime-automation","owner":"ohcnetwork","description":"Scripts to automate adding monitors to a oneuptime project","archived":false,"fork":false,"pushed_at":"2024-05-08T12:46:24.000Z","size":8,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-13T15:24:28.409Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ohcnetwork.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-08T09:42:28.000Z","updated_at":"2024-07-17T08:49:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff84ea78-ed19-46d3-be98-058c887179e8","html_url":"https://github.com/ohcnetwork/oneuptime-automation","commit_stats":null,"previous_names":["coronasafe/oneuptime-automation","ohcnetwork/oneuptime-automation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ohcnetwork/oneuptime-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohcnetwork%2Foneuptime-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohcnetwork%2Foneuptime-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohcnetwork%2Foneuptime-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohcnetwork%2Foneuptime-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ohcnetwork","download_url":"https://codeload.github.com/ohcnetwork/oneuptime-automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ohcnetwork%2Foneuptime-automation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260467618,"owners_count":23013732,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T01:08:01.677Z","updated_at":"2026-05-04T21:32:08.860Z","avatar_url":"https://github.com/ohcnetwork.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Uptime Monitoring Automation 🚀\n\nThis project provides a set of scripts for automating uptime monitoring tasks using the Oneuptime platform. It includes scripts for adding monitors, updating status pages, and fetching monitor data etc.\n\n## Project Structure 📂\n\n```\n.\n├── .env                     # Environment variables file\n├── .envGroupname            # Environment variables file for group-specific settings\n├── add-monitor.csv          # Example CSV file for monitor data\n├── add-monitor.js           # Puppeteer Script for adding monitors\n├── add-to-statuspage.sh     # Script for adding monitors to the status pages\n├── create-groups.sh         # Script for creating groups to status page \n├── create-status-pages.sh   # Script for creating status pages\n├── created-groups.csv       # CSV file to store created group IDs\n├── get-monitors.sh          # Script for fetching monitor name and ID \n├── groups.csv               # CSV file for specifying group names to be created\n├── package.json             # Package information\n└── status-pages.csv         # CSV file to store status page IDs\n```\n\n## Usage 🛠️\n\n1. **Setup Environment Variables**:\n   - Edit `.env` file and set the required environment variables like `API_KEY`, `PROJECT_ID`, and `DOMAIN`.\n\n2. **Adding Monitors**:\n   - Use the `add-monitor.js` script to add monitors. Provide monitor data in CSV format and run the script.\n\n3. **Fetching Monitor Data**:\n   - Use the `get-monitors.sh` script to fetch monitor data. The data will be saved in CSV format.\n\n4. **Creating Status Pages**:\n   - Run `create-status-pages.sh` to create status pages based on the data in `status-pages.csv`.\n\n5. **Creating Status Page Groups**:\n   - Run `create-groups.sh` to create status page groups based on the data in `groups.csv`. This script will return the group IDs which are necessary to add the monitors to the specified status page.\n   - Edit `.envGroupname` file for group-specific settings.\n\n6. **Updating Status Pages**:\n   - Use the `add-to-statuspage.sh` script to add groups to the specified status page.\n\n## Dependencies 🛠️\n\n- `curl`: Command-line tool for transferring data with URLs.\n- `jq`: Command-line JSON processor for parsing JSON responses.\n- `csv-parser`: Node.js library for parsing CSV files 📊\n- `puppeteer` : Node.js library for controlling headless Chrome or Chromium browsers 🖥 ️\n- `dotenv` : Node.js library to use .env variables.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fohcnetwork%2Foneuptime-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fohcnetwork%2Foneuptime-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fohcnetwork%2Foneuptime-automation/lists"}