{"id":13602680,"url":"https://github.com/probot/scheduler","last_synced_at":"2025-09-29T08:31:41.656Z","repository":{"id":57330802,"uuid":"86722100","full_name":"probot/scheduler","owner":"probot","description":"⚠️ Archived","archived":true,"fork":false,"pushed_at":"2020-08-20T18:50:15.000Z","size":4001,"stargazers_count":46,"open_issues_count":0,"forks_count":33,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-09-24T20:58:17.599Z","etag":null,"topics":["probot","probot-extension"],"latest_commit_sha":null,"homepage":"https://probot.github.io/docs/extensions/#scheduler","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/probot.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}},"created_at":"2017-03-30T16:02:43.000Z","updated_at":"2024-01-04T16:12:47.000Z","dependencies_parsed_at":"2022-09-21T03:10:52.410Z","dependency_job_id":null,"html_url":"https://github.com/probot/scheduler","commit_stats":null,"previous_names":["probot/visitor"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/probot%2Fscheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/probot%2Fscheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/probot%2Fscheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/probot%2Fscheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/probot","download_url":"https://codeload.github.com/probot/scheduler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219867693,"owners_count":16554395,"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":["probot","probot-extension"],"created_at":"2024-08-01T18:01:33.560Z","updated_at":"2025-09-29T08:31:36.374Z","avatar_url":"https://github.com/probot.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# ⚠️ This project is archived\n\nWe recommend you use GitHub Actions with the [`schedule`](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events) trigger instead, it's a much more reliably solution to the same problem.\n\nYou can authenticate as your GitHub app when running code in a GitHub Action using the [`@octokit/auth-app`](https://github.com/octokit/auth-app.js/) authentication strategy.\n\n## Probot: Scheduler\n\n[![npm](https://img.shields.io/npm/v/probot-scheduler.svg)](https://www.npmjs.com/package/probot-scheduler)\n\nA [Probot](https://github.com/probot/probot) extension to trigger events on an hourly schedule.\n\n## Usage\n\n```shell\n$ npm install probot-scheduler\n```\n\n```js\nconst createScheduler = require('probot-scheduler')\n\nmodule.exports = (robot) =\u003e {\n  createScheduler(robot)\n  robot.on('schedule.repository', context =\u003e {\n    // this event is triggered on an interval, which is 1 hr by default\n  })\n}\n```\n\n## Configuration\n\nThere are a few environment variables that can change the behavior of the scheduler:\n\n- `DISABLE_DELAY=true` - Perform the schedule immediately on startup, instead of waiting for the random delay between 0 and 59:59 for each repository, which exists to avoid all schedules being performed at the same time.\n\n- `IGNORED_ACCOUNTS=comma,separated,list` - GitHub usernames to ignore when scheduling. These are typically spammy or abusive accounts.\n\n\n## Options\n\nThere are a few runtime options you can pass that can change the behavior of the scheduler:\n\n* `delay` - when `false`, the schedule will be performed immediately on startup. When `true`, there will be a random delay between 0 and `interval` for each repository to avoid all schedules being performed at the same time. Default: `true` unless the `DISABLE_DELAY` environment variable is set.\n\n* `interval` - the number of milliseconds to schedule each repository. Default: 1 hour (`60 * 60 * 1000`)\n\nFor example, if you want your app to be triggered *once every day* with *delay enabled on first run*:\n\n```js\nconst createScheduler = require('probot-scheduler')\n\nmodule.exports = (robot) =\u003e {\n  createScheduler(robot, {\n    delay: !!process.env.DISABLE_DELAY, // delay is enabled on first run\n    interval: 24 * 60 * 60 * 1000 // 1 day\n  })\n  \n  robot.on('schedule.repository', context =\u003e {\n    // this event is triggered once every day, with a random delay\n  })\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprobot%2Fscheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprobot%2Fscheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprobot%2Fscheduler/lists"}