Last updatedDec 18, 2018

App approval guidelines

After creating and testing your app, your next step is to submit it for approval. To uphold standards of quality and reliability that our customers expect, all publicly listed apps are subject to an approval process.

Which apps are subject to the approval process?

 

  • Publicly listed, new apps
  • Payment model changes: For example, if your app changes from free or paid-via-vendor to a paid-via-Atlassian app.
  • Hosting changes: If you add a version that uses a different hosting model. For example, if you have a download/behind-the-firewall app, and add a version for Atlassian-hosted cloud products.

If an earlier app version is already approved, routine version updates are exempt from the approval process except in the above cases.

Approval process

Approval times vary depending on current volume and the Marketplace team’s availability, submissions fall into an internal queue which the Marketplace team works through chronologically as they come in. Our team checks a range of requirements for your app, like if it installs properly and has documentation. It's not uncommon to experience a few rounds of the approval process. To avoid unnecessary updates and resubmissions, make sure your app adheres to the guidelines on this page. If you believe your approval is taking too long, feel free to check in via a question to our team.

  1. Log in to https://marketplace.atlassian.com/ with your vendor account.
  2. Click Publish a new app from the profile menu in the upper right.
  3. Fill out the app submission form and upload related assets. 
  4. Accept the Marketplace vendor agreement, and submit your app.
  5. Our Marketplace team automatically creates a Jira issue to track the approval process. Create an account for Ecosystem Jira so you can track the status. Use the same email as your Marketplace vendor profile.
  6. You'll be notified via email that your submission was successful, and receive a URL to track the approval process. You can click View workflow in the details section of your Jira issue to see the submission status.
  7. Once approved, your Jira issue is closed and your app is published to the Marketplace.

Criteria for all apps

All apps, free or paid, for Cloud or Server instances, need to meet the following criteria: 

  • Provide marketing assets: Provide marketing assets like a logo, banner, and screenshots as defined by Building your presence on MarketplaceDeclare these assets in the app descriptor. This is recommended but not required for free apps.
  • Reasonable pricing: Your paid app should be reasonably and competitively priced.
  • Performs as described: Your app does what it advertises.
  • Provide documentation: Your listing should reference documentation that describes how to set up and use your app.
  • Doesn't break the host product UI: The UI of the host product should be functional and intact when your app is installed. If the UI breaks, your app will be rejected.
  • Doesn't degrade host product performance: Your app shouldn't significantly impact the host product performance.
  • Doesn't infringe Atlassian trademarks: Trademark infringement is an automatic rejection, so be sure to read our brand guidelines for Marketplace vendors before submitting your app. This includes visual assets as well as naming conventions. For example, Jira App X would be rejected, but App X for Jira would be approved.
  • Available source code for open-source apps: If your app is open source, ensure your source is publicly available. We recommend a hosting site like Bitbucket. Include a license file in your source code that matches what you report in the Marketplace.
  • No advertisements: Your listing shouldn't contain advertising for other apps, products, or services. You can mention paid versions of the same app or products that complement your app. In the host product, your app should abide by the same rules. Reminders for upgrades, complementary products, or additional features are acceptable. We recommend placing these reminders in configuration screens.
  • Free and paid external service elements are clear: If your app listing is free, ensure your app provides some useful function in the Atlassian parent product 'as is'. If your app requires a separate third-party account this must be clear. If a separate third-party account is required and is subject to payments and licensing, ensure this is clear. We recommend in most cases these apps be listed as paid via vendor, unless your app provides some useful functionality without the third-party account.

Additional criteria for paid via Atlassian, server apps

Your paid via Atlassian, server app adheres to the criteria listed for all apps, plus:

  • Accept the Marketplace vendor agreement: Upon submission, accept the Marketplace vendor agreement.
  • Specify the Atlassian-Build-Date in your manifest: Using AMPS 3.9+ adds this manifest entry for you. If you edit this date manually, ensure the value is on or close to the actual app release date. See Creating a server app package.
  • Specifies OSGI bundle instructions: Specify the bundledArtifact entries required by the Licensing API.
  • Uses the UPM API/UI for license management:  Your atlassian-plugin.xml descriptor file includes the atlassian-licensing-enabled param.  This parameter enables customers to manage their app licenses in UPM versions 2+.
  • Provides a license administration screen scoped by app key (< UPM 2.0): Your atlassian-plugin.xml descriptor file includes the atlassian-licensing-enabled param. This parameter enables customers to manage their app licenses in UPM versions 2+.
  • Use a non-milestone release of the plugin-license-storage-library (< UPM 2.0): The oldest approvable version of the Licensing API/plugin-storage-library dependency is 2.2.2, but we prefer the latest available. Milestone or versions older than 2.2.2 may be unsafe for production use.
  • App is runnable without the Licensing API being previously installed: Even though the Licensing API might already be present in your development environment, it may not be previously installed on a customer's environment. Use the code generation tool to work around this. If it still fails, you may need to consider an alternate deployment model.
  • Your app stops working if the licenseManager component reports an license error: Your app should stop functioning if or when an invalid license is detected by the licenseManager component.
  • Marked as Deployable: You qualify your app as Deployable in the create app form.
  • Match prices listed elsewhere: If you sell your app through the Marketplace and another channel, the prices must be the same. This is part of the Marketplace vendor agreement.
  • Stable app version: Your paid via Atlassian app version is listed as Stable.
  • Uses a Configure link in the UPM (< UPM 2.0):Has a configure link in UPM that links to either a license administration screen or a more general configuration page that includes a link to the license administration screen. If the minimum version you support bundles UPM 2.0 or higher, this requirement doesn't apply.
  • Use the Plugins2 framework: New apps that use the prior framework, Plugins1, are no longer accepted.
  • Provide support: Offer support by email, phone, or web-based applications like Jira or Zendesk as described in the Marketplace vendor agreement.
  • Register with our Developer Community: At least one contact from your vendor profile is registered with the Atlassian Developer Community for future correspondence.
  • Building for Data Center?: Apps built for Data Center have a few additional requriements, see our information on Developing for Data Center process.

Additional criteria for cloud apps

Your cloud app adheres to the criteria listed for all apps, plus:

  • No duplicate, separate listing(s): If your cloud app has the same essential functionality as an existing server app you've published previously, it should share the same listing. You can do this by clicking Create version from the App versions screen.
  • Accept the Marketplace vendor agreement: Upon submission, accept the Marketplace vendor agreement.
  • Publish a security statement: Cloud apps require a published security statement to be listed in the Marketplace. Here's the Cloud Security Statement as an example.
  • No advertisements: Your listing shouldn't contain advertising for other apps, products or services. The app shall not place similar advertising in-product (within the user interface of Jira, Confluence or other host products).
  • Secure authentication: Whilst your app may make use of Basic authentication with Atlassian's product REST APIs for ease of development/speed during development, this shall not be the case for any public, approved app. Additionally, shared secrets from customer-installed apps shall be stored in a secure manner.
  • Register with our Developer Community: At least one contact from your vendor profile is registered with the Atlassian Developer Community for future correspondence.