https://github.com/bcgov/scheduler
A Probot extension to trigger events on an hourly schedule
https://github.com/bcgov/scheduler
Last synced: 8 months ago
JSON representation
A Probot extension to trigger events on an hourly schedule
- Host: GitHub
- URL: https://github.com/bcgov/scheduler
- Owner: bcgov
- License: isc
- Fork: true (probot/scheduler)
- Created: 2018-10-18T16:14:46.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-01-17T00:48:46.000Z (over 6 years ago)
- Last Synced: 2024-12-16T17:15:25.854Z (over 1 year ago)
- Language: JavaScript
- Homepage: https://probot.github.io/docs/extensions/#scheduler
- Size: 3.82 MB
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Probot: Scheduler
[](https://www.npmjs.com/package/probot-scheduler)
A [Probot](https://github.com/probot/probot) extension to trigger events on an hourly schedule.
## Usage
```shell
$ npm install probot-scheduler
```
```js
const createScheduler = require('probot-scheduler')
module.exports = (robot) => {
createScheduler(robot)
robot.on('schedule.repository', context => {
// this event is triggered on an interval, which is 1 hr by default
})
}
```
## Configuration
There are a few environment variables that can change the behavior of the scheduler:
- `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.
- `IGNORED_ACCOUNTS=comma,separated,list` - GitHub usernames to ignore when scheduling. These are typically spammy or abusive accounts.
## Options
There are a few runtime options you can pass that can change the behavior of the scheduler:
* `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.
* `interval` - the number of milliseconds to schedule each repository. Default: 1 hour (`60 * 60 * 1000`)
For example, if you want your app to be triggered *once every day* with *delay enabled on first run*:
```js
const createScheduler = require('probot-scheduler')
module.exports = (robot) => {
createScheduler(robot, {
delay: !!process.env.DISABLE_DELAY, // delay is enabled on first run
interval: 24 * 60 * 60 * 1000 // 1 day
})
robot.on('schedule.repository', context => {
// this event is triggered once every day, with a random delay
})
}
```