{
  "key": "com.easesolutions.jira.plugins.requirements",
  "baseUrl": "https://eu.r4j-cloud.easesolutions.com/",
  "name": "easeRequirements",
  "description": "Enterprise requirements management with easeRequirements - Requirements Management for Jira (formerly R4J).",
  "vendor": {
    "name": "Ease Solutions",
    "url": "https://www.easesolutions.com/"
  },
  "version": "1.0.0",
  "enableLicensing": true,
  "authentication": {
    "type": "jwt"
  },
  "lifecycle": {
    "installed": "/installed",
    "uninstalled": "/uninstalled",
    "dare-migration": "/rest/internal/1/migration/realm"
  },
  "regionBaseUrls": {"EU":"https://eu.r4j-cloud.easesolutions.com/","US":"https://us.r4j-cloud.easesolutions.com/"},
  "cloudAppMigration": {
    "migrationWebhookPath": "/rest/internal/1/migration/cloud"
  },
  "scopes": [
    "READ",
    "WRITE",
    "DELETE",
    "PROJECT_ADMIN",
    "ADMIN",
    "ACT_AS_USER",
    "ACCESS_EMAIL_ADDRESSES"
  ],
  "modules": {
    "generalPages": [
      {
        "key": "requirements-page-jira",
        "location": "system.top.navigation.bar",
        "name": {
          "value": "easeRequirements",
          "i18n": "general_pages.requirements"
        },
        "url": "/project?projectId={project.id}",
        "icon": {
          "url": "/assets/ease_brand_icon.png"
        },
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      }
    ],
    "jiraProjectPages": [
      {
        "url": "/project/{ac.page}?projectId={project.id}",
        "iconUrl": "/assets/ease_brand_icon.svg",
        "weight": 100,
        "name": {
          "value": "easeRequirements"
        },
        "key": "requirements-project-page-default",
        "conditions": [
          {
            "or": [
              {
                "condition": "entity_property_equal_to",
                "params": {
                  "entity": "project",
                  "propertyKey": "com.easesolutions.requirements:activatedProject",
                  "objectName": "value",
                  "value": "true"
                }
              },
              {
                "and": [
                  {
                    "condition": "entity_property_exists",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "com.easesolutions.requirements:activatedProject"
                    }
                  },
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "propertyKey": "com.easesolutions.requirements:configuration",
                      "objectName": "allProjectsActivated",
                      "value": "true"
                    }
                  }
                ]
              }
            ]
          },
          {
            "condition": "user_is_logged_in"
          }
        ]
      }
    ],
    "jiraProjectPermissions": [
      {
        "key": "tree-modification-project-permission",
        "name": {
          "value": "[easeRequirements] Tree modification",
          "i18n": "project_permission.tree_modification.title"
        },
        "description": {
          "value": "Allows to add/move/remove items in tree.",
          "i18n": "project_permission.tree_modification.description"
        },
        "category": "projects",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "coverage-modification-project-permission",
        "name": {
          "value": "[easeRequirements] Coverage View modification",
          "i18n": "project_permission.coverage_modification.title"
        },
        "description": {
          "value": "Allows to create/edit/delete views.",
          "i18n": "project_permission.coverage_modification.description"
        },
        "category": "projects",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "baseline-modification-project-permission",
        "name": {
          "value": "[easeRequirements] Baseline modification",
          "i18n": "project_permission.baseline_modification.title"
        },
        "description": {
          "value": "Allows to create/edit/delete baselines.",
          "i18n": "project_permission.baseline_modification.description"
        },
        "category": "projects",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "traceability-matrix-modification-project-permission",
        "name": {
          "value": "[easeRequirements] Traceability Matrix modification",
          "i18n": "project_permission.traceabilitymatrix_modification.title"
        },
        "description": {
          "value": "Allows to create/edit/delete traceability matrices. Works only when restriction is enabled in easeRequirements configuration page.",
          "i18n": "project_permission.traceabilitymatrix_modification.description"
        },
        "category": "projects",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "reqif-import-project-permission",
        "name": {
          "value": "[easeRequirements] Import ReqIF",
          "i18n": "project_permission.reqif_import.title"
        },
        "description": {
          "value": "Allows to import ReqIF files into the project. Works only when the restriction is enabled in the easeRequirements configuration page.",
          "i18n": "project_permission.reqif_import.description"
        },
        "category": "projects",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      }
    ],
    "webSections": [
      {
        "key": "requirements-admin-section",
        "location": "admin_plugins_menu",
        "name": {
          "value": "Ease Requirements",
          "i18n": "admin.section.title"
        }
      }
    ],
    "dialogs": [
      {
        "url": "/user/export/detail-view?projectId={project.id}&issueId={issue.id}",
        "options": {
          "chrome": false,
          "height": "340px",
          "width": "525px",
          "header": {
            "value": "easeRequirements Template Export",
            "i18n": "issue_view_action.operations_operations.r4j_template_export_header"
          }
        },
        "key": "requirements-dialog-module-export-template"
      },
      {
        "url": "/user/link-graph/detail-view?projectId={project.id}&issueKey={issue.key}",
        "options": {
          "chrome": false,
          "height": "620px",
          "width": "1432px",
          "header": {
            "value": "easeRequirements Link Graph",
            "i18n": "issue_view_action.operations_operations.r4j_link_graph_header"
          }
        },
        "key": "requirements-dialog-module-link-graph"
      },
      {
        "url": "/user/issue-compare/detail-view?projectId={project.id}&issueKey={issue.key}&issueType={issuetype.id}",
          "options": {
          "chrome": false,
          "height": "620px",
          "width": "1432px",
          "header": {
            "value": "easeRequirements Issue Compare",
            "i18n": "issue_view_action.operations_operations.r4j_issue_compare_header"
          }
        },
        "key": "requirements-dialog-module-issue-compare"
      }
    ],
    "webItems": [
      {
        "key": "requirements-issue-view-action-operations-operations-r4j-template-export",
        "location": "operations-operations",
        "name": {
          "value": "Template Export (easeRequirements)",
          "i18n": "issue_view_action.operations_operations.r4j_template_export"
        },
        "weight": 100,
        "target": {
          "type": "dialogmodule",
          "options": {
            "key": "requirements-dialog-module-export-template"
          }
        },
         "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-issue-view-action-operations-operations-r4j-issue-graph",
        "location": "operations-operations",
        "name": {
          "value": "Link Graph (easeRequirements)",
          "i18n": "issue_view_action.operations_operations.r4j_link_graph"
        },
        "weight": 110,
        "target": {
          "type": "dialogmodule",
          "options": {
            "key": "requirements-dialog-module-link-graph"
          }
        },
         "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-issue-view-action-operations-operations-r4j-issue-compare",
        "location": "operations-operations",
        "name": {
          "value": "Issue Compare (easeRequirements)",
          "i18n": "issue_view_action.operations_operations.r4j_issue_compare"
        },
        "weight": 120,
        "target": {
          "type": "dialogmodule",
          "options": {
            "key": "requirements-dialog-module-issue-compare"
          }
        },
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      }
    ],
    "adminPages": [
      {
        "key": "requirements-admin-get-started",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 100,
        "name": {
          "value": "Getting Started",
          "i18n": "admin.section.getting_started.title"
        },
        "url": "/admin/get-started",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-configuration",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 110,
        "name": {
          "value": "Configuration",
          "i18n": "admin.section.configuration.title"
        },
        "url": "/admin/configuration",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-reqif",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 120,
        "name": {
          "value": "ReqIF Import",
          "i18n": "admin.section.reqif.title"
        },
        "url": "/admin/reqif",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-activate-projects",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 130,
        "name": {
          "value": "Activate Projects",
          "i18n": "admin.section.activate_projects.title"
        },
        "url": "/admin/activate",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-audit-logs",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 135,
        "name": {
          "value": "Audit Logs",
          "i18n": "admin.section.audit_logs.title"
        },
        "url": "/admin/audit-logs",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-api-token",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 140,
        "name": {
          "value": "API Tokens",
          "i18n": "admin.section.api_tokens.title"
        },
        "url": "/admin/token",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-export-template",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 150,
        "name": {
          "value": "Export Templates",
          "i18n": "admin.section.export_template.title"
        },
        "url": "/admin/export-template",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-review-schemes",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 160,
        "name": {
          "value": "Review Schemes",
          "i18n": "admin.section.review_schemes.title"
        },
        "url": "/admin/review-schemes",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-data-model-config",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 170,
        "name": {
          "value": "Data Model Configuration",
          "i18n": "admin.section.data_model_config.title"
        },
        "url": "/admin/data-model-config",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-data-model-checker",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 180,
        "name": {
          "value": "Data Model Checker",
          "i18n": "admin.section.data_model_checker.title"
        },
        "url": "/admin/data-model-checker",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "requirements-admin-quality-checker",
        "location": "admin_plugins_menu/requirements-admin-section",
        "weight": 190,
        "name": {
          "value": "Quality Checker",
          "i18n": "admin.section.quality_checker.title"
        },
        "url": "/admin/quality-checker",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      }
    ],
    "jiraEntityProperties": [
      {
        "key": "requirements-property-activated-project",
        "entityType": "project",
        "name": {
          "value": "Active project",
          "i18n": "property.project.active_project"
        },
        "keyConfigurations": [
          {
            "propertyKey": "com.easesolutions.requirements:activatedProject",
            "extractions": [
              {
                "objectName": "value",
                "type": "string",
                "alias": "isActiveProject"
              }
            ]
          }
        ]
      },
      {
        "key": "requirements-property-issue-path",
        "entityType": "issue",
        "name": {
          "value": "Tree Issue Path",
          "i18n": "property.issue.tree_issue_path"
        },
        "keyConfigurations": [
          {
            "propertyKey": "com.easesolutions.requirements:treeIssuePath",
            "extractions": [
              {
                "objectName": "paths",
                "type": "string",
                "alias": "r4jPath"
              },
              {
                "objectName": "parents",
                "type": "string",
                "alias": "r4jParent"
              }
            ]
          }
        ]
      },
      {
        "key": "requirements-property-issue-baseline",
        "entityType": "issue",
        "name": {
          "value": "Tree Baseline Path",
          "i18n": "property.issue.tree_baseline"
        },
        "keyConfigurations": [
          {
            "propertyKey": "com.easesolutions.requirements:treeBaselinePath",
            "extractions": [
              {
                "objectName": "baselines",
                "type": "string",
                "alias": "r4jBaseline"
              }
            ]
          }
        ]
      }
    ],
    "jiraIssueTabPanels": [
      {
        "key": "requirements-issue-view-tabs-requirements",
        "url": "/issue-view/tabs/requirements?projectId={project.id}&issueId={issue.id}&issueKey={issue.key}",
        "name": {
          "value": "Requirements",
          "i18n": "issue_view.tabs.requirements"
        },
        "weight": 100,
        "conditions": [
          {
            "condition": "user_is_logged_in"
          },
          {
            "condition": "entity_property_equal_to",
            "params": {
              "entity": "project",
              "propertyKey": "com.easesolutions.requirements:activatedProject",
              "objectName": "value",
              "value": "true"
            }
          }
        ]
      }
    ],
    "webhooks": [
      {
        "event": "jira:issue_deleted",
        "url": "/webhook/project/{project.id}/issue/{issue.id}/deleted",
        "excludeBody": true
      },
      {
        "event": "jira:issue_updated",
        "url": "/webhook/issue/{issue.id}/updated",
        "excludeBody": false
      },
      {
        "event": "project_created",
        "url": "/webhook/project/created",
        "excludeBody": false
      },
      {
        "event": "project_updated",
        "url": "/webhook/project/{project.id}/updated",
        "excludeBody": false
      },
      {
        "event": "project_soft_deleted",
        "url": "/webhook/project/{project.id}/deleted",
        "excludeBody": true
      },
      {
        "event": "project_archived",
        "url": "/webhook/project/{project.id}/deleted",
        "excludeBody": true
      },
      {
        "event": "project_deleted",
        "url": "/webhook/project/{project.id}/deleted?permanent=true",
        "excludeBody": true
      },
      {
        "event": "project_restored_deleted",
        "url": "/webhook/project/{project.id}/restored",
        "excludeBody": true
      },
      {
        "event": "project_restored_archived",
        "url": "/webhook/project/{project.id}/restored",
        "excludeBody": true
      },
      {
        "event": "user_deleted",
        "url": "/webhook/user/{modifiedUser.accountId}/deleted",
        "excludeBody": true
      }
    ],
    "postInstallPage": {
      "key": "requirements-post-install-get-started",
      "url": "/admin/get-started",
      "name": {
        "value": "Get Started",
        "i18n": "post_install_page.get_started.title"
      }
    },
    "jiraIssueFields": [
      {
        "key": "requirements-issue-field-read-only-tree-baselines",
        "name": {
          "value": "easeRequirements Baseline(s)",
          "i18n": "issue_field.read_only.tree_baselines"
        },
        "description": {
          "value": "This is a custom read only field for easeRequirements to display baselines.",
          "i18n": "issue_field.read_only.tree_baselines_description"
        },
        "type": "read_only",
        "property": {
          "key": "com.easesolutions.requirements:treeBaselinePath",
          "path": "baselines",
          "type": "string"
        }
      }
    ]
  },
  "translations": {
    "paths": {
      "en-US": "/i18n/en/2.0/en_US.json",
      "fr-FR": "/i18n/fr/1.0/fr_FR.json",
      "de-DE": "/i18n/de/1.0/de_DE.json"
    }
  },
  "apiMigrations": {
    "context-qsh": true,
    "signed-install": true
  }
}