{"id":33,"date":"2025-04-11T12:51:36","date_gmt":"2025-04-11T12:51:36","guid":{"rendered":"https:\/\/sreschool.com\/blog\/?p=33"},"modified":"2025-04-11T12:52:00","modified_gmt":"2025-04-11T12:52:00","slug":"complete-guide-to-upptime-uptime-monitoring-with-github-actions","status":"publish","type":"post","link":"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/","title":{"rendered":"Complete Guide to Upptime: Uptime Monitoring with GitHub Actions"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<p><strong>Upptime<\/strong> is a free and open-source uptime monitoring solution powered by GitHub Actions, Issues, and Pages. It allows you to monitor websites and services with zero infrastructure setup and host status pages using GitHub Pages.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\ude80 What is Upptime?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Open-source uptime monitor<\/strong> using GitHub Actions<\/li>\n\n\n\n<li><strong>Stores downtime as GitHub Issues<\/strong><\/li>\n\n\n\n<li><strong>Publishes status pages via GitHub Pages<\/strong><\/li>\n\n\n\n<li>Inspired by UptimeRobot, StatusPage.io, etc.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udd1d Key Features<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Website uptime monitoring<\/li>\n\n\n\n<li>SSL certificate expiry tracking<\/li>\n\n\n\n<li>Response time metrics and graphs<\/li>\n\n\n\n<li>GitHub-powered automation (no external services required)<\/li>\n\n\n\n<li>Free hosting via GitHub Pages<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd27 Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GitHub account<\/li>\n\n\n\n<li>Basic knowledge of Git and GitHub<\/li>\n\n\n\n<li>Node.js (for local testing, optional)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf10 Getting Started with Upptime<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Create a New Public GitHub Repository<\/h3>\n\n\n\n<p>Name it something like <code>yourproject-status<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Use the Upptime Template<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <a href=\"https:\/\/github.com\/upptime\/upptime\">https:\/\/github.com\/upptime\/upptime<\/a><\/li>\n\n\n\n<li>Click <code>Use this template<\/code><\/li>\n\n\n\n<li>Choose your new repo name and create it<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Configure <code>.upptimerc.yml<\/code><\/h3>\n\n\n\n<p>Add your domains\/services to monitor:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>owner: your-github-username\nrepo: yourproject-status\nsites:\n  - name: Homepage\n    url: https:\/\/example.com\n  - name: Blog\n    url: https:\/\/blog.example.com\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Set Up GitHub Secret for PAT<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Generate a <strong>GitHub Personal Access Token (PAT)<\/strong> with <code>repo<\/code> and <code>workflow<\/code> permissions.<\/li>\n\n\n\n<li>Go to your repo > <code>Settings<\/code> > <code>Secrets and Variables<\/code> > <code>Actions<\/code><\/li>\n\n\n\n<li>Add a secret:\n<ul class=\"wp-block-list\">\n<li>Name: <code>GH_PAT<\/code><\/li>\n\n\n\n<li>Value: <em>paste your token here<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: First Commit and Deploy<\/h3>\n\n\n\n<p>Upptime will:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Monitor websites every 5 minutes (via GitHub Actions)<\/li>\n\n\n\n<li>Log incidents as GitHub issues<\/li>\n\n\n\n<li>Build status page at <code>https:\/\/yourusername.github.io\/yourproject-status<\/code><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcca GitHub Actions Workflows in Upptime<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><code>update.yml<\/code><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Runs every 5 minutes<\/li>\n\n\n\n<li>Checks all configured sites<\/li>\n\n\n\n<li>Logs downtime as issues<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><code>graphs.yml<\/code><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Updates response time and availability graphs daily<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><code>site.yml<\/code><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Builds static status site using Jekyll and pushes to <code>gh-pages<\/code> branch<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udee0\ufe0f Customize Your Upptime Setup<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Customize <code>.upptimerc.yml<\/code><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>sites<\/code> for defining your monitored URLs<\/li>\n\n\n\n<li><code>status-website<\/code>: to toggle GitHub Pages deployment<\/li>\n\n\n\n<li><code>commit-message<\/code>: customize auto-commit messages<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Enable SSL Monitoring<\/h3>\n\n\n\n<p>Enabled by default. It warns before SSL certs expire.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcca Visualize Data<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Response time graphs (daily\/hourly)<\/li>\n\n\n\n<li>Uptime percentage trends<\/li>\n\n\n\n<li>Public status page with badges and history<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd04 Example: Monitor 3 Websites<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>owner: devteam\nrepo: devteam-status\nsites:\n  - name: Main Site\n    url: https:\/\/example.com\n  - name: API\n    url: https:\/\/api.example.com\n  - name: Docs\n    url: https:\/\/docs.example.com\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd27 Advanced Features<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Incidents<\/strong>: Logged automatically as GitHub Issues<\/li>\n\n\n\n<li><strong>Custom Headers<\/strong>: Add auth tokens or custom user agents<\/li>\n\n\n\n<li><strong>Status Page Themes<\/strong>: Customize with CSS\/Jekyll<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf93 Learning Resources<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GitHub: <a href=\"https:\/\/github.com\/upptime\/upptime\">https:\/\/github.com\/upptime\/upptime<\/a><\/li>\n\n\n\n<li>Docs: <a href=\"https:\/\/upptime.js.org\/\">https:\/\/upptime.js.org<\/a><\/li>\n\n\n\n<li>Demo Site: <a href=\"https:\/\/upptime.js.org\/demo\">https:\/\/upptime.js.org\/demo<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\ude80 Why Use Upptime?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Benefit<\/th><\/tr><\/thead><tbody><tr><td>Free Forever<\/td><td>Hosted on GitHub<\/td><\/tr><tr><td>Easy Setup<\/td><td>Just a YAML file and token<\/td><\/tr><tr><td>GitHub Native<\/td><td>Leverages Actions, Issues, Pages<\/td><\/tr><tr><td>Transparent<\/td><td>Downtime is visible via issues<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\ude4c Final Tips<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keep your PAT secret safe<\/li>\n\n\n\n<li>Use different repos for different projects<\/li>\n\n\n\n<li>Customize the status page for your brand<\/li>\n\n\n\n<li>Combine with Slack\/Email alerts via GitHub Issue actions<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf89 You&#8217;re All Set!<\/h2>\n\n\n\n<p>Upptime is an excellent solution for teams or individuals wanting robust uptime monitoring without external dependencies or costs. Set it up in minutes and get peace of mind!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Example Code<\/h2>\n\n\n\n<p>Here is a complete GitHub Actions workflow using <strong>Upptime<\/strong> to monitor <strong>uptime<\/strong> and <strong>SSL certificate expiry<\/strong> for the following domains:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>motoshare.us<\/code><\/li>\n\n\n\n<li><code>motoshare.mx<\/code><\/li>\n\n\n\n<li><code>motoshare.ca<\/code><\/li>\n\n\n\n<li><code>motoshare.in<\/code><\/li>\n\n\n\n<li><code>motoshare.co<\/code><\/li>\n\n\n\n<li><code>motoshare.com.cn<\/code><\/li>\n\n\n\n<li><code>motoshare.id<\/code><\/li>\n\n\n\n<li><code>motoshare.jp<\/code><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 Step-by-step Setup<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create a public GitHub repo<\/strong> (e.g., <code>motoshare-status<\/code>).<\/li>\n\n\n\n<li><strong>Install Upptime<\/strong>: Follow instructions at <a href=\"https:\/\/upptime.js.org\/\">https:\/\/upptime.js.org<\/a>.<\/li>\n\n\n\n<li>Add the following configuration to the <code>.upptimerc.yml<\/code> file.<\/li>\n\n\n\n<li>GitHub Actions will automatically run every 5 minutes.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udee0\ufe0f <code>.upptimerc.yml<\/code> (Place in root)<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>owner: your-github-username\nrepo: motoshare-status\nsites:\n  - name: motoshare.us\n    url: https:\/\/motoshare.us\n  - name: motoshare.mx\n    url: https:\/\/motoshare.mx\n  - name: motoshare.ca\n    url: https:\/\/motoshare.ca\n  - name: motoshare.in\n    url: https:\/\/motoshare.in\n  - name: motoshare.co\n    url: https:\/\/motoshare.co\n  - name: motoshare.com.cn\n    url: https:\/\/motoshare.com.cn\n  - name: motoshare.id\n    url: https:\/\/motoshare.id\n  - name: motoshare.jp\n    url: https:\/\/motoshare.jp\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\uddea GitHub Actions Workflow File<\/h3>\n\n\n\n<p>Create the following workflow file:<\/p>\n\n\n\n<p><strong><code>.github\/workflows\/uptime.yml<\/code><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>name: Uptime CI\n\non:\n  schedule:\n    - cron: '*\/5 * * * *' # every 5 minutes\n  workflow_dispatch:\n\njobs:\n  update:\n    name: Update summary and graphs\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v4\n      - name: Setup Node.js\n        uses: actions\/setup-node@v4\n        with:\n          node-version: '20'\n      - name: Install dependencies\n        run: npm install\n      - name: Update site statuses\n        run: npx upptime update\n        env:\n          GH_PAT: ${{ secrets.GH_PAT }}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 Additional Setup<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Generate a Personal Access Token<\/strong> from GitHub (with <code>repo<\/code> and <code>workflow<\/code> scope).<\/li>\n\n\n\n<li>Go to your repo \u2192 <code>Settings<\/code> \u2192 <code>Secrets and variables<\/code> \u2192 <code>Actions<\/code>.<\/li>\n\n\n\n<li>Add secret:\n<ul class=\"wp-block-list\">\n<li>Name: <code>GH_PAT<\/code><\/li>\n\n\n\n<li>Value: <em>Your personal access token<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 Deploy<\/h3>\n\n\n\n<p>Commit and push to your GitHub repo. Upptime will start monitoring the 8 domains and generate markdown-based status reports under <code>\/status<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Upptime is a free and open-source uptime monitoring solution powered by GitHub Actions, Issues, and Pages. It allows you to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-33","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Complete Guide to Upptime: Uptime Monitoring with GitHub Actions - SRE School<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Complete Guide to Upptime: Uptime Monitoring with GitHub Actions - SRE School\" \/>\n<meta property=\"og:description\" content=\"Upptime is a free and open-source uptime monitoring solution powered by GitHub Actions, Issues, and Pages. It allows you to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/\" \/>\n<meta property=\"og:site_name\" content=\"SRE School\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-11T12:51:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-11T12:52:00+00:00\" \/>\n<meta name=\"author\" content=\"Rajesh Kumar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rajesh Kumar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/\",\"url\":\"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/\",\"name\":\"Complete Guide to Upptime: Uptime Monitoring with GitHub Actions - SRE School\",\"isPartOf\":{\"@id\":\"https:\/\/sreschool.com\/blog\/#website\"},\"datePublished\":\"2025-04-11T12:51:36+00:00\",\"dateModified\":\"2025-04-11T12:52:00+00:00\",\"author\":{\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/0ffe446f77bb2589992dbe3a7f417201\"},\"breadcrumb\":{\"@id\":\"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sreschool.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Complete Guide to Upptime: Uptime Monitoring with GitHub Actions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sreschool.com\/blog\/#website\",\"url\":\"https:\/\/sreschool.com\/blog\/\",\"name\":\"SRESchool\",\"description\":\"Master SRE. Build Resilient Systems. Lead the Future of Reliability\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sreschool.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/0ffe446f77bb2589992dbe3a7f417201\",\"name\":\"Rajesh Kumar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f901a4f2929fa034a291a8363d589791d5a3c1f6a051c22e744acb8bfc8e022a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f901a4f2929fa034a291a8363d589791d5a3c1f6a051c22e744acb8bfc8e022a?s=96&d=mm&r=g\",\"caption\":\"Rajesh Kumar\"},\"sameAs\":[\"http:\/\/sreschool.com\/blog\"],\"url\":\"https:\/\/sreschool.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Complete Guide to Upptime: Uptime Monitoring with GitHub Actions - SRE School","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/","og_locale":"en_US","og_type":"article","og_title":"Complete Guide to Upptime: Uptime Monitoring with GitHub Actions - SRE School","og_description":"Upptime is a free and open-source uptime monitoring solution powered by GitHub Actions, Issues, and Pages. It allows you to [&hellip;]","og_url":"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/","og_site_name":"SRE School","article_published_time":"2025-04-11T12:51:36+00:00","article_modified_time":"2025-04-11T12:52:00+00:00","author":"Rajesh Kumar","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rajesh Kumar","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/","url":"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/","name":"Complete Guide to Upptime: Uptime Monitoring with GitHub Actions - SRE School","isPartOf":{"@id":"https:\/\/sreschool.com\/blog\/#website"},"datePublished":"2025-04-11T12:51:36+00:00","dateModified":"2025-04-11T12:52:00+00:00","author":{"@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/0ffe446f77bb2589992dbe3a7f417201"},"breadcrumb":{"@id":"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/sreschool.com\/blog\/complete-guide-to-upptime-uptime-monitoring-with-github-actions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sreschool.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Complete Guide to Upptime: Uptime Monitoring with GitHub Actions"}]},{"@type":"WebSite","@id":"https:\/\/sreschool.com\/blog\/#website","url":"https:\/\/sreschool.com\/blog\/","name":"SRESchool","description":"Master SRE. Build Resilient Systems. Lead the Future of Reliability","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sreschool.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Person","@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/0ffe446f77bb2589992dbe3a7f417201","name":"Rajesh Kumar","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f901a4f2929fa034a291a8363d589791d5a3c1f6a051c22e744acb8bfc8e022a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f901a4f2929fa034a291a8363d589791d5a3c1f6a051c22e744acb8bfc8e022a?s=96&d=mm&r=g","caption":"Rajesh Kumar"},"sameAs":["http:\/\/sreschool.com\/blog"],"url":"https:\/\/sreschool.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/comments?post=33"}],"version-history":[{"count":2,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/33\/revisions"}],"predecessor-version":[{"id":35,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/33\/revisions\/35"}],"wp:attachment":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/media?parent=33"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/categories?post=33"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/tags?post=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}