Automating Software Development

Automating Software Development

Software is more than code, and a lot of time and overhead that goes into building software can be automated. This talk will look at the tools and techniques that software teams are using to automate everything from project management, to code review, to product feedback.

20bfe76b3d6105641f879fe45cfc9272?s=128

Brandon Keepers

June 19, 2018
Tweet

Transcript

  1. Automating Software Development @bkeepers - GitHub

  2. #TheFuture #OrMaybeNot

  3. Jidoka automation with a human touch.

  4. C O D E i s mo r e th

    an SOFTWARE
  5. source: @searls & https://online.husson.edu/software-development-cycle/

  6. CONTINUOUS INTEGRATION CONTINUOUS DELIVERY source: @searls & https://online.husson.edu/software-development-cycle/

  7. CONTINUOUS INTEGRATION CONTINUOUS DELIVERY CONTINUOUS FEEDBACK CONTINUOUS REFINEMENT CONTINUOUS PRODUCTION

    CONTINUOUS VALIDATION source: @searls & https://online.husson.edu/software-development-cycle/
  8. C O D E eve r yt h i ng

    i s BECOMING
  9. Marketplace Data

  10. probot.github.io

  11. [screenshot of apps]

  12. Stale >45k public issues ~700 organizations Close stale Issues and

    Pull Requests
  13. Reminders >100 organizations Set reminders on Issues and Pull Requests

  14. Polls ~75 organizations Create polls in discussions.

  15. Polls ~75 organizations Create polls in discussions.

  16. out-of-office-boss Used by nobody My boss is out of office,

    but how would he respond if he wasn’t? https://glitch.com/edit/#!/lying-daffodil
  17. TODO >200 organizations Creates new issues from actionable comments in

    your code.
  18. Alex Linter Ensure sensitive, considerate writing before you merge your

    Pull Requests
  19. Work in Progress >500 organizations Prevent merging of work in

    progress.
  20. Work in Progress >500 organizations Prevent merging of work in

    progress.
  21. Build your own

  22. Hello World

  23. Hello World

  24. None
  25. None
  26. None
  27. https://probot.github.io/docs

  28. https://developer.github.com/v3/activity/events/types

  29. https://octokit.github.io/rest.js

  30. check_run check_suite commit_comment create delete deployment deployment_status download follow fork

    fork_apply gist gollum installation installation_repositories issue_comment issues label member membership milestone organization org_block page_build project_card project_column project public
 pull_request pull_request_review pull_request_review_comment push release repository status team team_add watch app.on( )
  31. context.github.query(graphQL) https://developer.github.com/v4

  32. context.github.* https://developer.github.com/v3

  33. Work in Progress >500 organizations Prevent merging of work in

    progress.
  34. Work in Progress >500 organizations Prevent merging of work in

    progress.
  35. WIP

  36. WIP

  37. WIP

  38. WIP

  39. WIP

  40. WIP

  41. probot.github.io/community

  42. Thanks! @bkeepers probot.github.io

  43. we’re hiring! …and my manager asked me to tell you…

    github.com/about/careers
  44. Webhooks API GitHub Apps PROBOT

  45. Webhooks API GitHub Apps PROBOT git push

  46. Webhooks API GitHub Apps PROBOT git push WebHooks { "ref":

    "refs/heads/changes", "before": "9049f1265b7d61be4a8904a9a27120d2064dab3b", "after": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", "created": false, "deleted": false, "forced": false,
  47. Webhooks API GitHub Apps PROBOT git push WebHooks { "ref":

    "refs/heads/changes", "before": "9049f1265b7d61be4a8904a9a27120d2064dab3b", "after": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", "created": false, "deleted": false, "forced": false, WebHooks $ CURL -x POST -d body=“hello world” /myname/myrepo/issues/1/comments
  48. Webhooks API GitHub Apps PROBOT git push WebHooks { "ref":

    "refs/heads/changes", "before": "9049f1265b7d61be4a8904a9a27120d2064dab3b", "after": "0d1a26e67d8f5eaf1f6ba5c57fc3c7d91ac0fd1c", "created": false, "deleted": false, "forced": false, WebHooks $ CURL -x POST -d body=“hello world” /myname/myrepo/issues/1/comments