recipes
GitHub Release Tracker

Recipe: GitHub Release Tracker

Monitor a GitHub repository for new, non-prerelease releases and post to Slack.

curl -X POST https://api.verid.dev/v1/monitors \
  -H "Authorization: Bearer $VERID_API_KEY" \
  -d '{
    "name": "Next.js Releases",
    "url": "https://api.github.com/repos/vercel/next.js/releases/latest",
    "schedule_interval_seconds": 3600,
    "extract_config": {
      "method": "json_path",
      "fields": {
        "tag_name": "$.tag_name",
        "name": "$.name",
        "html_url": "$.html_url",
        "prerelease": "$.prerelease"
      }
    },
    "diff_predicate": {
      "type": "composite",
      "operator": "AND",
      "conditions": [
        { "type": "field_changes", "field": "tag_name" },
        { "type": "field_equals", "field": "prerelease", "value": false }
      ]
    },
    "deliveries": [
      { "type": "slack", "webhookUrl": "https://hooks.slack.com/services/..." }
    ]
  }'

This uses a composite AND predicate: only fire when the tag changes AND it's not a prerelease.

Or: use the template

curl -X POST https://api.verid.dev/v1/monitors/from-template/github-new-release \
  -H "Authorization: Bearer $VERID_API_KEY" \
  -d '{
    "name": "Next.js Releases",
    "url": "https://api.github.com/repos/vercel/next.js/releases/latest",
    "deliveries": [
      { "type": "slack", "webhookUrl": "https://hooks.slack.com/services/..." }
    ]
  }'