Code Monkey home page Code Monkey logo

hubot-cron's Introduction

hubot-cron

hubot-cron adds a cronjob system to hubot to schedule messages on a specific date and time.

Installation

Add hubot-cron to your package.json, run npm install and add hubot-cron to external-scripts.json.

Add hubot-cron to your package.json dependencies.

"dependencies": {
  "hubot-cron": ">= 0.1.0"
}

Add hubot-cron to external-scripts.json.

> cat external-scripts.json
> ["hubot-cron"]

If you want to specify timezones, you'll need to install the time module or place an entry for it in your package.json file.

npm install time

Usage

miyagawa> hubot new job 0 9 * * 1-5 "Good morning everyone!"
hubot> Job 12345 created

miyagawa> hubot list jobs
hubot> (list of jobs)

miyagawa> hubot rm job 12345
hubot> Job 12345 removed

miyagawa> hubot tz job 12345 America/Los_Angeles
hubot> Job 12345 updated to use America/Los_Angeles

You can use any node-cron compatible crontab format to schedule messages. Registered message will be sent to the same channel where you created a job.

To persist the cron job in the hubot restart, you're recommended to use redis to persist Hubot brain.

Timezones are specified in tzdata format.

See Also

reminder.coffee in hubot-scripts.

hubot-cron's People

Contributors

camelmasa avatar deeeki avatar francois2metz avatar ganta avatar jincod avatar makimoto avatar matsukaz avatar miyagawa avatar naoina avatar ngs avatar samstarling avatar sodoku avatar sorah avatar takatoshi-maeda avatar thefrozenfire avatar zsprackett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hubot-cron's Issues

Run another hubot script

I am trying to figure out how to get this cron script to run another already written hubot script. I tried to just run the message "hubot do this" but of course the messages from itself are ignored. Is there a way to not have this specific message ignored, or run another already written script?

Support setting timezone

I'm running hubot on heroku which is set to UTC and it would be great to be able to set the cron jobs to run on PST.

Configure default timezone

After using this plugin for a few days (awesome, btw!) - a recurring pattern on every job is to update the timezone to our local timezone. It would be really nice to be able to configure a default tz for every job that's created (although you could still override manually).

I was thinking this could be done by setting a HUBOT_CRON_DEFAULT_TZ environment variable. If this is set, during job creation, it could just call out to the update tz method automatically.

What channel are crons run in?

If I create a cron to run "Happy Hour!" at 2:15, will hubout say "Happy Hour!" in all, in my case, hipchat rooms that it is a part of? or just in the room where the cron what initially created?

Error when running cron job

I'm getting an error after setting up a new cron job via Slack. It's set up to send messages to a public room called #development.

e.g:

hubot new job 0 10 * * 1-5 "It's time for standup, folks!"

458293: 0 10 * * 1-5 @C033R5PHW "It's time for standup, folks!"

The job worked fine for a few days but now I can see the following error in the logs:

2015-02-05T10:00:00.802614+00:00 app[web.1]: Sending message
2015-02-05T10:00:01.575453+00:00 app[web.1]: Slack services error: 500
2015-02-05T10:00:01.575612+00:00 app[web.1]: Invalid channel specified

Any idea how I can resolve this?

Thanks.

Cronjob to call a function

Great documentation on getting the ability to set up a cronjob in hubot. Is it possible to setup a cronjob to hubot perform a function?

Usually hubot listens for a user command to respond with some text. Can this cronjob output the same text (trying to eliminate the user input to make hubot respond).

Creates job but never sends reminders

Not sure what the problem could be, but I just added the script to our Slackbot, and it adds jobs but never executes on the reminders (even after changing time zones, etc.). Is this script still working?

Works on private chat, restarts the bot in group chat

Our group chat does not require authentication, so the bot connects over XMPP HOST:PORT. If I create a cron in the group chat, right at the time when the cron should run, the bot restarts itself.

It works if I open a private chat with the bot.

Please let me know if you need any further information.

Jobs are being sent twice just seconds apart

We have setup a cron message and we have found that it always posts twice.

The first was 3:59:58 PM and the second was at 4:00:00 PM which is the time the job was scheduled to send

screen shot 2015-06-01 at 10 38 28 am

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.