{
  "name": "Power Scripts for Jira Cloud",
  "description": "Power Scripts for Jira Cloud",
  "key": "com.keplerrominfo.jira.plugins.jjupin",
  "baseUrl": "https://us1.powerscripts.anova.appfire.app",
  "enableLicensing" : true,
  "apiVersion": 3,
  "vendor": {
    "name": "Appfire",
    "url": "https://appfire.com/"
  },
  "authentication": {
    "type": "jwt"
  },
  "lifecycle": {
    "installed": "/installed",
    "uninstalled": "/uninstalled"
  },
  "apiMigrations": {
    "gdpr": true,
    "context-qsh": true,
    "signed-install": true
  },
  "scopes": [
    "ADMIN",
    "PROJECT_ADMIN",
    "READ",
    "WRITE",
    "DELETE",
    "ACT_AS_USER"
  ],
  "modules": {
    "webSections": [
      {
        "key": "power-scripts-section",
        "location": "admin_plugins_menu",
        "name": {
          "value": "Power Scripts"
        }
      }
    ],

    "generalPages": [
      {
        "weight":700,
        "url": "/pscloud/gettingstarted?source=topmenu",
        "conditions": [{

          "condition": "user_is_admin"

        }],
        "key": "index",
        "location": "system.top.navigation.bar",
        "name": {
          "value": "Power Scripts for Jira"
        },
        "icon": {
          "width": 20,
          "height": 20,
          "url": "/pscloud/images/topicon.svg"
        }
      }
    ],

    "adminPages": [
      {
        "key": "sil-manager-page",
        "location": "admin_plugins_menu/power-scripts-section",
        "name": {
          "value": "SIL Manager"
        },
        "url": "/pscloud/silmanager?preselectedNode={ac.preselectedNode}",
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ]
      },
      {
        "key": "live-fields-page",
        "location": "admin_plugins_menu/power-scripts-section",
        "name": {
          "value": "Live Fields"
        },
        "url": "/pscloud/livefields",
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ]
      },
      
      {
        "key": "script-templates-page",
        "location": "admin_plugins_menu/power-scripts-section",
        "name": {
            "value": "Script Templates"
        },
        "url": "/pscloud/scripttemplates",
        "conditions": [
            {
                "condition": "user_is_admin"
            }
        ]
      },
      {
        "key": "power-apps-config-page",
        "location": "admin_plugins_menu/power-scripts-section",
        "name": {
          "value": "Power Apps Config"
        },
        "url": "/pscloud/config",
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ]
      },
      {
        "key": "self-help-page",
        "location": "admin_plugins_menu/power-scripts-section",
        "name": {
          "value": "Self Help"
        },
        "url": "/pscloud/selfhelp?preselectedTab={ac.preselectedTab}",
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ]
      },
      {
        "key": "pscl-getting-started-page",
        "location": "admin_plugins_menu/power-scripts-section",
        "name": {
          "value": "Get Started"
        },
        "url": "/pscloud/gettingstarted?source=sidemenu",
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ]
      }
    ],
    "configurePage": {
      "url": "/pscloud/config",
      "name": {
        "value": "Power Apps Config"
      },
      "key": "ps-configuration",
      "conditions": [
        {
          "condition": "user_is_admin"
        }
      ]
    },
    "postInstallPage": {
      "url": "/pscloud/gettingstarted?source=postinstall",
      "name": {
        "value": "Get started with PowerScripts for cloud"
      },
      "key": "power-scripts-postinstall",
      "conditions": [
        {
          "condition": "user_is_admin"
        }
      ]
    },
    "webPanels": [
      {
        "url": "/pscloud/silpanelright",
        "location": "atl.jira.view.issue.right.context",
        "layout": {
          "width": "10px",
          "height": "100%"
        },
        "weight": 510,
        "name": {
          "value": "Power Scripts - SIL HTML Panel"
        },
        "key": "powerscripts-sil-panel-right",
        "conditions": [
          {
            "condition": "jira_expression",
            "params": {
              "expression": "app.properties.get('SilHTMLPanelConditionRight') != null && app.properties.get('SilHTMLPanelConditionRight').get('projects').filter(x => x.project == issue.project.key && x.issueTypes.includes('' +issue.issueType.id)).length > 0"
            }
          }
        ]
      },
      {
        "url": "/pscloud/silpanelleft",
        "location": "atl.jira.view.issue.left.context",
        "layout": {
          "width": "10px",
          "height": "100%"
        },
        "weight": 500,
        "name": {
          "value": "Power Scripts - SIL HTML Panel"
        },
        "key": "powerscripts-sil-panel-left",
        "conditions": [
          {
            "condition": "jira_expression",
            "params": {
              "expression": "app.properties.get('SilHTMLPanelConditionLeft') != null && app.properties.get('SilHTMLPanelConditionLeft').get('projects').filter(x => x.project == issue.project.key && x.issueTypes.includes('' +issue.issueType.id)).length > 0"
            }
          }
        ]
      },
      {
        "url": "/pscloud/papanelright",
        "location": "atl.jira.view.issue.right.context",
        "layout": {
          "width": "10px",
          "height": "100%"
        },
        "weight": 520,
        "name": {
          "value": "Forms & Wizards panel"
        },
        "key": "powerscripts-pa-panel-right",
        "conditions": [
            {
              "condition": "jira_expression",
              "params": {
                "expression": "app.properties.get('PowerActionsPanelConditionRight') != null && app.properties.get('PowerActionsPanelConditionRight').get('projects').filter(x => x.project == issue.project.key && x.issueTypes.includes('' +issue.issueType.id)).length > 0"
              }
            }
        ]
      },
      {
        "url": "/pscloud/papanelleft",
        "location": "atl.jira.view.issue.left.context",
        "layout": {
          "width": "10px",
          "height": "100%"
        },
        "weight": 530,
        "name": {
          "value": "Forms & Wizards panel"
        },
        "key": "powerscripts-pa-panel-left",
        "conditions": [
          {
            "condition": "jira_expression",
            "params": {
              "expression": "app.properties.get('PowerActionsPanelConditionLeft') != null && app.properties.get('PowerActionsPanelConditionLeft').get('projects').filter(x => x.project == issue.project.key && x.issueTypes.includes('' +issue.issueType.id)).length > 0"
            }
          }
        ]
      }
    ],
    "jiraDashboardItems": [
      {
        "key": "psc-sil-runner",
        "name": {
          "value": "Power Scripts SIL Runner Gadget"
        },
        "description": {
          "value": "Allows you to run arbitrary SIL scripts directly from your dashboard."
        },
        "url": "/pscloud/gadget",
        "configurable": true,
        "thumbnailUrl": "/pscloud/images/gadget.png"
      }
    ],
    "webhooks": [
      {
        "event": "jira:issue_created",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/issue-created"
      },
      {
        "event": "jira:issue_updated",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/issue-updated"
      },
      {
        "event": "jira:issue_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/issue-deleted"
      },
      {
        "event":"issuelink_created",
        "url":"/rest/keplerrominfo/refapp/latest/cpr-webhook/issue-link-created"
      },
      {
        "event":"issuelink_deleted",
        "url":"/rest/keplerrominfo/refapp/latest/cpr-webhook/issue-link-deleted"
      },
      {
        "event": "comment_created",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/issue-comment-created"
      },
      {
        "event": "comment_updated",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/issue-comment-updated"
      },
      {
        "event": "comment_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/issue-comment-deleted"
      },
      {
        "event": "project_created",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/project-created"
      },
      {
        "event": "project_updated",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/project-updated"
      },
      {
        "event": "project_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/project-deleted"
      },
      {
        "event": "project_soft_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/project-soft-deleted"
      },
      {
        "event": "user_created",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/user-created"
      },
      {
        "event": "user_updated",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/user-updated"
      },
      {
        "event": "user_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/user-deleted"
      },
      {
        "event": "jira:version_released",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/version-released"
      },
      {
        "event": "jira:version_unreleased",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/version-unreleased"
      },
      {
        "event": "jira:version_created",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/version-created"
      },
      {
        "event": "jira:version_updated",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/version-updated"
      },
      {
        "event": "jira:version_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/version-deleted"
      },
      {
        "event": "jira:version_moved",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/version-moved"
      },
      {
        "event": "worklog_created",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/worklog-created"
      },
      {
        "event": "worklog_updated",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/worklog-updated"
      },
      {
        "event": "worklog_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/worklog-deleted"
      },
      {
        "event": "jira_expression_evaluation_failed",
        "url": "/rest/keplerrominfo/refapp/latest/cpr-webhook/jira-expressions-monitoring"
      },
      {
        "event": "filter_created",
        "url": "/rest/keplerrominfo/refapp/latest/flt-webhook/filter-created"
      },
      {
        "event": "filter_updated",
        "url": "/rest/keplerrominfo/refapp/latest/flt-webhook/filter-updated"
      },
      {
        "event": "filter_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/flt-webhook/filter-deleted"
      },
      {
        "event": "attachment_created",
        "url": "/rest/keplerrominfo/refapp/latest/att-webhook/attachment-created"
      },
      {
        "event": "attachment_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/att-webhook/attachment-deleted"
      },
      {
        "event": "sprint_created",
        "url": "/rest/keplerrominfo/refapp/latest/agl-webhook/sprint-created"
      },
      {
        "event": "sprint_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/agl-webhook/sprint-deleted"
      },
      {
        "event": "sprint_updated",
        "url": "/rest/keplerrominfo/refapp/latest/agl-webhook/sprint-updated"
      },
      {
        "event": "sprint_started",
        "url": "/rest/keplerrominfo/refapp/latest/agl-webhook/sprint-started"
      },
      {
        "event": "sprint_closed",
        "url": "/rest/keplerrominfo/refapp/latest/agl-webhook/sprint-closed"
      },
      {
        "event": "board_created",
        "url": "/rest/keplerrominfo/refapp/latest/agl-webhook/board-created"
      },
      {
        "event": "board_updated",
        "url": "/rest/keplerrominfo/refapp/latest/agl-webhook/board-updated"
      },
      {
        "event": "board_deleted",
        "url": "/rest/keplerrominfo/refapp/latest/agl-webhook/board-deleted"
      },
      {
        "event": "board_configuration_changed",
        "url": "/rest/keplerrominfo/refapp/latest/agl-webhook/board-config-updated"
      }
    ],

    "jiraEntityProperties": [
      {
        "name":{
          "value":"Linked Issues Entity Property"
        },
        "key":"linked-issue-entity-property",
        "entityType":"issue",
        "keyConfigurations":[
          {
            "extractions":[
              {
                "objectName":"types",
                "type":"string",
                "alias":"hasLinkType"
              },
              {
                "objectName":"count",
                "type":"number",
                "alias":"countOfLinks"
              },
              {
                "objectName":"links",
                "type":"string",
                "alias":"hasIssueLinks"
              }
            ],
            "propertyKey":"powerscripts.issuelinks"
          }
        ]
      },
      {
        "name":{
          "value":"Comments Entity Property"
        },
        "key":"comments-entity-property",
        "entityType":"issue",
        "keyConfigurations":[
          {
            "extractions":[
              {
                "objectName":"count",
                "type":"number",
                "alias":"countOfComments"
              },
              {
                "objectName":"firstDate",
                "type":"date",
                "alias":"firstCommentedOnDate"
              },
              {
                "objectName":"lastDate",
                "type":"date",
                "alias":"lastCommentedOnDate"
              },
              {
                "objectName":"allDates",
                "type":"date",
                "alias":"commentedOnDates"
              },
              {
                "objectName":"allAuthors",
                "type":"user",
                "alias":"commentAuthors"
              },
              {
                "objectName":"lastAuthor",
                "type":"user",
                "alias":"newestCommentAuthor"
              },
              {
                "objectName":"visibleRoles",
                "type":"string",
                "alias":"commentVisibleRoles"
              },
              {
                "objectName":"visibleGroups",
                "type":"string",
                "alias":"commentVisibleGroups"
              },
              {
                "objectName":"visibleRole",
                "type":"string",
                "alias":"newestCommentVisibleRole"
              },
              {
                "objectName":"visibleGroup",
                "type":"string",
                "alias":"newestCommentVisibleGroup"
              }
            ],
            "propertyKey":"powerscripts.comments"
          }
        ]
      },
      {
        "name": {
          "value": "Attachments Entity Property"
        },
        "key": "attachments-entity-property",
        "entityType": "issue",
        "keyConfigurations": [
          {
            "extractions": [
              {
                "objectName": "count",
                "type": "number",
                "alias": "countOfAttachments"
              },
              {
                "objectName": "types",
                "type": "string",
                "alias": "typeOfAttachment"
              },
              {
                "objectName": "firstDate",
                "type": "date",
                "alias": "attachmentEarliestDate"
              },
              {
                "objectName": "lastDate",
                "type": "date",
                "alias": "attachmentLatestDate"
              },
              {
                "objectName": "userNames",
                "type": "user",
                "alias": "attachedBy"
              }
            ],
            "propertyKey": "powerscripts.attachments"
          }
        ]
      },
      {
        "name":{
          "value":"Subtasks Entity Property"
        },
        "key":"subtask-entity-property",
        "entityType":"issue",
        "keyConfigurations":[
          {
            "extractions":[
              {
                "objectName":"count",
                "type":"number",
                "alias":"countOfSubtasks"
              }
            ],
            "propertyKey":"powerscripts.subtasks"
          }
        ]
      },
      {
        "name":{
          "value":"SIL JQL Entity Property 1"
        },
        "key":"sil-jql-entity-property-1",
        "entityType":"issue",
        "keyConfigurations":[
          {
            "extractions":[
              {
                "objectName":"sil-jql-custom-property-string-1",
                "type":"string",
                "alias":"sil-jql-custom-string-1"
              }
            ],
            "propertyKey":"powerscripts.custom.property.string.1"
          }
        ]
      },
      {
        "name":{
          "value":"SIL JQL Entity Property 2"
        },
        "key":"sil-jql-entity-property-2",
        "entityType":"issue",
        "keyConfigurations":[
          {
            "extractions":[
              {
                "objectName":"sil-jql-custom-property-string-2",
                "type":"string",
                "alias":"sil-jql-custom-string-2"
              }
            ],
            "propertyKey":"powerscripts.custom.property.string.2"
          }
        ]
      },
      {
        "name":{
          "value":"SIL JQL Entity Property 3"
        },
        "key":"sil-jql-entity-property-3",
        "entityType":"issue",
        "keyConfigurations":[
          {
            "extractions":[
              {
                "objectName":"sil-jql-custom-property-text-1",
                "type":"text",
                "alias":"sil-jql-custom-text-1"
              }
            ],
            "propertyKey":"powerscripts.custom.property.text.1"
          }
        ]
      },
      {
        "name":{
          "value":"SIL JQL Entity Property 4"
        },
        "key":"sil-jql-entity-property-4",
        "entityType":"issue",
        "keyConfigurations":[
          {
            "extractions":[
              {
                "objectName":"sil-jql-custom-property-text-2",
                "type":"text",
                "alias":"sil-jql-custom-text-2"
              }
            ],
            "propertyKey":"powerscripts.custom.property.text.2"
          }
        ]
      },
      {
        "name":{
          "value":"SIL JQL Entity Property 5"
        },
        "key":"sil-jql-entity-property-5",
        "entityType":"issue",
        "keyConfigurations":[
          {
            "extractions":[
              {
                "objectName":"sil-jql-custom-property-number-1",
                "type":"number",
                "alias":"sil-jql-custom-number-1"
              }
            ],
            "propertyKey":"powerscripts.custom.property.number.1"
          }
        ]
      },
      {
        "name": {
          "value": "SIL JQL Entity Property 6"
        },
        "key": "sil-jql-entity-property-6",
        "entityType": "issue",
        "keyConfigurations": [
          {
            "extractions": [
              {
                "objectName": "sil-jql-custom-property-number-2",
                "type": "number",
                "alias": "sil-jql-custom-number-2"
              }
            ],
            "propertyKey": "powerscripts.custom.property.number.2"
          }
        ]
      },
      {
        "name":{
          "value":"SIL JQL Entity Property 7"
        },
        "key":"sil-jql-entity-property-7",
        "entityType":"issue",
        "keyConfigurations":[
          {
            "extractions":[
              {
                "objectName":"sil-jql-custom-property-date-1",
                "type":"date",
                "alias":"sil-jql-custom-date-1"
              }
            ],
            "propertyKey":"powerscripts.custom.property.date.1"
          }
        ]
      },
      {
        "name": {
          "value": "SIL JQL Entity Property 8"
        },
        "key": "sil-jql-entity-property-8",
        "entityType": "issue",
        "keyConfigurations": [
          {
            "extractions": [
              {
                "objectName": "sil-jql-custom-property-date-2",
                "type": "date",
                "alias": "sil-jql-custom-date-2"
              }
            ],
            "propertyKey": "powerscripts.custom.property.date.2"
          }
        ]
      }
    ],

    "jiraWorkflowConditions": [
      {
        "key": "powerscripts-run-sil-condition",
        "name": {
          "value": "Power Scripts Condition"
        },
        "description": {
          "value": "Workflow condition using a JIRA Expression"
        },
        "expression": "config.scriptResult",
        "create": {
          "url": "/pscloud/wfconfig?type=C&action=create&id={condition.id}&config={condition.config}"
        },
        "edit": {
          "url": "/pscloud/wfconfig?type=C&action=edit&id={condition.id}&config={condition.config}"
        },
        "view": {
          "url": "/pscloud/wfview?type=C&action=view&id={condition.id}&config={condition.config}"
        }
      }
    ],
    "jiraWorkflowValidators": [
      {
        "key": "powerscripts-run-sil-validator",
        "name": {
          "value": "Power Scripts Validator"
        },
        "description": {
          "value": "Workflow validator using a JIRA Expression"
        },
        "expression": "config.scriptResult",
        "errorMessage": {
          "expression": "config.errorMessage"
        },
        "create": {
          "url": "/pscloud/wfconfig?type=V&action=create&id={validator.id}&config={validator.config}"
        },
        "edit": {
          "url": "/pscloud/wfconfig?type=V&action=edit&id={validator.id}&config={validator.config}"
        },
        "view": {
          "url": "/pscloud/wfview?type=V&action=view&id={validator.id}&config={validator.config}"
        }
      }
    ],
    "jiraWorkflowPostFunctions": [
      {
        "key": "powerscripts-run-sil",
        "name": {
          "value": "Power Scripts SIL Action"
        },
        "description": {
          "value": "Runs a SIL program as an action"
        },
        "create": {
          "url": "/pscloud/wfconfig?type=P&action=create&id={postFunction.id}&config={postFunction.config}"
        },
        "edit": {
          "url": "/pscloud/wfconfig?type=P&action=edit&id={postFunction.id}&config={postFunction.config}"
        },
        "view": {
          "url": "/pscloud/wfview?type=P&action=view&id={postFunction.id}&config={postFunction.config}"
        },
        "triggered": {
          "url": "/rest/keplerrominfo/refapp/latest/workflow/pfexecute"
        }
      }
    ]
  },
  "cloudAppMigration": {
    "migrationWebhookPath" : "/rest/keplerrominfo/refapp/latest/jcma/migration"
  }
}