{
  "key": "tss-tasklist-cloud-staging1",
  "name": "Simple Tasklist Cloud",
  "description": "Add simple tasks and checklists anywhere in your Issues. Create Templates for common tasks",
  "enableLicensing": true,
  "vendor": {
    "name": "Top Shelf Solutions",
    "url": "https://www.tss.io"
  },
  "baseUrl": "https://tasklist-app.staging.qa",
  "links": {
    "self": "https://tasklist-app.staging.qa/atlassian-connect.json",
    "homepage": "https://tasklist-app.staging.qa/atlassian-connect.json"
  },
  "authentication": {
    "type": "jwt"
  },
  "apiMigrations": {
    "context-qsh": true,
    "signed-install": true
  },
  "lifecycle": {
    "installed": "/api/installed",
    "uninstalled": "/api/uninstalled",
    "enabled": "/api/enabled",
    "disabled": "/api/disabled"
  },
  "scopes": [
    "READ",
    "WRITE",
    "ACT_AS_USER",
    "DELETE"
  ],
  "modules": {
    "jiraProjectPermissions": [
      {
        "description": {
          "value": "Grants full permissions to all Tasklist actions within this project (as long as the user has BROWSE PROJECTS permission). This includes add, edit, delete tasks, managing templates, as well as access to the tasklist settings for this project."
        },
        "category": "OTHER",
        "name": {
          "value": "Simple Tasklist staging- Project Administer"
        },
        "key": "TL-PROJECT-ADMINISTRATOR"
      },
      {
        "description": {
          "value": "Ability to add, edit, and delete tasks as well as set labels, mandatory, and due date. Note that checking/unchecking of tasks is separate from this."
        },
        "category": "OTHER",
        "name": {
          "value": "Simple Tasklist staging- Add, Edit & Delete Tasks"
        },
        "key": "TL-PROJECT-MANAGE-TASKS"
      },
      {
        "description": {
          "value": "Ability to check / uncheck tasks. Note: adding/editing of tasks is a separate permission from this."
        },
        "category": "OTHER",
        "name": {
          "value": "Simple Tasklist staging- Check/Uncheck Tasks"
        },
        "key": "TL-PROJECT-CHANGE-TASKS-STATE"
      },
      {
        "description": {
          "value": "Ability to add, edit, and delete shared project level templates.  Note: users can always create private templates for themselves."
        },
        "category": "OTHER",
        "name": {
          "value": "Simple Tasklist staging- Manage Shared Project Templates"
        },
        "key": "TL-PROJECT-MANAGE-TEMPLATES"
      },
      {
        "description": {
          "value": "Ability to insert a template into an issue. Note: this is a separate permission from adding/editing/deleting of tasks within an issue."
        },
        "category": "OTHER",
        "name": {
          "value": "Simple Tasklist staging- Insert Template into issue"
        },
        "key": "TL-PROJECT-INSERT-TEMPLATE"
      }
    ],
    "jiraGlobalPermissions": [
      {
        "description": {
          "value": "Grants full permissions to all Tasklist actions within all projects a user access to. This includes add, edit, delete tasks, managing templates, as well as access to the global tasklist settings."
        },
        "name": {
          "value": "Simple Tasklist staging- Administrator"
        },
        "key": "TL-ADMINISTRATOR",
        "anonymousAllowed": false,
        "defaultGrants": [
          "JIRA-ADMINISTRATORS"
        ]
      },
      {
        "description": {
          "value": "Ability to add, edit, and delete shared global templates. Global templates can be used by any user with permissions to insert templates into issues.  Note: users can always create private templates for themselves."
        },
        "name": {
          "value": "Simple Tasklist staging- Manage Shared Global Templates"
        },
        "key": "TL-MANAGE-GLOBAL-TEMPLATES",
        "anonymousAllowed": false,
        "defaultGrants": [
          "ALL"
        ]
      }
    ],
    "webhooks": [
      {
        "event": "jira:issue_deleted",
        "url": "/api/webhooks/issue-deleted?issueId={issue.id}&projectId={project.id}",
        "excludeBody": true,
        "propertyKeys": []
      },
      {
        "event": "jira:issue_updated",
        "url": "/api/webhooks/issue-updated?issueId={issue.id}&projectId={project.id}",
        "excludeBody": false,
        "propertyKeys": []
      },
      {
        "event": "project_deleted",
        "url": "/api/webhooks/project-deleted?projectId={project.id}",
        "excludeBody": true,
        "propertyKeys": []
      },
      {
        "event": "issuelink_created",
        "url": "/api/webhooks/issuelink-created",
        "excludeBody": false,
        "filter": "project.tsstasklistDisabledstaging = \"false\" OR project.tsstasklistDisabledstaging IS EMPTY",
        "propertyKeys": []
      },
      {
        "event": "issue_property_set",
        "url": "/api/webhooks/issue-property-set?issueId={issue.id}&projectId={project.id}",
        "excludeBody": false,
        "filter": "(project.tsstasklistDisabledstaging = \"false\" OR project.tsstasklistDisabledstaging IS EMPTY)",
        "propertyKeys": [
          "tsstasklistAutomationstaging"
        ]
      }
    ],
    "jiraEntityProperties": [
      {
        "key": "tasklist-issue-indexing-staging",
        "name": {
          "value": "Taskliststaging"
        },
        "entityType": "issue",
        "keyConfigurations": [
          {
            "propertyKey": "tssTaskliststaging",
            "extractions": [
              {
                "objectName": "taskText",
                "type": "text",
                "alias": "tsstasksstaging"
              },
              {
                "objectName": "taskId",
                "type": "text",
                "alias": "tsstaskIdstaging"
              },
              {
                "objectName": "taskOpenCount",
                "type": "number",
                "alias": "tsstaskOpenCountstaging"
              },
              {
                "objectName": "taskMandatoryCount",
                "type": "number",
                "alias": "tsstaskMandatoryCountstaging"
              },
              {
                "objectName": "taskCloseCount",
                "type": "number",
                "alias": "tsstaskCloseCountstaging"
              },
              {
                "objectName": "taskTotalCount",
                "type": "number",
                "alias": "tsstaskTotalCountstaging"
              },
              {
                "objectName": "taskDate",
                "type": "date",
                "alias": "tsstaskDatestaging"
              },
              {
                "objectName": "taskLabel",
                "type": "text",
                "alias": "tsstaskLabelstaging"
              },
              {
                "objectName": "taskChangeDate",
                "type": "date",
                "alias": "tsstaskChangeDatestaging"
              },
              {
                "objectName": "tasksState",
                "type": "string",
                "alias": "tsstasksStatestaging"
              },
              {
                "objectName": "mandatoryTasksState",
                "type": "string",
                "alias": "tssmandatoryTasksStatestaging"
              }
            ]
          }
        ]
      },
      {
        "key": "tasklist-project-indexing-staging",
        "name": {
          "value": "Taskliststaging"
        },
        "entityType": "project",
        "keyConfigurations": [
          {
            "propertyKey": "tsstaskliststaging",
            "extractions": [
              {
                "objectName": "disableTasklist",
                "type": "string",
                "alias": "tsstasklistDisabledstaging"
              }
            ]
          }
        ]
      },
      {
        "key": "tasklist-issue-automation-staging",
        "name": {
          "value": "Taskliststaging"
        },
        "entityType": "issue",
        "keyConfigurations": [
          {
            "propertyKey": "tsstasklistAutomationstaging",
            "extractions": [
              {
                "objectName": "changeDate",
                "type": "date",
                "alias": "tsstasklistAutomationChangeDatestaging"
              },
              {
                "objectName": "completed",
                "type": "string",
                "alias": "tsstasklistAutomationCompletedstaging"
              }
            ]
          }
        ]
      }
    ],
    "generalPages": [
      {
        "key": "tasklist-my-tasks",
        "url": "/my-tasks",
        "location": "system.top.navigation.bar",
        "cacheable": false,
        "weight": 999,
        "name": {
          "value": "My Tasksstaging"
        },
        "icon": {
          "width": 24,
          "height": 24,
          "url": "/images/pluginLogo.png"
        },
        "conditions": [
          {
            "and": [
              {
                "condition": "user_is_logged_in"
              }
            ]
          }
        ]
      }
    ],
    "jiraIssueContexts": [
      {
        "icon": {
          "width": 24,
          "height": 24,
          "url": "/images/pluginLogo.png"
        },
        "content": {
          "type": "label",
          "label": {
            "value": "Taskliststaging"
          }
        },
        "target": {
          "type": "web_panel",
          "url": "/tasklist?projectKey={project.key}&projectId={project.id}&issueKey={issue.key}&issueId={issue.id}"
        },
        "jiraNativeAppsEnabled": true,
        "name": {
          "value": "Taskliststaging"
        },
        "key": "tasklist-issue-glance",
        "conditions": [
          {
            "and": [
              {
                "condition": "user_is_logged_in"
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "enableSettingsOverride",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "LEFT"
                    }
                  },
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "HIDDEN"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "entity_property_equal_to",
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "enableSettingsOverride",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "LEFT"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "HIDDEN"
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "jiraIssueContents": [
      {
        "key": "tasklist-issue-left",
        "name": {
          "value": "Taskliststaging"
        },
        "target": {
          "type": "web_panel",
          "url": "/tasklist/tasklist-left?projectKey={project.key}&projectId={project.id}&issueKey={issue.key}&issueId={issue.id}"
        },
        "icon": {
          "width": 24,
          "height": 24,
          "url": "/images/pluginLogo.png"
        },
        "tooltip": {
          "value": ""
        },
        "contentPresentConditions": [
          {
            "and": [
              {
                "condition": "user_is_logged_in"
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "enableSettingsOverride",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "RIGHT"
                    }
                  },
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "HIDDEN"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "entity_property_equal_to",
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "enableSettingsOverride",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "RIGHT"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "HIDDEN"
                    }
                  }
                ]
              }
            ]
          }
        ],
        "jiraNativeAppsEnabled": true,
        "conditions": [
          {
            "and": [
              {
                "condition": "user_is_logged_in"
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "enableSettingsOverride",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "RIGHT"
                    }
                  },
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "HIDDEN"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "entity_property_equal_to",
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "enableSettingsOverride",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "RIGHT"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "HIDDEN"
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "webPanels": [
      {
        "key": "tasklist-issue-right",
        "url": "/tasklist?projectKey={project.key}&projectId={project.id}&issueKey={issue.key}&issueId={issue.id}",
        "location": "atl.jira.view.issue.right.context",
        "cacheable": false,
        "weight": 999,
        "supportsNative": true,
        "name": {
          "value": "Taskliststaging"
        },
        "conditions": [
          {
            "and": [
              {
                "condition": "user_is_logged_in"
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "enableSettingsOverride",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "LEFT"
                    }
                  },
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "HIDDEN"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "entity_property_equal_to",
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "enableSettingsOverride",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "LEFT"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "tasksSectionPosition",
                      "value": "HIDDEN"
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "dialogs": [
      {
        "key": "tasklist-templates",
        "url": "/dialog/templates?dialog=1",
        "cacheable": false,
        "options": {
          "header": {
            "value": "Templatesstaging"
          }
        },
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "tasklist-templates-new",
        "url": "/dialog/templates-new?dialog=1",
        "options": {
          "header": {
            "value": "New Templatestaging"
          }
        },
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "import-tasks",
        "url": "/dialog/import-tasks?dialog=1",
        "options": {
          "header": {
            "value": "Import Tasksstaging"
          }
        },
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      }
    ],
    "jiraProjectPages": [
      {
        "key": "tasklist-project-tasks",
        "cacheable": false,
        "weight": 100,
        "name": {
          "value": "Project Tasksstaging"
        },
        "iconUrl": "/images/pluginLogo.png",
        "url": "/project-tasks?projectKey={project.key}&projectId={project.id}",
        "conditions": [
          {
            "and": [
              {
                "condition": "user_is_logged_in"
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "key": "tasklist-project-tasks-templates",
        "cacheable": false,
        "weight": 100,
        "name": {
          "value": "Tasks Templatesstaging"
        },
        "iconUrl": "/images/pluginLogo.png",
        "url": "/project-tasks-templates?projectId={project.id}",
        "conditions": [
          {
            "and": [
              {
                "condition": "user_is_logged_in"
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "key": "tasklist-project-configure",
        "cacheable": false,
        "weight": 999,
        "name": {
          "value": "Configure Taskliststaging"
        },
        "iconUrl": "/images/pluginLogo.png",
        "url": "/configure?projectKey={project.key}&projectId={project.id}",
        "conditions": [
          {
            "or": [
              {
                "condition": "user_is_admin"
              },
              {
                "condition": "has_global_permission",
                "params": {
                  "permission": "tss-tasklist-cloud-staging1__TL-ADMINISTRATOR"
                }
              },
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "advancedPermissions",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "has_project_permission",
                    "params": {
                      "permission": "tss-tasklist-cloud-staging1__TL-PROJECT-ADMINISTRATOR"
                    }
                  }
                ]
              }
            ]
          },
          {
            "or": [
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "false"
                    }
                  }
                ]
              },
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "invert": true,
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "entity_property_equal_to",
                    "params": {
                      "entity": "project",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "disableTasklist",
                      "value": "true"
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "jiraProjectAdminTabPanels": [
      {
        "key": "tasklist-cloud-project-configure",
        "url": "/configure?projectKey={project.key}&projectId={project.id}&isAdmin={condition.user_is_admin}&isProjectAdmin={condition.user_is_project_admin}",
        "location": "projectgroup4",
        "name": {
          "value": "Configure Taskliststaging"
        },
        "conditions": [
          {
            "or": [
              {
                "condition": "user_is_admin"
              },
              {
                "condition": "has_global_permission",
                "params": {
                  "permission": "tss-tasklist-cloud-staging1__TL-ADMINISTRATOR"
                }
              },
              {
                "and": [
                  {
                    "condition": "addon_property_equal_to",
                    "params": {
                      "entity": "addon",
                      "propertyKey": "tsstaskliststaging",
                      "objectName": "advancedPermissions",
                      "value": "true"
                    }
                  },
                  {
                    "condition": "has_project_permission",
                    "params": {
                      "permission": "tss-tasklist-cloud-staging1__TL-PROJECT-ADMINISTRATOR"
                    }
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "configurePage": {
      "url": "/configure?projectKey={project.key}&projectId={project.id}&isAdmin={condition.user_is_admin}&isProjectAdmin={condition.user_is_project_admin}",
      "key": "tasklist-cloud-configure",
      "name": {
        "value": "Configure Taskliststaging"
      },
      "location": "admin_plugins_menu/tasklist-addon-menu",
      "conditions": [
        {
          "condition": "user_is_admin"
        }
      ]
    },
    "adminPages": [
      {
        "url": "/templates",
        "key": "tasklist-cloud-templates-page",
        "name": {
          "value": "Templatesstaging"
        },
        "location": "admin_plugins_menu/tasklist-addon-menu",
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ]
      },
      {
        "url": "/migration",
        "key": "tasklist-cloud-migration-page",
        "name": {
          "value": "Migrationstaging"
        },
        "location": "admin_plugins_menu/tasklist-addon-menu",
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ]
      },
      {
        "url": "/automation",
        "key": "tasklist-cloud-automation-page",
        "name": {
          "value": "Automationstaging"
        },
        "location": "admin_plugins_menu/tasklist-addon-menu",
        "conditions": [
          {
            "condition": "user_is_admin"
          },
          {
            "condition": "addon_property_equal_to",
            "invert": true,
            "params": {
              "entity": "addon",
              "propertyKey": "tsstaskliststaging",
              "objectName": "enableAutomationBuilder",
              "value": "false"
            }
          }
        ]
      }
    ],
    "webSections": [
      {
        "key": "tasklist-addon-menu",
        "location": "admin_plugins_menu",
        "name": {
          "value": "Taskliststaging"
        },
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ]
      }
    ],
    "webItems": [
      {
        "key": "tasklist-addon-link",
        "location": "admin_plugins_menu/tasklist-addon-menu",
        "name": {
          "value": "Tasklist Configurationstaging"
        },
        "context": "product",
        "url": "/plugins/servlet/ac/tss-tasklist-cloud-staging1/tasklist-cloud-configure",
        "target": {
          "type": "page"
        },
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ]
      },
      {
        "key": "tasklist-migration-link",
        "location": "jira.issue.tools",
        "name": {
          "value": "Tasklist Migration Cleanupstaging"
        },
        "context": "addon",
        "url": "/dialog/migration-cleanup?dialog=1&issueId={issue.id}&issueKey={issue.key}&projectId={project.id}&projectKey={project.key}",
        "target": {
          "type": "dialog",
          "options": {
            "chrome": false,
            "width": "100%",
            "height": "100%",
            "closeOnEscape": false
          }
        },
        "conditions": [
          {
            "condition": "addon_property_equal_to",
            "params": {
              "entity": "addon",
              "propertyKey": "tsstaskliststaging",
              "objectName": "migrationIssueCleanup",
              "value": "true"
            }
          },
          {
            "or": [
              {
                "condition": "user_is_admin"
              },
              {
                "condition": "has_issue_permission",
                "params": {
                  "permission": "EDIT_ISSUES"
                }
              },
              {
                "condition": "has_issue_permission",
                "params": {
                  "permission": "EDIT_OWN_COMMENTS"
                }
              },
              {
                "condition": "has_issue_permission",
                "params": {
                  "permission": "EDIT_ALL_COMMENTS"
                }
              }
            ]
          }
        ]
      }
    ],
    "jiraWorkflowConditions": [
      {
        "key": "tasklist-workflow-condition-incomplete-tasks",
        "name": {
          "value": "Tasklist Cloud - Open Tasks staging"
        },
        "description": {
          "value": "Condition to block issue transitions when incomplete tasks are present in the issue."
        },
        "expression": "issue.properties['tssTaskliststaging'] == null || issue.properties['tssTaskliststaging'].taskOpenCount == 0",
        "view": {
          "url": "/workflow/view-tasks.html"
        }
      },
      {
        "key": "tasklist-workflow-condition-incomplete-mandatory-tasks",
        "name": {
          "value": "Tasklist Cloud - Mandatory Tasks staging"
        },
        "description": {
          "value": "Condition to block issue transitions when incomplete mandatory tasks are present in the issue."
        },
        "expression": "issue.properties['tssTaskliststaging'] == null || issue.properties['tssTaskliststaging'].taskOpenCount == 0 || issue.properties['tssTaskliststaging'].taskMandatoryOpenCount == 0",
        "view": {
          "url": "/workflow/view-mandatory.html"
        }
      }
    ],
    "jiraWorkflowValidators": [
      {
        "key": "tasklist-workflow-validator-incomplete-tasks",
        "name": {
          "value": "Tasklist Cloud - Open Tasks staging"
        },
        "description": {
          "value": "Validator to block issue transitions when incomplete tasks are present in the issue."
        },
        "expression": "issue.properties['tssTaskliststaging'] == null || issue.properties['tssTaskliststaging'].taskOpenCount == 0",
        "errorMessage": {
          "expression": "'All tasks should be completed!'"
        },
        "view": {
          "url": "/workflow/view-tasks.html"
        }
      },
      {
        "key": "tasklist-workflow-validator-incomplete-mandatory-tasks",
        "name": {
          "value": "Tasklist Cloud - Mandatory Tasks staging"
        },
        "description": {
          "value": "Validator to block issue transitions when incomplete mandatory tasks are present in the issue."
        },
        "errorMessage": {
          "expression": "'All mandatory tasks should be completed!'"
        },
        "expression": "issue.properties['tssTaskliststaging'] == null || issue.properties['tssTaskliststaging'].taskOpenCount == 0 || issue.properties['tssTaskliststaging'].taskMandatoryOpenCount == 0",
        "view": {
          "url": "/workflow/view-mandatory.html"
        }
      }
    ]
  },
  "regionBaseUrls": {
    "EU": "https://tasklist-app-eu.staging.qa",
    "DE": "https://tasklist-app-de.staging.qa"
  }
}