{
  "key": "com.soldevelo.apps.test_management_premium.demo",
  "baseUrl": "https://apps-qalityplus-dev.soldevelo.com",
  "name": "QAlity Plus - Test Management for Jira - Demo",
  "description": "QAlity Plus. Current version is 1.0.96-SNAPSHOT",
  "enableLicensing": true,
  "vendor": {
    "name": "SolDevelo",
    "url": "http://www.soldevelo.com"
  },
  "authentication": {
    "type": "jwt"
  },
  "lifecycle": {
    "installed": "/installed",
    "uninstalled": "/uninstalled"
  },
  "scopes": ["READ", "WRITE", "ADMIN", "DELETE", "ACT_AS_USER"],
  "translations": {
    "paths": {
      "en-US": "/i18n/atlaskit/en_US.json"
    }
  },
  "modules": {
    "jiraProjectAdminTabPanels": [
      {
        "location": "projectgroup1",
        "url": "/project-settings?projectKey={project.key}",
        "weight": 100,
        "name": {
          "value": "QAlity Plus - settings"
        },
        "key": "project-admin-panel"
      }
    ],
    "webSections": [
      {
        "location": "admin_plugins_menu",
        "name": {
          "value": "QAlity Plus"
        },
        "key": "qality-settings-section"
      },
      {
        "key": "qality-repository-section",
        "location": "qality-sub-menu-opener",
        "name": {
          "value": "Repository"
        },
        "weight": 2
      },
      {
        "key": "qality-import-section",
        "location": "qality-sub-menu-opener",
        "name": {
          "value": "Import"
        },
        "weight": 3
      },
      {
        "key": "qality-reports-section",
        "location": "qality-sub-menu-opener",
        "name": {
          "value": "Reports"
        },
        "weight": 4
      },
      {
        "key": "qality-other-section",
        "location": "qality-sub-menu-opener",
        "name": {
          "value": "Other"
        },
        "weight": 999
      },
      {
        "key": "qality-project-repository-section",
        "location": "qality-project-sub-menu-opener",
        "name": {
          "value": "Repository"
        },
        "weight": 2
      },
      {
        "key": "qality-project-import-section",
        "location": "qality-project-sub-menu-opener",
        "name": {
          "value": "Import"
        },
        "weight": 3
      },
      {
        "key": "qality-project-reports-section",
        "location": "qality-project-sub-menu-opener",
        "name": {
          "value": "Reports"
        },
        "weight": 4
      },
      {
        "key": "qality-project-other-section",
        "location": "qality-project-sub-menu-opener",
        "name": {
          "value": "Other"
        },
        "weight": 999
      },
      {
        "name": {
          "value": " "
        },
        "weight": 1,
        "location": "qality-sub-menu-opener",
        "key": "topnav-head-section"
      },
      {
        "name": {
          "value": " "
        },
        "weight": 1,
        "location": "qality-project-sub-menu-opener",
        "key": "project-topnav-head-section"
      }
    ],
    "webItems": [
      {
        "location": "jira.navigator.pluggable.items",
        "weight": 200,
        "styleClasses": ["webitem", "system-present-webitem"],
        "url": "/qality-plus-test-cases-actions",
        "context": "addon",
        "target": {
          "type": "dialog",
          "options": {
            "width": "610px",
            "height": "440px",
            "chrome": false
          }
        },
        "tooltip": {
          "value": "QAlity Plus actions"
        },
        "icon": {
          "width": 16,
          "height": 16,
          "url": "/images/qality-plus-icon.svg"
        },
        "name": {
          "value": "QAlity Plus"
        },
        "key": "qality-plus-test-cases-actions-menu"
      },
      {
        "key": "qality-sub-menu-opener",
        "location": "system.top.navigation.bar",
        "name": {
          "value": "QAlity Plus"
        },
        "icon": {
          "width": 20,
          "height": 20,
          "url": "/images/qality-plus-icon.png"
        },
        "url": "/plugins/servlet/ac/com.soldevelo.apps.test_management_premium.demo/welcome",
        "context": "product"
      },
      {
        "key": "qality-project-sub-menu-opener",
        "location": "jira.project.sidebar.plugins.navigation",
        "name": {
          "value": "QAlity Plus"
        },
        "icon": {
          "width": 20,
          "height": 20,
          "url": "/images/qality-plus-icon.svg"
        },
        "url": "/test-cycles",
        "context": "product",
        "conditions": [
          {
            "condition": "jira_expression",
            "params": {
              "expression": "!app.properties.keys().some((e=>e.includes('soldevelo-qality-settings')))||!app.properties.keys().some((e=>e.includes('soldevelo-qality-settings')&&app.properties[e][project.key]))||app.properties.keys().some((e=>e.includes('soldevelo-qality-settings')&&app.properties[e][project.key]&&(null==app.properties[e][project.key].isPluginEnabled||app.properties[e][project.key].isPluginEnabled)))"
            }
          }
        ]
      },
      {
        "key": "qality-repository-test-cases",
        "location": "qality-sub-menu-opener/qality-repository-section",
        "name": {
          "value": "Test cases"
        },
        "url": "/plugins/servlet/ac/com.soldevelo.apps.test_management_premium.demo/repository-test-cases",
        "context": "product",
        "weight": 1
      },
      {
        "key": "qality-import-test-cases",
        "location": "qality-sub-menu-opener/qality-import-section",
        "name": {
          "value": "Import test cases"
        },
        "url": "/plugins/servlet/ac/com.soldevelo.apps.test_management_premium.demo/import-test-cases?projectKey={project.key}&project.id={project.id}",
        "context": "product",
        "weight": 2
      },
      {
        "key": "qality-import-test-case-executions",
        "location": "qality-sub-menu-opener/qality-import-section",
        "name": {
          "value": "Import test executions"
        },
        "url": "/import-test-case-executions",
        "context": "page",
        "weight": 2,
        "conditions": [{"condition":"entity_property_equal_to","params":{"entity":"addon","propertyKey":"soldevelo-test-management-edition-development","value":"advanced"}}]

      },
      {
        "name": {
          "value": "Export Test Cases"
        },
        "location": "none",
        "key": "export-test-cases-dialog",
        "url": "/export-test-cases-dialog",
        "context": "addon",
        "target": {
          "type": "dialog",
          "options": {
            "chrome": false,
            "height": "610px",
            "width": "648px"
          }
        },
        "weight": 2
      },
      {
        "name": {
          "value": "Add Test Cases To Folder"
        },
        "location": "none",
        "key": "add-test-cases-to-folder-dialog",
        "url": "/add-test-cases-to-folder",
        "context": "addon",
        "target": {
          "type": "dialog",
          "options": {
            "size": "maximum",
            "chrome": false
          }
        },
        "weight": 2
      },
      {
        "name": {
          "value": "Create New Folder"
        },
        "location": "none",
        "key": "create-new-folder-dialog",
        "url": "/create-new-folder-dialog",
        "context": "addon",
        "target": {
          "type": "dialog",
          "options": {
            "size": "maximum",
            "chrome": false
          }
        },
        "weight": 2
      },
      {
        "key": "qality-test-cycles",
        "location": "qality-sub-menu-opener/qality-repository-section",
        "name": {
          "value": "Test cycles"
        },
        "url": "/plugins/servlet/ac/com.soldevelo.apps.test_management_premium.demo/test-cycles?project.key={project.key}&project.id={project.id}",
        "context": "product",
        "weight": 2
      },
      {
        "key": "qality-report-test-executions",
        "location": "qality-sub-menu-opener/qality-reports-section",
        "name": {
          "value": "Test execution report"
        },
        "url": "/test-execution-report?reportName=TestExecutionReport",
        "context": "page",
        "weight": 1
      },
      {
        "key": "qality-report-traceability",
        "location": "qality-sub-menu-opener/qality-reports-section",
        "name": {
          "value": "Traceability report"
        },
        "url": "/traceability-report?reportName=TraceabilityReport",
        "context": "page",
        "weight": 2
      },
      {
        "key": "qality-documentation",
        "location": "qality-sub-menu-opener/qality-other-section",
        "name": {
          "value": "Documentation"
        },
        "url": "https://soldevelo.atlassian.net/wiki/spaces/QS/overview",
        "weight": 1
      },
      {
        "key": "qality-support",
        "location": "qality-sub-menu-opener/qality-other-section",
        "name": {
          "value": "Contact support"
        },
        "url": "https://soldevelo.atlassian.net/servicedesk/customer/portal/6",
        "weight": 2
      },
      {
        "key": "qality-welcome-page",
        "location": "qality-sub-menu-opener/topnav-head-section",
        "name": {
          "value": "Dashboard"
        },
        "weight": 1,
        "url": "/plugins/servlet/ac/com.soldevelo.apps.test_management_premium.demo/welcome",
        "context": "product"
      },
      {
        "key": "qality-project-repository-test-cases",
        "location": "qality-project-sub-menu-opener/qality-project-repository-section",
        "name": {
          "value": "Test cases"
        },
        "url": "/repository-test-cases",
        "context": "page",
        "weight": 1
      },
      {
        "key": "qality-project-import-test-cases",
        "location": "qality-project-sub-menu-opener/qality-project-import-section",
        "name": {
          "value": "Import test cases"
        },
        "url": "/projects/{project.key}?selectedItem=com.soldevelo.apps.test_management_premium.demo__qality-project-import-test-cases-panel&projectKey={project.key}",
        "context": "product",
        "weight": 2
      },
      {
        "key": "qality-project-import-test-case-executions",
        "location": "qality-project-sub-menu-opener/qality-project-import-section",
        "name": {
          "value": "Import test executions"
        },
        "url": "/projects/{project.key}?selectedItem=com.soldevelo.apps.test_management_premium.demo__qality-project-import-test-case-executions-panel&projectKey={project.key}",
        "context": "product",
        "weight": 2,
        "conditions": [{"condition":"entity_property_equal_to","params":{"entity":"addon","propertyKey":"soldevelo-test-management-edition-development","value":"advanced"}}]
      },
      {
        "key": "qality-project-test-cycles",
        "location": "qality-project-sub-menu-opener/qality-project-repository-section",
        "name": {
          "value": "Test cycles"
        },
        "url": "/test-cycles",
        "context": "page",
        "weight": 2
      },
      {
        "key": "qality-project-report-test-executions",
        "location": "qality-project-sub-menu-opener/qality-project-reports-section",
        "name": {
          "value": "Test execution report"
        },
        "url": "/test-execution-report?reportName=TestExecutionReport",
        "context": "page",
        "weight": 1
      },
      {
        "key": "qality-project-report-traceability",
        "location": "qality-project-sub-menu-opener/qality-project-reports-section",
        "name": {
          "value": "Traceability report"
        },
        "url": "/traceability-report?reportName=TraceabilityReport",
        "context": "page",
        "weight": 2
      },
      {
        "key": "qality-project-documentation",
        "location": "qality-project-sub-menu-opener/qality-project-other-section",
        "name": {
          "value": "Documentation"
        },
        "url": "https://soldevelo.atlassian.net/wiki/spaces/QS/overview",
        "weight": 1
      },
      {
        "key": "qality-project-support",
        "location": "qality-project-sub-menu-opener/qality-project-other-section",
        "name": {
          "value": "Contact support"
        },
        "url": "https://soldevelo.atlassian.net/servicedesk/customer/portal/6",
        "weight": 2
      },
      {
        "key": "qality-project-welcome-page",
        "location": "qality-project-sub-menu-opener/project-topnav-head-section",
        "name": {
          "value": "Dashboard"
        },
        "url": "/welcome-page",
        "context": "page",
        "weight": 1
      }
    ],
    "webPanels": [
      {
        "key": "create-test-cycle-dialog",
        "location": "none",
        "name": {
          "value": "Dialog"
        },
        "url": "/create-test-cycle-dialog"
      },

      {
        "key": "qality-plus-test-cases-actions",
        "location": "none",
        "name": {
          "value": "Dialog"
        },
        "url": "/qality-plus-test-cases-actions"
      },
      {
        "key": "delete-test-step-dialog",
        "location": "none",
        "name": {
          "value": "Dialog"
        },
        "url": "/delete-test-step-dialog"
      },
      {
        "key": "add-attachment-dialog",
        "location": "none",
        "name": {
          "value": "Dialog"
        },
        "url": "/add-attachment-dialog"
      },
      {
        "key": "add-to-test-cycle-dialog",
        "location": "none",
        "name": {
          "value": "Dialog"
        },
        "url": "/add-to-test-cycle-dialog"
      },
      {
        "key": "test-case-execution-dialog",
        "location": "none",
        "name": {
          "value": "Dialog"
        },
        "url": "/test-case-execution-dialog"
      },
      {
        "key": "test-case-full-screen-dialog",
        "location": "none",
        "name": {
          "value": "Dialog"
        },
        "url": "/test-case-full-screen-dialog"
      },
      {
        "key": "qality-project-repository-test-cases-panel",
        "url": "/repository-test-cases",
        "location": "com.soldevelo.apps.test_management_premium.demo__qality-project-repository-test-cases-panel",
        "name": {
          "value": "Test Cases Repository Panel"
        }
      },
      {
        "key": "qality-project-test-cycles-panel",
        "url": "/test-cycles",
        "location": "com.soldevelo.apps.test_management_premium.demo__qality-project-test-cycles-panel",
        "name": {
          "value": "Test Cycles Panel"
        }
      },
      {
        "key": "qality-project-import-test-cases-panel",
        "url": "/import-test-cases?projectKey={project.key}",
        "location": "com.soldevelo.apps.test_management_premium.demo__qality-project-import-test-cases-panel",
        "name": {
          "value": "Import Test Cases Panel"
        }
      },
      {
        "key": "qality-project-import-test-case-executions-panel",
        "url": "/import-test-case-executions?projectKey={project.key}",
        "location": "com.soldevelo.apps.test_management_premium.demo__qality-project-import-test-case-executions-panel",
        "name": {
          "value": "Import Test Case Executions Panel"
        },
        "conditions": [{"condition":"entity_property_equal_to","params":{"entity":"addon","propertyKey":"soldevelo-test-management-edition-development","value":"advanced"}}]

      },
      {
        "key": "qality-project-welcome-panel",
        "url": "/welcome",
        "location": "com.soldevelo.apps.test_management_premium.demo__qality-project-welcome-panel",
        "name": {
          "value": "Welcome Panel"
        }
      }
    ],
    "jiraIssueContents": [
      {
        "key": "soldevelo-qality-content",
        "name": {
          "value": "QAlity Plus Demo"
        },
        "icon": {
          "width": 20,
          "height": 20,
          "url": "/images/qality-plus-icon.svg"
        },
        "target": {
          "type": "web_panel",
          "url": "/qality-issue-view?issueKey={issue.key}"
        },
        "tooltip": {
          "value": "QAlity Plus"
        },
        "conditions": [
          {
            "condition": "jira_expression",
            "invert": true,
            "params": {
              "expression": "issue.issueType.name.includes('Test case') || issue.issueType.name.includes('QAlity Test')"
            }
          },
          {
            "condition": "jira_expression",
            "params": {
              "expression": "!app.properties.keys().some(property => property.includes('soldevelo-qality-settings')) || !app.properties.keys().some(property => property.includes('soldevelo-qality-settings') && app.properties[property][project.key]) || app.properties.keys().some(property => property.includes('soldevelo-qality-settings') && app.properties[property][project.key] && app.properties[property][project.key].isQalityEnabled && (app.properties[property][project.key].isPluginEnabled == null ? true : app.properties[property][project.key].isPluginEnabled))"
            }
          }
        ]
      },
      {
        "key": "soldevelo-qality-content-test-steps",
        "name": {
          "value": "QAlity Plus Demo"
        },
        "icon": {
          "width": 20,
          "height": 20,
          "url": "/images/qality-plus-icon.svg"
        },
        "target": {
          "type": "web_panel",
          "url": "/test-steps-issue-view?issueKey={issue.key}"
        },
        "tooltip": {
          "value": "Show QAlity Plus test"
        },
        "conditions": [
          {
            "condition": "jira_expression",
            "params": {
              "expression": "issue.issueType.name.includes('Test case') || issue.issueType.name.includes('QAlity Test')"
            }
          },
          {
            "condition": "jira_expression",
            "params": {
              "expression": "!app.properties.keys().some(property => property.includes('soldevelo-qality-settings')) || !app.properties.keys().some(property => property.includes('soldevelo-qality-settings') && app.properties[property][project.key]) || app.properties.keys().some(property => property.includes('soldevelo-qality-settings') && app.properties[property][project.key] && (app.properties[property][project.key].isPluginEnabled == null ? true : app.properties[property][project.key].isPluginEnabled))"
            }
          }
        ]
      }
    ],
    "webhooks": [
      {
        "event": "app_access_to_objects_blocked",
        "url": "/projectAppAccessChange",
        "excludeBody": false
      },
      {
        "event": "jira:issue_created",
        "url": "/testCaseCreated",
        "excludeBody": false,
        "filter": "issuetype='QAlity Test'",
        "propertyKeys": [
          "soldevelo-testcase-automation-className"
        ]
      },
      {
        "event": "connect_addon_enabled",
        "url": "/addon/enabled"
      },
      {
        "event": "project_created",
        "url": "/projectCreated",
        "excludeBody": false
      },
      {
        "event": "project_updated",
        "url": "/projectUpdated",
        "excludeBody": false
      },
      {
        "event": "jira:issue_deleted",
        "url": "/issueDeleted",
        "excludeBody": false
      },
      {
        "event": "jira:issue_updated",
        "url": "/testCaseUpdated",
        "excludeBody": false,
        "filter": "issuetype='QAlity Test'"
      }
    ],
    "configurePage": {
      "key": "configure-page",
      "name": {
        "value": "QAlity Plus Settings"
      },
      "url": "/settings"
    },
    "generalPages": [
      {
        "key": "test-case-execution",
        "location": "none",
        "name": {
          "value": "Test Case Execution"
        },
        "url": "/test-case-execution"
      },
      {
        "key": "test-case-execution-history",
        "location": "none",
        "name": {
          "value": "Test Case Execution History"
        },
        "url": "/test-case-execution-history"
      },
      {
        "key": "repository-test-cases",
        "location": "none",
        "name": {
          "value": "Test Cases Repository"
        },
        "url": "/repository-test-cases"
      },
      {
        "key": "test-cycles",
        "location": "none",
        "name": {
          "value": "Test Cycles Overview"
        },
        "url": "/test-cycles"
      },
      {
        "key": "import-test-cases",
        "location": "none",
        "name": {
          "value": "Import Test Cases from CSV file"
        },
        "url": "/import-test-cases"
      },
      {
        "key": "import-test-case-executions",
        "location": "none",
        "name": {
          "value": "Import Test Case Executions"
        },
        "url": "/import-test-case-executions"
      },
      {
        "key": "add-test-cases",
        "location": "none",
        "name": {
          "value": "Add Test Cases to Test Cycle"
        },
        "url": "/add-test-cases"
      },
      {
        "key": "test-cycle-details",
        "location": "none",
        "name": {
          "value": "Test Cycle Overview"
        },
        "url": "/test-cycle-details"
      },
      {
        "key": "welcome",
        "location": "none",
        "name": {
          "value": "QAlity Plus Dashboard"
        },
        "url": "/welcome"
      }
    ],
    "adminPages": [
      {
        "key": "settings-general-page",
        "url": "/settings",
        "name": {
          "value": "QAlity Plus Settings"
        },
        "location": "admin_plugins_menu/qality-settings-section"
      },
      {
        "key": "test-types",
        "url": "/testTypesPage",
        "name": {
          "value": "Test types"
        },
        "location": "admin_plugins_menu/qality-settings-section",
        "conditions": [{"condition":"entity_property_equal_to","params":{"entity":"addon","propertyKey":"soldevelo-test-management-edition-development","value":"advanced"}}]
      },
      {
        "key": "test-case-execution-status-page",
        "url": "/test-case-execution-status",
        "name": {
          "value": "Test Case Execution Status"
        },
        "location": "admin_plugins_menu/qality-settings-section"
      }
    ],
    "jiraReports": [
      {
        "url": "/reports?reportName=TestExecutionReport&projectId={project.id}",
        "description": {
          "value": "A report that summarizes tests that were executed in the selected period"
        },
        "thumbnailUrl": "/images/TestExecutionCover.png",
        "name": {
          "value": "Test execution report"
        },
        "key": "test-execution-report"
      },
      {
        "url": "/reports?reportName=TraceabilityReport&projectId={project.id}",
        "description": {
          "value": "This report summarizes bugs associated with test cases and their executions in the selected period."
        },
        "thumbnailUrl": "/images/TraceabilityReportCover.png",
        "name": {
          "value": "Traceability report"
        },
        "key": "traceability-report"
      }
    ],
    "postInstallPage": {
      "url": "/welcome",
      "name": {
        "value": "QAlity Plus Dashboard"
      },
      "key": "welcome-page"
    }
  },
  "apiMigrations": {
    "context-qsh": true
  },
  "editionsEnabled": true
}