Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Atlassian SDK Goes to 11

3,125 views

Published on

We'll show you the latest additions to the Atlassian Plugin SDK, including a major new feature that will make developing new plugins faster, simpler and easier to get right the first time.

  • Be the first to comment

  • Be the first to like this

The Atlassian SDK Goes to 11

  1. 1. Atlassian Plugins SDKAMPS Now Goes To 11!Jonathan DoklovicDeveloper Relations, Atlassian 2
  2. 2. AMPS (has always been good at)Project Creation• Easy project creation through prompts (atlas-create-jira-plugin)• Generic plugin stub• Generic unit testTesting• Easily run host product• Automatically run functional tests• Remote debug host product 3
  3. 3. AMPS (has always been good at)Project Creation• Easy project creation through prompts (atlas-create-jira-plugin)• Generic plugin stub• Generic unit testTesting• Easily run host product• Automatically run functional tests• Remote debug host product 4
  4. 4. AMPS (has always been good at)Project Creation• Easy project creation through prompts (atlas-create-jira-plugin)• Generic plugin stub• Generic unit test [Rock Out Your Plugin Here]Testing• Easily run host product• Automatically run functional tests• Remote debug host product 4
  5. 5. “Rocking Out” Your Plugin (the old way) 5
  6. 6. “Rocking Out” Your Plugin (the old way) 5
  7. 7. “Rocking Out” Your Plugin (the old way) 6
  8. 8. “Rocking Out” Your Plugin (the old way) 6
  9. 9. “Rocking Out” Your Plugin (the old way) 7
  10. 10. “Rocking Out” Your Plugin (the old way) 7
  11. 11. “Rocking Out” Your Plugin (the old way) 8
  12. 12. “Rocking Out” Your Plugin (the old way) 8
  13. 13. “Rocking Out” Your Plugin (the old way) 9
  14. 14. “Rocking Out” Your Plugin (the old way) 9
  15. 15. “Rocking Out” Your Plugin (the old way) 10
  16. 16. “Rocking Out” Your Plugin (the old way) 10
  17. 17. “Rocking Out” Your Plugin (the old way) 11
  18. 18. “Rocking Out” Your Plugin (the old way) 11
  19. 19. “Rocking Out” Your Plugin (the old way) 12
  20. 20. “Rocking Out” Your Plugin (the old way) 12
  21. 21. “Rocking Out” Your Plugin (the old way) 13
  22. 22. “Rocking Out” Your Plugin (the old way) 13
  23. 23. “Rocking Out” Your Plugin (the old way) 14
  24. 24. “Rocking Out” Your Plugin (the old way) 14
  25. 25. “Rocking Out” Your Plugin (the old way) 15
  26. 26. “Rocking Out” Your Plugin (the old way) 15
  27. 27. “Rocking Out” Your Plugin (the old way) 16
  28. 28. “Rocking Out” Your Plugin (the old way) 16
  29. 29. “Rocking Out” Your Plugin (the old way) 17
  30. 30. “Rocking Out” Your Plugin (the old way) 17
  31. 31. “Rocking Out” Your Plugin (the old way) 18
  32. 32. “Rocking Out” Your Plugin (the old way) 18
  33. 33. “Rocking Out” Your Plugin (the old way) 19
  34. 34. “Rocking Out” Your Plugin (the old way) 19
  35. 35. “Rocking Out” Your Plugin (the old way) 20
  36. 36. “Rocking Out” Your Plugin (the old way) 20
  37. 37. “Rocking Out” Your Plugin (the old way) I’m Ready To Code! (what was I writing again?) 21
  38. 38. “Rocking Out” Your Plugin (the old way) I’m Ready To Code! (what was I writing again?) 21
  39. 39. 22
  40. 40. SDK/AMPS 3.6get it: http://developer.atlassian.com• Easily Create Plugin Modules • atlas-create-jira-plugin-module• Less Time Hunting in Docs• Less Manual Setup• Get To Coding Faster• Get To Testing Faster• Get To DRINKING BEER FASTER! 23
  41. 41. What’s Next?• All modules for ALL Products • currently common modules + JIRA modules• Automated Testing of Generated Modules• Product-Version Aware Generators• YOUR Feedback 24
  42. 42. Contribute! https://studio.atlassian.com/browse/AMPS 25
  43. 43. One more thing... 26
  44. 44. Zach DavisJavaScript Developer, Atlassian 27
  45. 45. Faster plugin development.Zach DavisJavaScript Developer, Atlassian 27
  46. 46. Faster plugin development. Greater sanity.Zach DavisJavaScript Developer, Atlassian 27
  47. 47. Faster plugin development. Greater sanity.Zach DavisJavaScript Developer, Atlassian 28
  48. 48. Faster plugin development. Greater sanity.Zach DavisJavaScript Developer, Atlassian Developer 28
  49. 49. Faster plugin development. Greater sanity.Zach DavisJavaScript Developer, Atlassian Developer 28
  50. 50. You should probably hate me. 29
  51. 51. You should probably hate me.Seriously. 29
  52. 52. Edit. 30
  53. 53. Edit. Save. 30
  54. 54. Reload. 31
  55. 55. This slide intentionally left blank. 32
  56. 56. Edit. Save. Reload. 33
  57. 57. Edit. Save. Reload. 33
  58. 58. Edit. Save. Reload. 33
  59. 59. Edit. Save. Reload. 33
  60. 60. You should probably hate me. 34
  61. 61. You should probably hate me.But hear me out. 34
  62. 62. We’re here to help 35
  63. 63. We’re here to help• Maven CLI Plugin 35
  64. 64. We’re here to help• Maven CLI Plugin• Plugin SDK 35
  65. 65. We’re here to help• Maven CLI Plugin• Plugin SDK• FastDev 36
  66. 66. Demo! 37
  67. 67. How it works 38
  68. 68. How it works• Servlet filter that listens for shift + reload (ctl + reload in IE) 38
  69. 69. How it works• Servlet filter that listens for shift + reload (ctl + reload in IE) • Checks “Cache-Control” and “Pragma” headers 38
  70. 70. How it works• Servlet filter that listens for shift + reload (ctl + reload in IE) • Checks “Cache-Control” and “Pragma” headers• If detected, scans plugin directories for changes 38
  71. 71. How it works• Servlet filter that listens for shift + reload (ctl + reload in IE) • Checks “Cache-Control” and “Pragma” headers• If detected, scans plugin directories for changes• If found, spins up a maven process to perform pi 38
  72. 72. How to get it 39
  73. 73. How to get it• Bundled in the Plugin SDK 3.6, released yesterday 39
  74. 74. Configurability 40
  75. 75. Configurability• Any single module plugin should work out of the box 40
  76. 76. Configurability• Any single module plugin should work out of the box • For multi-module plugins, specify additional plugin root directories 40
  77. 77. Configurability• Any single module plugin should work out of the box • For multi-module plugins, specify additional plugin root directories• Can ignore additional files, extensions or directories 40
  78. 78. Configurability• Any single module plugin should work out of the box • For multi-module plugins, specify additional plugin root directories• Can ignore additional files, extensions or directories• Can change the mvn command 40
  79. 79. Configurability• Any single module plugin should work out of the box • For multi-module plugins, specify additional plugin root directories• Can ignore additional files, extensions or directories• Can change the mvn command• Can disable FastDev 40
  80. 80. Configurability• Any single module plugin should work out of the box • For multi-module plugins, specify additional plugin root directories• Can ignore additional files, extensions or directories• Can change the mvn command• Can disable FastDev• All from your plugin’s pom.xml file 40
  81. 81. Future Work 41
  82. 82. Future Work• Maven 3 41
  83. 83. Future Work• Maven 3 • Invoke maven programmatically so we don’t have to spin up a new vm 41
  84. 84. Future Work• Maven 3 • Invoke maven programmatically so we don’t have to spin up a new vm• Dependency Management 41
  85. 85. Future Work• Maven 3 • Invoke maven programmatically so we don’t have to spin up a new vm• Dependency Management • Currently unreliable for multiple plugins with cross-dependencies 41
  86. 86. More information 42
  87. 87. More information• Docs: https://studio.atlassian.com/wiki/display/FASTDEV• Bugs: https://studio.atlassian.com/browse/FASTDEV 42
  88. 88. More information• Docs: https://studio.atlassian.com/wiki/display/FASTDEV• Bugs: https://studio.atlassian.com/browse/FASTDEV• Plugin SDK: http://developer.atlassian.com/ 42
  89. 89. More information• Docs: https://studio.atlassian.com/wiki/display/FASTDEV• Bugs: https://studio.atlassian.com/browse/FASTDEV• Plugin SDK: http://developer.atlassian.com/• Find me or email me: zach@atlassian.com 42
  90. 90. Thank you!

×