Your SlideShare is downloading. ×
0
Thursday, 29 September 11
JIRA 5.0              A killer platform for applications              Matt Quail (Spuddy)              JIRA Architect, Atl...
The Expanding JIRASphere                            7,900   17,000    x3                            120     330,000   140T...
Developing & Integrating JIRA                            Plugins   Remote                                               4T...
JIRA Plugins                            Easier to Consume   Easier to Develop                                             ...
Easier to Consume: Adoption                            Find               Install                                   UPM + ...
Easier to Consume: Upgrades                            No Restart RequiredThursday, 29 September 11
Introducing the JIRA Stable API                                                                                Implementat...
Stability              • Forwards binary compatibility for minor releases              • Deprecated methods removed at nex...
How to make your plugin as              stable as possible              1.Use jira-api.jar              2.Avoid jira-core....
Easier to Develop: Get Started              • See Jonathan and Zach’s talk                from yesterday:                “...
New Plugin Points                                  12Thursday, 29 September 11
In Action             <!-- Details panel -->             <web-panel key="details-module" location="atl.jira.view.issue.lef...
ActiveObjects in JIRA          • Storage for Plugins               • Jason’s talk yesterday: “Using AO                 for...
JIRA UI              • Single Decorator                  Consistent markup/CSS across JIRA pages                  Better p...
Internalizing plugins                                                         Remote Issue Links                          ...
Getting 5.0 Compatible!                                      JIRA API Guru                                      Sessions @...
Remote Integration to JIRA          • Why Remote?                    Install                  Zero Customer Install       ...
What’s up with JIRA REST?              • Moved from Alpha to Stable              • Now our primary Remote protocol        ...
REST in 5.0 - full banquet                   • See Rich’s talk tomorrow afternoon:                     “JIRA 5.0 REST API”...
REST in 5.0 - quick taste                                                                      {                          ...
From SOAP to REST               <?xml version="1.0" encoding="UTF-8"?>               <wsdl:definitions targetNamespace="ht...
Tell me more about REST!                      REST in JIRA 5.0      In REST, not in SOAP                                  ...
Thursday, 29 September 11
Remote Issue Links                                   25Thursday, 29 September 11
Add a Link easily via REST               POST to http://<JIRA Server>/rest/api/2/issue/<IssueKey>/remotelink              ...
Custom Remote Link Plugins               • Render                            Render the link differently                  ...
Activity Streams via REST         • Simple Add Activity API           via REST (or Java)         • “Get in the Flow with  ...
A couple of extra goodies....                                              29Thursday, 29 September 11
JIRA Issue Collector               With a small snippet of JS,               get this widget on your               website...
JIRA Mobile Connect        User Feedback and Issue Tracking for Mobile App Developers        Contextual, Automated Crash R...
JIRA Issue Collector                  JIRA Mobile Connect                             Gadgets                            D...
SEPTEMBER         28                                If you are 5.0 Compatible in            OCTOBER                       ...
Thank you!Thursday, 29 September 11
Active Objects - Resources                 Project                 https://studio.atlassian.com/browse/AO                 ...
JIRA UX - Resources                 Documentation                 AUI                 https://developer.atlassian.com/disp...
Plugin Dev - More Resources                Documentation                https://developer.atlassian.com/display/JIRADEV/Pr...
REST API - Resources                 Java REST Client for JIRA:                    Plugin: https://plugins.atlassian.com/p...
Remote Issue Links - Resources                 Documentation                 https://developer.atlassian.com/display/JIRAD...
New Plugin Points - Resources                 Documentation                      All JIRA plugin modules                  ...
Goodies Resources                  JIRA Mobile Connect                  Info:                  http://www.atlassian.com/en...
Thank you!Thursday, 29 September 11
Upcoming SlideShare
Loading in...5
×

Get Ready for JIRA 5 - AtlasCamp 2011

6,049

Published on

JIRA 5 is coming – we've only done four major releases in the last nine years, so you know this one is big. We're getting ready to inaugurate a new era in JIRA plugin development with JIRA 5, and the JIRA product manager and JIRA architect will be there to share how you can build with JIRA for the next decade.

Matt Quail, JIRA Architect

Published in: Technology, Art & Photos
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,049
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
35
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Get Ready for JIRA 5 - AtlasCamp 2011"

  1. 1. Thursday, 29 September 11
  2. 2. JIRA 5.0 A killer platform for applications Matt Quail (Spuddy) JIRA Architect, Atlassian 2Thursday, 29 September 11
  3. 3. The Expanding JIRASphere 7,900 17,000 x3 120 330,000 140Thursday, 29 September 11
  4. 4. Developing & Integrating JIRA Plugins Remote 4Thursday, 29 September 11
  5. 5. JIRA Plugins Easier to Consume Easier to Develop 5Thursday, 29 September 11
  6. 6. Easier to Consume: Adoption Find Install UPM + PACThursday, 29 September 11
  7. 7. Easier to Consume: Upgrades No Restart RequiredThursday, 29 September 11
  8. 8. Introducing the JIRA Stable API Implementation JIRA Stable API Classes jira-api.jar atlassian-jira.jar jira-core.jar “Public classes used by No promises of Stable within one stability plugin developers at their major release to own risk” the next 8Thursday, 29 September 11
  9. 9. Stability • Forwards binary compatibility for minor releases • Deprecated methods removed at next major release 5.0 5.1 5.x 6.0 major release method deprecated method removed At least 12 months 9Thursday, 29 September 11
  10. 10. How to make your plugin as stable as possible 1.Use jira-api.jar 2.Avoid jira-core.jiar 3.Give us feedback. 10Thursday, 29 September 11
  11. 11. Easier to Develop: Get Started • See Jonathan and Zach’s talk from yesterday: “The Atlassian SDK goes to 11” • Don’s talk up next: “Five Strategies to Accelerate Plugin Dev” 11Thursday, 29 September 11
  12. 12. New Plugin Points 12Thursday, 29 September 11
  13. 13. In Action <!-- Details panel --> <web-panel key="details-module" location="atl.jira.view.issue.left.context" weight="100"> <context-provider class="com.atlassian.jira.plugin.viewissue.DetailsBlockContextProvider"/> <resource name="view" type="velocity" location="viewissue/detailsblock.vm"/> <label key="viewissue.subheading.issuedetails"/> </web-panel> <!-- Description panel --> <web-panel key="descriptionmodule" location="atl.jira.view.issue.left.context" weight="200"> <context-provider class="com.atlassian.jira.plugin.viewissue.DescriptionBlockContextProvider"/> <resource name="view" type="velocity" location="viewissue/descriptionblock.vm"/> <label key="common.concepts.description"/> <condition class="com.atlassian.jira.plugin.webfragment.conditions.IsFieldHiddenCondition" invert="true"> <param name="field">description</param> </condition> </web-panel> <!-- Peopleweb panel --> <web-panel key="peoplemodule" location="atl.jira.view.issue.right.context" weight="10"> <context-provider class="com.atlassian.jira.plugin.webfragment.contextproviders.MultiContextProvider"> <param name="pluginKey">${project.groupId}.${project.artifactId}</param> <param name="ctxProvider-1">com.atlassian.jira.plugin.webfragment.contextproviders.I18nContextProvider</param> <param name="ctxProvider-2">com.atlassian.jira.plugin.viewissue.PeopleBlockContextProvider</ param> <param name="ctxProvider-3">com.atlassian.jira.plugin.webfragment.contextproviders.DefaultVelocityContextProvider< /param> </context-provider> <resource name="view" type="velocity" location="viewissue/peopleblock.vm"/> <label key="common.concepts.people" /> </web-panel> <!-- Dates web panel --> <web-panel key="datesmodule" location="atl.jira.view.issue.right.context" weight="40"> <context-provider class="com.atlassian.jira.plugin.viewissue.DateBlockContextProvider"/> <resource name="view" type="velocity" location="viewissue/datesblock.vm"/> 13Thursday, 29 September 11
  14. 14. ActiveObjects in JIRA • Storage for Plugins • Jason’s talk yesterday: “Using AO for Rapid Plugin Dev” • Supported in JIRA 5.0! • Schema management, SQL support • Integrated into JIRA Backup/ Restore • Already used by GreenHopper, Activity Streams 14Thursday, 29 September 11
  15. 15. JIRA UI • Single Decorator Consistent markup/CSS across JIRA pages Better performance for client & server More stability surrounding the markup/CSS Improved markup structure/semantics Default styles reflect Look & Feel • AUI Yesterday’s What’s New in AUI talk 15Thursday, 29 September 11
  16. 16. Internalizing plugins Remote Issue Links Project Configuration Workflow Designer Quick Edit Studio plugins migrating to stable APIs JIRA now develops more in plugins 16Thursday, 29 September 11
  17. 17. Getting 5.0 Compatible! JIRA API Guru Sessions @ AtlasCamp Wednesday Noon-2 PM Thursday 3-5 PM Friday 3-5 PM 17Thursday, 29 September 11
  18. 18. Remote Integration to JIRA • Why Remote? Install Zero Customer Install Integrates with JIRA Studio Lightweight Web Standards And some new features specifically designed for remote integration! 18Thursday, 29 September 11
  19. 19. What’s up with JIRA REST? • Moved from Alpha to Stable • Now our primary Remote protocol • Easy to use with JS/HTML, Ruby, Python, PHP, etc. 19Thursday, 29 September 11
  20. 20. REST in 5.0 - full banquet • See Rich’s talk tomorrow afternoon: “JIRA 5.0 REST API” 20Thursday, 29 September 11
  21. 21. REST in 5.0 - quick taste { "id":"10000", "key":"TST-1", • Get an issue: "fields":{ "summary":"Issue under test", "created":"2011-06-29T18:40:56.287+1000", GET http://localhost:8080/rest/api/2/issue/TST-1 "updated":"2011-09-26T14:30:06.871+1000", "description":"This is the issue under test.", • Update Summary: "status":{ "iconUrl":"http://localhost:8080/images/icons/...", "name":"Open", PUT http://localhost:8080/rest/api/2/issue/TST-1 "id":"1" }, { "labels":["abc"], "fields":{ "assignee":{ "summary":"new summary", "name":"admin", } "emailAddress":"admin@example.com", } "avatarUrls":{ "16x16":"http://localhost:8080/secure/ useravatar?size=small&avatarId=10062", 21Thursday, 29 September 11
  22. 22. From SOAP to REST <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://jira.atlassian.com/rpc/soap/ jirasoapservice-v2" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://jira.atlassian.com/rpc/soap/jirasoapservice-v2" xmlns:intf="http://jira.atlassian.com/rpc/soap/jirasoapservice-v2" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http:// exception.rpc.jira.atlassian.com" xmlns:tns2="http:// beans.soap.rpc.jira.atlassian.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/ 2001/XMLSchema"> <!--WSDL created by Apache Axis version: 1.3 Built on Oct 05, 2005 (05:23:37 EDT)--> <wsdl:types> <schema targetNamespace="http://exception.rpc.jira.atlassian.com" xmlns="http:// www.w3.org/2001/XMLSchema"> { <import namespace="http://beans.soap.rpc.jira.atlassian.com"/> <import namespace="http://jira.atlassian.com/rpc/soap/jirasoapservice-v2"/> "fields":{ <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="RemoteException"> "summary":"new summary", <sequence/> } </complexType> <complexType name="RemoteValidationException"> } <complexContent> <extension base="tns1:RemoteException"> <sequence/> </extension> </complexContent> </complexType> <complexType name="RemotePermissionException"> <complexContent> <extension base="tns1:RemoteException"> <sequence/> </extension> </complexContent> </complexType> <complexType name="RemoteAuthenticationException"> <complexContent> <extension base="tns1:RemoteException"> 22Thursday, 29 September 11
  23. 23. Tell me more about REST! REST in JIRA 5.0 In REST, not in SOAP Custom Fields (inc Search Issues names), Labels, Get Issue Details Attachments, Avatars, A few project APIs Icons, Move, Watch, +Better Search Voting Issue, Screen Info, +All Issue Details Rendered HTML, +Create Issue Autocomplete, “Non- +Edit Issue chatty” Metadata, Query a +Full Metadata subset of the fields, Set =Full Issue Support Securty Level, Manage Issue Links, Change Log 23Thursday, 29 September 11
  24. 24. Thursday, 29 September 11
  25. 25. Remote Issue Links 25Thursday, 29 September 11
  26. 26. Add a Link easily via REST POST to http://<JIRA Server>/rest/api/2/issue/<IssueKey>/remotelink 26Thursday, 29 September 11
  27. 27. Custom Remote Link Plugins • Render Render the link differently Update the link data from the remote source • Custom “Add Link” Dialogs Add link via key vs URL Add remote search 27Thursday, 29 September 11
  28. 28. Activity Streams via REST • Simple Add Activity API via REST (or Java) • “Get in the Flow with Atlassian Streams” • Ben Woskow, 1:30 PM Thursday (today!) 28Thursday, 29 September 11
  29. 29. A couple of extra goodies.... 29Thursday, 29 September 11
  30. 30. JIRA Issue Collector With a small snippet of JS, get this widget on your website: And the user’s feedback becomes a JIRA Issue https://plugins.atlassian.com/ plugin/details/583856 30Thursday, 29 September 11
  31. 31. JIRA Mobile Connect User Feedback and Issue Tracking for Mobile App Developers Contextual, Automated Crash Reporting. Interactive Feedback. Data Reporting Done Right. 31Thursday, 29 September 11
  32. 32. JIRA Issue Collector JIRA Mobile Connect Gadgets Decorators AUI Vertical Remote Applications Activity Streams Integration on JIRA Remote Issue Links JIRA REST APIs Active Objects JIRA Stable API Stable Rapid Plugins 2.0 Development Development SAL Application Links 32Thursday, 29 September 11
  33. 33. SEPTEMBER 28 If you are 5.0 Compatible in OCTOBER time for JIRA’s launch: 31 RC1 then you launch with JIRA. Contact Kyle Miller (kmiller@atlassian.com) for NOVEMBER details! 30 final/launch 33Thursday, 29 September 11
  34. 34. Thank you!Thursday, 29 September 11
  35. 35. Active Objects - Resources Project https://studio.atlassian.com/browse/AO Documentation https://developer.atlassian.com/display/AO/Active+Objects Tutorials https://developer.atlassian.com/display/AO/Getting+Started+with+Active+Objects 35Thursday, 29 September 11
  36. 36. JIRA UX - Resources Documentation AUI https://developer.atlassian.com/display/AUI/Atlassian+User+Interface+%28AUI %29+Developer+Documentation Changes to markup in JIRA 5.0 https://developer.atlassian.com/display/JIRADEV/Changes+to+markup%2C+CSS+and +Decorators+in+JIRA+5.0 36Thursday, 29 September 11
  37. 37. Plugin Dev - More Resources Documentation https://developer.atlassian.com/display/JIRADEV/Preparing+for+JIRA+5.0 https://developer.atlassian.com/display/JIRADEV/How+to+migrate+a+plugin+from+JIRA+4.x +to+JIRA+5.0 JIRA 5.0 Tutorials https://developer.atlassian.com/display/JIRADEV/JIRA+REST+API+Tutorials 37Thursday, 29 September 11
  38. 38. REST API - Resources Java REST Client for JIRA: Plugin: https://plugins.atlassian.com/plugin/details/39474 Doc: https://studio.atlassian.com/wiki/display/JRJC/Home Tutorial: https://studio.atlassian.com/wiki/display/JRJC/Tutorial Documentation Overview https://developer.atlassian.com/display/JIRADEV/JIRA+REST+API+in+JIRA+5.0 REST API Docs http://docs.atlassian.com/jira/REST/latest/ Tutorials https://developer.atlassian.com/display/JIRADEV/JIRA+REST+API+Tutorials 38Thursday, 29 September 11
  39. 39. Remote Issue Links - Resources Documentation https://developer.atlassian.com/display/JIRADEV/JIRA+Remote+Issue+Links Tutorial https://developer.atlassian.com/display/JIRADEV/JIRA+REST+API+for+Remote+Issue+Links 39Thursday, 29 September 11
  40. 40. New Plugin Points - Resources Documentation All JIRA plugin modules https://developer.atlassian.com/display/JIRADEV/JIRA+Developer+Documentation Web panels https://developer.atlassian.com/display/JIRADEV/Web+Panel+Plugin+Module Java API Documentation http://docs.atlassian.com/software/jira/docs/api/ Tutorials https://developer.atlassian.com/display/JIRADEV/How+to+create+a+new+Custom+Field+Type https://developer.atlassian.com/display/DOCS/Plugin+Tutorial+-+Adding+your+own+Menu+Items+to+JIRA https://developer.atlassian.com/display/DOCS/Plugin+Tutorial+-+Creating+a+JIRA+Report https://developer.atlassian.com/display/DOCS/Plugin+Tutorial+-+Writing+Integration+Tests+for+your+JIRA+plugin https://developer.atlassian.com/display/DOCS/Plugin+Tutorial+-+Adding+a+JQL+Function+to+JIRA 40Thursday, 29 September 11
  41. 41. Goodies Resources JIRA Mobile Connect Info: http://www.atlassian.com/en/jiramobileconnect https://plugins.atlassian.com/plugin/details/322837 Code: https://bitbucket.org/atlassian/jiraconnect-jiraplugin JIRA Issue Collector: https://plugins.atlassian.com/plugin/details/583856 41Thursday, 29 September 11
  42. 42. Thank you!Thursday, 29 September 11
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×