Your SlideShare is downloading. ×
0
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Tour de Stash, AtlasCamp US 2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Tour de Stash, AtlasCamp US 2012

1,097

Published on

Jens Schumacher, Product Manager & Tim Pettersen, Development Team Lead …

Jens Schumacher, Product Manager & Tim Pettersen, Development Team Lead

Come and learn all about building plugins for Atlassian's shiny new product: Stash! Large amounts of Stash's functionality (including our SSH and HTTP hosting, our JIRA integration and the entire REST API) comes entirely from bundled plugins. This has driven a rich, clearly defined API and SPI and a strong commitment to backwards compatibility. Stash has been built from the ground up with plugins and plugin developers in mind. In this talk we'll inspire you with a broad look at what's available in the Stash API and SPI, as well as a peek at our low-level SCM API which provides a clean way to to interface directly with your repositories using Git. During the talk we'll be using lots of code examples and implementing a small plugin that shows off different facets of Stash's API, SPI and SCM API.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,097
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Jens Schumacher Jay
    • 2. Since Stash 1.0...
    • 3. Since Stash 1.0...141days
    • 4. Since Stash 1.0...141days 2 releases everyks one 7 wee
    • 5. Since Stash 1.0...141days 2 releases everyks one 7 wee 10 add-ons the Marketplace in
    • 6. Since Stash 1.0...141days 2 releases everyks one 7 wee 10 add-ons the Marketplace in
    • 7. Since Stash 1.0...141days 2 releases everyks one 7 wee 10 add-ons the Marketplace in
    • 8. 1000+customers
    • 9. Stash 1.0 - 1.2
    • 10. Enterprise Focus Security & Access Control Visibility Integration
    • 11. Permissions
    • 12. Databases
    • 13. End-User Features
    • 14. Stash 1.3
    • 15. Pull Requests
    • 16. What is a Pull Request? `
    • 17. What is a Pull Request? ` `
    • 18. Pull Requests
    • 19. Pull Requests
    • 20. Pull Requests
    • 21. Pull Requests
    • 22. Pull Requests
    • 23. Pull Requests
    • 24. Pull Requests
    • 25. Pull Requests
    • 26. Stash 1.4
    • 27. Pull Requests
    • 28. Pull Requests
    • 29. Pull Requests
    • 30. Branch Permissions
    • 31. Scale
    • 32. 500+
    • 33. NextTim Pettersen
    • 34. Tour de StashTim Pettersen, Atlassian
    • 35. What is Stash? MyRepo.git
    • 36. What is Stash?Git Hosting SSH MyRepo.git HTTP
    • 37. What is Stash?Git Hosting Browsing SSH Web UI MyRepo.git HTTP REST
    • 38. What is Stash?Git Hosting Browsing SSH Web UI MyRepo.git HTTP REST Integration Commit Hooks Events
    • 39. What is Stash?Git Hosting Browsing SSH Web UI MyRepo.git HTTP REST Integration Code Changes Commit Hooks Pull Requests Events
    • 40. Ideas?
    • 41. Plugin ideas?• Toolchain integration REST • Issue tracking Commit Hooks • Continuous Integration Events • IDEs
    • 42. Plugin ideas?• Reporting • Metrics Web UI • Static analysis• File Rendering • Business: PDF, DOC, XLS etc. • Specialist: 3DS, OBJ, WAV, MOV etc.
    • 43. Plugin ideas?• Release management Events• Code ‘bots’ Pull Requests• Commit Hooks • Auto-deployment Commit Hooks • Pre-commit validation
    • 44. Plugin ideas?• Release management Events• Code ‘bots’ Pull Requests• Commit Hooks • Auto-deployment Commit Hooks • Pre-commit validation
    • 45. Built on plugins, for pluginsstash-spi webappstash-api bundled pluginsscm-git 3rd party plugins
    • 46. First Class Citizens• Features as plugins: driving continual expansion of stash-api & stash-spi• @Deprecated - no breaking changes between releases• Puppy-fooding!
    • 47. DON’T PANIC!• Atlassian Plugins 2• SDK Support• Atlassian Platform• Velocity support (but prefer Soy)• New Atlassian PDL
    • 48. DON’T PANIC!• Atlassian Plugins 2• SDK Support• Atlassian Platform• Velocity support (but prefer Soy)• New Atlassian PDL
    • 49. stash-spistash-spi webappstash-api bundled plugins scm-git 3rd party plugins
    • 50. stash-spi• Changeset indexing• SSH end-points• SCM request checks• Form fragments
    • 51. Example:Beer O’Clock Pluginhttp://tinyurl.com/stashlas-camp
    • 52. Beer O’Clock Check git push PermissionCheck LicenseCheck ThrottleCheck repo.git
    • 53. Beer O’Clock Check git push PermissionCheck LicenseCheck ThrottleCheck BeerOClockCheck repo.git
    • 54. Beer O’Clock Check
    • 55. stash-apistash-spi webappstash-api bundled plugins scm-git 3rd party plugins
    • 56. stash-api• Services, services, services... • server admin • repositories & projects • content & history • users & groups • permissioning• 1:1 mapping with REST API
    • 57. stash-api• Events galore! • Administration - users, groups, permissions, server config • Repositories & projects • Hosting - pushes, pulls, throttling • Sync & async
    • 58. Example: Load Monitorhttp://tinyurl.com/stashlas-camp
    • 59. Load MonitorLoadMonitorListener MailService
    • 60. Load Monitor LoadMonitorLoadMonitorListener FormFragment MailService PluginSettingsFactory
    • 61. stash-api• RepositoryService repository CRUD (incl. forks!)• RepositoryMetadataService branches & tags• HistoryService file changes & changesets• ContentService diffs, content, blame
    • 62. Scale, scale, scale!• Throttling• Streamy APIs• Paging & hard limits
    • 63. Don’t stress!• Super-easy paging• Transparent throttling• Intelligent front-end
    • 64. scm-gitstash-spi webappstash-api bundled pluginsscm-git 3rd party plugins
    • 65. What is Git?• Powerful distributed versioned storage system• Stash as a platform? • History management • Collaboration (branching/merging)
    • 66. scm-git• Low level git commands• Easy process handling• Typesafe builders• Flexibility to create new commands
    • 67. Example: git-notes in Stashhttp://tinyurl.com/stashlas-camp
    • 68. git-notes in Stash GitNotesService ShowNote ShowNote ScmClientExitHandler OutputHandler
    • 69. git-notes in Stash GitNotes git-notes ContextProvider web-panel GitNotesService ShowNote ShowNote ScmClientExitHandler OutputHandler
    • 70. naughty!
    • 71. naughty!• Invoking Git on the request thread
    • 72. naughty!• Invoking Git on the request thread• Failing to ask for a resource ticket
    • 73. Thanks!http://tinyurl.com/stashlas-camp

    ×