{"key":"com.ticktheapp.app.jira","name":"Tick","description":"Organize your Jira tasks with seamless, interactive checklists.","baseUrl":"https://app.ticktheapp.com","authentication":{"type":"jwt"},"apiVersion":1,"enableLicensing":true,"icons":{"16x16":"/wp/images/tick-c-face-48.svg","24x24":"/wp/images/tick-c-face-48.svg","32x32":"/wp/images/tick-c-face-48.svg","48x48":"/wp/images/tick-c-face-48.svg"},"lifecycle":{"installed":"/api/v1/hooks/life-cycle/installed"},"scopes":["READ","WRITE","PROJECT_ADMIN","ADMIN"],"apiMigrations":{"signed-install":true},"vendor":{"name":"Tick","url":"https://ticktheapp.com"},"modules":{"jiraIssueContents":[{"key":"issue-checklist-content-tick-key","name":{"value":"Tick"},"icon":{"width":48,"height":48,"url":"/wp/images/tick-c-face-48.svg"},"target":{"type":"web_panel","url":"/wp/issue/{project.key}/{project.id}/{issue.id}?isEpic={condition.jira_expression(expression=issue.isEpic || issue.issueType.name == 'Epic')}&isServiceDeskProject={condition.jira_expression(expression=project.projectTypeKey=='service_desk')}&isClassicProject={condition.jira_expression(expression=project.style=='classic')}"},"tooltip":{"value":"Add tick"},"contentPresentConditions":[{"or":[{"condition":"entity_property_exists","params":{"entity":"project","propertyKey":"isTickEnabled","objectName":"isTickEnabled"},"invert":true},{"condition":"entity_property_equal_to","params":{"entity":"project","propertyKey":"isTickEnabled","objectName":"isTickEnabled","value":"true"}}]}],"conditions":[{"condition":"user_is_logged_in"}]}],"jiraIssueContexts":[{"key":"tick-side-panel","name":{"value":"Tick"},"target":{"type":"web_panel","url":"/wp/issue/{project.key}/{project.id}/{issue.id}?isEpic={condition.jira_expression(expression=issue.isEpic || issue.issueType.name == 'Epic')}&isServiceDeskProject={condition.jira_expression(expression=project.projectTypeKey=='service_desk')}&isClassicProject={condition.jira_expression(expression=project.style=='classic')}"},"icon":{"width":48,"height":48,"url":"/wp/images/tick-c-face-48.svg"},"content":{"type":"label","label":{"value":"Tick"}},"supportsNative":true,"conditions":[{"and":[{"condition":"user_is_logged_in"},{"or":[{"condition":"entity_property_exists","params":{"entity":"project","propertyKey":"isTickEnabledMobileView","objectName":"isTickEnabledMobileView"},"invert":true},{"condition":"entity_property_equal_to","params":{"entity":"project","propertyKey":"isTickEnabledMobileView","objectName":"isTickEnabledMobileView","value":"true"}}]}]}],"weight":50}],"webSections":[{"key":"system-admin-globalsettings","location":"admin_plugins_menu","name":{"value":"Tick Configuration"}}],"adminPages":[{"url":"/wp/admin/general","key":"admin-general","name":{"value":"General Settings"},"location":"admin_plugins_menu/system-admin-globalsettings","conditions":[{"condition":"user_is_logged_in"}]},{"url":"/wp/admin/statuses","key":"admin-statuses","name":{"value":"Statuses Settings"},"location":"admin_plugins_menu/system-admin-globalsettings","conditions":[{"condition":"user_is_admin"}]},{"url":"/wp/admin/enabled-projects","key":"admin-enabled-projects","name":{"value":"Enabled Projects"},"location":"admin_plugins_menu/system-admin-globalsettings","conditions":[{"condition":"user_is_admin"}]},{"url":"/wp/admin/templates","key":"admin-templates","name":{"value":"Templates"},"location":"admin_plugins_menu/system-admin-globalsettings","conditions":[{"condition":"user_is_admin"}]},{"url":"/wp/admin/support","key":"admin-support","name":{"value":"Support"},"location":"admin_plugins_menu/system-admin-globalsettings","conditions":[{"condition":"user_is_admin"}]}],"jiraEntityProperties":[{"key":"tick-issue-entity","name":{"value":"Tick Issue Entity"},"entityType":"issue","keyConfigurations":[{"propertyKey":"tick","extractions":[{"objectName":"tasksCount","type":"number","alias":"tasksCount"},{"objectName":"mandatoryTasksCount","type":"number","alias":"mandatoryTasksCount"},{"objectName":"optionalTasksCount","type":"number","alias":"optionalTasksCount"},{"objectName":"tasklistsCount","type":"number","alias":"tasklistsCount"},{"objectName":"completedTasksCount","type":"number","alias":"completedTasksCount"},{"objectName":"completedMandatoryTasksCount","type":"number","alias":"completedMandatoryTasksCount"},{"objectName":"completedOptionalTasksCount","type":"number","alias":"completedOptionalTasksCount"},{"objectName":"completedTasklistsCount","type":"number","alias":"completedTasklistsCount"},{"objectName":"incompleteTasksCount","type":"number","alias":"incompleteTasksCount"},{"objectName":"incompleteTasklistsCount","type":"number","alias":"incompleteTasklistsCount"},{"objectName":"incompletePastDuesCount","type":"number","alias":"incompletePastDuesCount"},{"objectName":"progressPercent","type":"number","alias":"progressPercent"},{"objectName":"mandatoryProgressPercent","type":"number","alias":"mandatoryProgressPercent"},{"objectName":"tasklistFullText","type":"text","alias":"tasklistFullText"}]}]},{"keyConfigurations":[{"extractions":[{"objectName":"isTickEnabled","type":"string","alias":"isTickEnabled"}],"propertyKey":"isTickEnabled"}],"entityType":"project","key":"isTickEnabled","name":{"value":"Enable/Disable Tick"}},{"keyConfigurations":[{"extractions":[{"objectName":"isTickEnabledMobileView","type":"string","alias":"isTickEnabledMobileView"}],"propertyKey":"isTickEnabledMobileView"}],"entityType":"project","key":"isTickEnabledMobileView","name":{"value":"Enable/Disable Tick Mobile View"}}],"jiraWorkflowValidators":[{"key":"tick-completed-workflow-validator","name":{"value":"Tick: All tasks are completed"},"description":{"value":"Validates that all tasks are completed (validator provided by Tick)"},"expression":"(project.properties.isTickEnabled != null && project.properties.isTickEnabled.isTickEnabled == false) || issue.properties.tick == null || issue.properties.tick.tasksCount == 0 || issue.properties.tick.progressPercent == 100","errorMessage":{"value":"Please complete all the tasks first."}},{"key":"tick-mandatory-completed-workflow-validator","name":{"value":"Tick: All mandatory tasks are completed"},"description":{"value":"Validates that all mandatory tasks are completed (validator provided by Tick)"},"expression":"(project.properties.isTickEnabled != null && project.properties.isTickEnabled.isTickEnabled == false) || issue.properties.tick == null || issue.properties.tick.tasksCount == 0 || issue.properties.tick.mandatoryTasksCount == 0 || (issue.properties.tick.mandatoryTasksCount > 0 && issue.properties.tick.mandatoryProgressPercent == 100)","errorMessage":{"value":"Please complete all the tasks first."}},{"key":"tick-not-empty-workflow-validator","name":{"value":"Tick: Not empty"},"description":{"value":"Validates that contains one or more tasks in the issue (validator provided by Tick)"},"expression":"(project.properties.isTickEnabled != null && project.properties.isTickEnabled.isTickEnabled == false) || issue.properties.tick == null || issue.properties.tick.tasksCount > 0 ","errorMessage":{"value":"Tasklist cannot be empty."}}],"jiraIssueTabPanels":[{"url":"/wp/issue/{project.key}/{project.id}/{issue.id}/history","weight":100,"name":{"value":"Tick History"},"key":"tick-history"}],"webhooks":[{"event":"jira:issue_created","url":"/api/v1/hooks/life-cycle/issue-created","propertyKeys":["isTickEnabled"],"filter":"project.isTickEnabled is EMPTY or project.isTickEnabled != 'false'"}]}}