PageRenderTime 41ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/content/server/framework/atlassian-sdk/working-with-the-sdk.md

https://bitbucket.org/zchristmas/atlassian-sdk-docs
Markdown | 402 lines | 114 code | 288 blank | 0 comment | 0 complexity | e51e337791d6563a0e04f38f8ed447f8 MD5 | raw file
Possible License(s): LGPL-2.0
  1. ---
  2. aliases:
  3. - /server/framework/atlassian-sdk/working-with-the-sdk-2818723.html
  4. - /server/framework/atlassian-sdk/working-with-the-sdk-2818723.md
  5. category: devguide
  6. confluence_id: 2818723
  7. dac_edit_link: https://developer.atlassian.com/pages/editpage.action?cjm=wozere&pageId=2818723
  8. dac_view_link: https://developer.atlassian.com/pages/viewpage.action?cjm=wozere&pageId=2818723
  9. date: '2017-12-08'
  10. guides: guides
  11. legacy_title: Working with the SDK
  12. platform: server
  13. product: atlassian-sdk
  14. subcategory: learning
  15. title: Working with the SDK
  16. ---
  17. # Working with the SDK
  18. The Atlassian Plugin SDK provides a set of shell scripts for creating, installing and building plugins for Atlassian products. This page introduces the SDK.
  19. ## Benefits of Using the Atlassian Plugin SDK
  20. The Atlassian Plugin SDK makes your life easier by helping you do the following:
  21. - Build plugins for any Atlassian application with a single tool.
  22. - Create a plugin skeleton from a Maven archetype, specific to the Atlassian application you are developing for.
  23. - Download the application binaries, install your plugin and start the application.
  24. - Dynamically re-install your plugin after changes during development. No restart required, not even for JIRA.
  25. - Use dynamic bundle dependencies with the OSGi framework.
  26. - Write quality unit tests and integration tests.
  27. - Speed up the all-important code-deploy-test cycle.
  28. And more! And we're continually improving the SDK with new and better features.
  29. ## Looking at the SDK Command Format
  30. The SDK commands are wrappers for the underlying Maven commands. The SDK Maven plugin defines custom Maven goals for performing common plugin development tasks. If you want to run the integration tests - and only the integration tests - you can say:
  31. `atlas-integration-test`
  32. Similarly, you can run the unit tests in isolation:
  33. `atlas-unit-test`
  34. You can also install your plugin from the command line, instead of having to browse to the correct page and make several clicks:
  35. `atlas-install-plugin`
  36. Or:
  37. `atlas-cli` then `pi`
  38. You can pass parameters on the command line in the form:
  39. `atlas-run-standalone --product confluence`
  40. To pass Java parameters in a command, use the `jvmargs` parameter, in the following form: 
  41. ``` bash
  42. atlas-run-standalone --product confluence --jvmargs '-D<parameter1>=<value> -D<parameter2>=<value>'
  43. ```
  44. ## Running Behind a Corporate Firewall
  45. If you're working behind a proxy server requiring NTLM authentication, you may find it convenient to use a local authenticating proxy server, such as `cntlm`. You can then set Java HTTP environment variables in your SDK commands to point to the proxy. For example, by using:
  46. ``` bash
  47. -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=3128 -Dhttp.nonProxyHosts=localhost|127.0.0.*
  48. ```
  49. To run the SDK commands where your Java programs don't have direct access to the Internet, your atlas commands should be run with the `-DallowGoogleTracking=false` flag. This disables Google web requests during the build process.
  50. ## Supported Atlassian Applications and Default Ports
  51. The table below shows the applications currently supported by the Atlassian Plugin SDK, the default port, and the product key for each host application.
  52. <table>
  53. <colgroup>
  54. <col style="width: 33%" />
  55. <col style="width: 33%" />
  56. <col style="width: 33%" />
  57. </colgroup>
  58. <thead>
  59. <tr class="header">
  60. <th><p>Atlassian Application</p></th>
  61. <th><p>Default Port</p></th>
  62. <th><p>Product Key</p></th>
  63. </tr>
  64. </thead>
  65. <tbody>
  66. <tr class="odd">
  67. <td><p><a href="http://www.atlassian.com/software/bamboo" class="external-link">Bamboo</a></p></td>
  68. <td><p>6990</p></td>
  69. <td><p>bamboo</p></td>
  70. </tr>
  71. <tr class="even">
  72. <td><a href="https://www.atlassian.com/software/bitbucket/server" class="external-link">Bitbucket</a></td>
  73. <td>7990</td>
  74. <td>bitbucket</td>
  75. </tr>
  76. <tr class="odd">
  77. <td><p><a href="http://www.atlassian.com/software/confluence" class="external-link">Confluence</a></p></td>
  78. <td><p>1990</p></td>
  79. <td><p>confluence</p></td>
  80. </tr>
  81. <tr class="even">
  82. <td><p><a href="http://www.atlassian.com/software/crowd" class="external-link">Crowd</a></p></td>
  83. <td><p>4990</p></td>
  84. <td><p>crowd</p></td>
  85. </tr>
  86. <tr class="odd">
  87. <td><p><a href="http://www.atlassian.com/software/crucible" class="external-link">Crucible</a></p></td>
  88. <td><p>3990</p></td>
  89. <td><p>fecru</p></td>
  90. </tr>
  91. <tr class="even">
  92. <td><p><a href="http://www.atlassian.com/software/fisheye" class="external-link">FishEye</a></p></td>
  93. <td><p>3990</p></td>
  94. <td><p>fecru</p></td>
  95. </tr>
  96. <tr class="odd">
  97. <td><p><a href="http://www.atlassian.com/software/jira" class="external-link">JIRA</a></p></td>
  98. <td><p>2990</p></td>
  99. <td><p>jira</p></td>
  100. </tr>
  101. <tr class="even">
  102. <td><p><a href="https://developer.atlassian.com/display/DOCS/About+the+Atlassian+RefApp">RefApp</a></p></td>
  103. <td><p>5990</p></td>
  104. <td><p>refapp</p></td>
  105. </tr>
  106. <tr class="odd">
  107. <td><p><a href="http://www.atlassian.com/software/stash" class="external-link">Stash</a></p></td>
  108. <td><p>7990</p></td>
  109. <td><p>stash</p></td>
  110. </tr>
  111. </tbody>
  112. </table>
  113. **Caveat for <a href="http://www.atlassian.com/software/jira" class="external-link">JIRA</a>:** Plugins developed for versions of JIRA before 4.0 are supported, but using the SDK with versions of JIRA earlier than 4.0 is not. For developing plugins for JIRA 3.13 and earlier, take a look at the [JIRA Documentation Archives](https://developer.atlassian.com/display/ARCHIVES/JIRA+Documentation+Archives).
  114. The SDK supports both [static](/server/framework/atlassian-sdk/static-plugin) and [dynamic](/server/framework/atlassian-sdk/dynamic-plugin) plugins. The focus is on [version 2 plugins](/server/framework/atlassian-sdk/version-1-or-version-2-plugin), as supported by the Atlassian Plugin Framework.