Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automate workflow with Ruby

Automate workflow with Ruby

a talk at Jakarta.rb
lightning talk at Geekcamp.id 2017

Didik Wicaksono

December 02, 2016
Tweet

More Decks by Didik Wicaksono

Other Decks in Programming

Transcript

  1. I’m with ID-Ruby Community •We will have our first Ruby

    Conference in Indonesia on Oct 6th-7th (ruby.id/cfp) •Please support our association: PERKODI (ruby.id/perkumpulan)
  2. ⛏ Workflow in a glance •Starts with a Hypothesis •Organize

    Task •Development & Code Review •Deploy & Announce Release
  3. Workflow breakdown •discuss hypothesis •create a card •assign card •create

    a branch •do magic •push a branch •create a pull request •code review •merge pull request •deploy code •announce release in Slack •mark card / checklist as completed
  4. Looks repetitive •On Slack •discuss hypothesis •On Trello •create a

    card •assign card •On local •create a branch •do magic •push a branch •On Github • create a pull request • code review • merge pull request • Back to local again • deploy code • Back to Slack again • announce release in Slack • Finally on Trello • mark card / checklist as completed
  5. Looks good? •On Slack •discuss hypothesis •On local •create a

    card •assign card •create a branch •do magic •push a branch •create a pull request •code review •merge pull request •mark card / checklist as completed •On Slack • deploy code •announce release in Slack
  6. trello-flow •github.com/balvig/trello_flow •available commands: ‣ git open 
 # Open

    relevant card/all users card in browser ‣ git start
 git start <card URL> 
 # choose card, assigns self & creates branch ‣ git finish 
 # checks off task, opens PR ‣ git cleanup 
 # cleans up merged card branches
  7. CP-8 Cookpad Bot • github.com/balvig/cp-8 • This little fella helps

    simplify your frequent labelling in Github • Deployable to Heroku
  8. ruboty •github.com/r7kamura/ruboty •its a bot, built in Ruby •deployable to

    Heroku •supports various chat services and some DBs