{"id":17569014,"url":"https://github.com/riywo/jenkins_cron","last_synced_at":"2025-04-28T11:41:00.938Z","repository":{"id":9706815,"uuid":"11658896","full_name":"riywo/jenkins_cron","owner":"riywo","description":"A DSL for Jenkins cron job","archived":false,"fork":false,"pushed_at":"2013-07-25T19:34:48.000Z","size":176,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T09:11:34.587Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/riywo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-25T11:28:57.000Z","updated_at":"2019-05-30T13:51:23.000Z","dependencies_parsed_at":"2022-07-08T00:50:38.278Z","dependency_job_id":null,"html_url":"https://github.com/riywo/jenkins_cron","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riywo%2Fjenkins_cron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riywo%2Fjenkins_cron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riywo%2Fjenkins_cron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/riywo%2Fjenkins_cron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/riywo","download_url":"https://codeload.github.com/riywo/jenkins_cron/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251306591,"owners_count":21568298,"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":[],"created_at":"2024-10-21T17:08:42.063Z","updated_at":"2025-04-28T11:41:00.918Z","avatar_url":"https://github.com/riywo.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JenkinsCron\n\n[![Build Status](https://travis-ci.org/riywo/jenkins_cron.png?branch=master)](https://travis-ci.org/riywo/jenkins_cron)\n\nSimple DSL to define Jenkins scheduled jobs.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n    gem 'jenkins_cron'\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install jenkins_cron\n\n## Usage\n\nFirst, write a `jenkins.yml` to use `jenkins_api_client`. See also [a sample yaml file on `jenkins_api_client`](https://github.com/arangamani/jenkins_api_client/blob/master/config/login.yml.example).\n\n    $ cat config/jenkins.yml\n    server_url: \"http://jenkins.dev\"\n\nNext, create a directory `config/schedule` and write DSL.\n\n    $ cat config/schedule/foo.rb\n    job :test1 do\n      command \"whoami\", user: \"riywo\"\n      timer every: 3.minute\n    end\n\nThen, run `jenkins_cron update` command.\n\n    $ jenkins_cron update foo\n    I, [2013-07-25T04:33:41.887344 #52816]  INFO -- : Obtaining jobs matching filter 'foo-test1'\n    I, [2013-07-25T04:33:41.887470 #52816]  INFO -- : GET /api/json\n    I, [2013-07-25T04:33:42.205541 #52816]  INFO -- : Posting the config.xml of 'foo-test1'\n    I, [2013-07-25T04:33:42.205642 #52816]  INFO -- : GET /api/json\n    I, [2013-07-25T04:33:42.228267 #52816]  INFO -- : POST /job/foo-test1/config.xml\n    I, [2013-07-25T04:33:42.955815 #52816]  INFO -- : Obtaining views based on filter 'foo'\n    I, [2013-07-25T04:33:42.955938 #52816]  INFO -- : GET /api/json\n\n## DSL\n\nTODO: Write documentation\n\n## TODO\n\n* CLI sub command\n    * update diff, confirm\n    * show scheduled jobs\n    * delete\n    * show timer examples\n        * 2013/7/15 22:00, 2013/7/15 23:00…\n* job cascading\n* more tests\n\n## Thanks to\n\nThis module is inspired by [whenever](https://github.com/javan/whenever).\n\nThis module uses [jenkins_api_client](https://github.com/arangamani/jenkins_api_client).\n\nMany thanks!\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friywo%2Fjenkins_cron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Friywo%2Fjenkins_cron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Friywo%2Fjenkins_cron/lists"}