{"id":19010296,"url":"https://github.com/railsware/capistrano-calendar","last_synced_at":"2025-04-22T23:12:55.453Z","repository":{"id":62554962,"uuid":"2652415","full_name":"railsware/capistrano-calendar","owner":"railsware","description":"Deployment event creation on (google) calendar service","archived":false,"fork":false,"pushed_at":"2018-08-07T07:14:53.000Z","size":14,"stargazers_count":28,"open_issues_count":0,"forks_count":8,"subscribers_count":61,"default_branch":"master","last_synced_at":"2025-04-22T23:12:49.479Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/railsware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-10-26T17:00:12.000Z","updated_at":"2024-10-18T14:02:20.000Z","dependencies_parsed_at":"2022-11-03T05:30:31.087Z","dependency_job_id":null,"html_url":"https://github.com/railsware/capistrano-calendar","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fcapistrano-calendar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fcapistrano-calendar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fcapistrano-calendar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/railsware%2Fcapistrano-calendar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/railsware","download_url":"https://codeload.github.com/railsware/capistrano-calendar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250337946,"owners_count":21414104,"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-11-08T19:10:45.698Z","updated_at":"2025-04-22T23:12:55.436Z","avatar_url":"https://github.com/railsware.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Capistrano Calendar\n\n## Introduction\n\ncapistrano-calendar is extension for capistrano that allows your create different deployment notification in calendar service. Currently supported services:\n\n* google calendar\n\n## Installation\n\n    gem install capistrano-calendar\n\nAdd to your Capfile\n\n    require 'capistrano/calendar/recipes'\n\n## How it works\n\nThis gem provides:\n\n* capistrano recipe *calendar:create_event* \n* ruby binary script *capistrano-calendar*\n\nCapistrano recipe should be used in some :after hooks (e.g. after deploy). Recipe reads calendar configurations and run capistrano-calendar binary on some host specified in *capistrano_runner* option. So you **need to install** *capistrano-calendar* gem also on that calendar host. Also please ensure that you properly configured calendar_runner otherwise you may have **duplicated events** in calender.\n\n## Calendar configuration\n\n* *:calendar_verbose (nil) - if true display calendar data actions\n* *:calendar_logfile (/tmp/capistrano-calendar-PID.log) - calendar log\n* *:calendar_foreground (nil) -  don't daemonize calendar process if true\n* *:calendar_service* (:google) - calendar service to use e.g. ':google'\n* **:calendar_username** (nil) - calendar service username e.g 'vasya.pupkin@gmail.com'\n* **:calendar_password** (nil) - calendar service password e.g 'qwery123456'\n* *:calendar_name* (default) - calendar name to use for events\n* *:calendar_summary* (nil) - calendar summary for new calendar\n* *:calendar_location* (nil) - calendar location for new calendar\n* *:calendar_timezone* ('UTC') - calendar timezone for new calendar\n* *:calendar_color* ('#A32929') - calendar color for new calendar\n* **:calendar_event_name** (nil) - calendar event name\n* *:calendar_event_summary* (nil) - calendar event summary\n* *:calendar_event_location* (nil) - calendar event location\n* *:calendar_event_time* (Time.now) - calendar event time\n* *:calendar_event_status* ('confirmed') - calendar event status\n\nBold means required options. Value in brackets means default value.\n\n## Calendar runner configuration\n\nCalendar event creation will be executed by default on the one of application servers (specified in :app roles)\nYou can change this behavior via *calendar_runner* option. Examples:\n\n    set(:calendar_runner, { :roles =\u003e :calendar_notifier, :once =\u003e true })\n    # or\n    set(:calendar_runner, { :hosts =\u003e 'notification.example.com' })\n\nBe sure to pass `:once =\u003e true` option if you use *:roles* !\n\n## Configuration example\n\n    set :calendar_service, :google\n    set :calendar_username, 'vasya.pupkin@my.company.com'\n    set :calendar_password, '123456'\n\n    set(:calendar_name)      { stage }\n    set(:calendar_summary)   { \"\" }\n    set :calendar_timezone, 'UTC'\n    set(:calendar_color),    { stage == 'production' ? '#ff000' : '#00ff00' }\n\n    set(:calendar_event_summary) { \"Bla\" }\n    set(:calendar_event_time) { Time.now }\n\n    after 'deploy' do\n      set :calendar_event_name, \"[Deployed] #{application} #{branch}: #{real_revision}\"\n      top.calendar.create_event\n    end\n\n    after 'deploy:rollback' do\n      set :calendar_event_name, \"[Rollback] #{application} #{branch}: #{real_revision}\"\n      top.calendar.create_event\n    end\n\n    #\n    # Extra configurations if you are using capistrano-patch:\n    #\n    after 'patch:apply' do\n      set :calendar_event_name, \"[Pathed] #{application} #{branch}: #{patch_strategy.revision_to}\"\n      calendar_client.create_event\n    end\n\n    after 'patch:revert' do\n      set :calendar_event_name, \"[Patch rollback] #{application} #{branch}: #{patch_strategy.revision_from}\"\n      top.calendar.create_event\n    end\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frailsware%2Fcapistrano-calendar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frailsware%2Fcapistrano-calendar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frailsware%2Fcapistrano-calendar/lists"}