{
  "key": "com.stiltsoft.confluence.handy.macros.stage",
  "baseUrl": "https://handy-macros-stage.stilt.run",
  "name": "Handy Macros for Confluence Cloud",
  "description": "Handy Macros is a solution that brings interactivity into Confluence Cloud with on-the-fly switchable statuses.",
  "enableLicensing": true,
  "vendor": {
    "name": "Stiltsoft Europe",
    "url": "https://stiltsoft.com"
  },
  "authentication": {
    "type": "jwt"
  },
  "apiMigrations": {
    "gdpr": true,
    "context-qsh": true
  },
  "cloudAppMigration": {
    "migrationWebhookPath": "/migration"
  },
  "scopes": [
    "READ",
    "WRITE"
  ],
  "lifecycle": {
    "installed": "/installed",
    "uninstalled": "/uninstalled"
  },
  "modules": {
    "postInstallPage": {
      "key": "hm-post-install",
      "name": {
        "value": "Getting started"
      },
      "url": "/statuses"
    },
    "adminPages": [
      {
        "key": "handy-macros-access-restrictions-page",
        "location": "system.admin/handy-macros-system-admin-section",
        "url": "/page/access-restrictions-page",
        "name": {
          "value": "Restrict set changes"
        },
        "conditions": [
          {
            "condition": "user_is_admin"
          }
        ],
        "fullPage": true
      }
    ],
    "generalPages": [
      {
        "key": "statuses",
        "url": "/statuses",
        "location": "system.header/left",
        "weight": 200,
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ],
        "icon": {
          "width": 24,
          "height": 24,
          "url": "/img/handy-icon.png"
        },
        "name": {
          "value": "Handy Macros"
        }
      },
      {
        "url": "/page/handy-page-status-report",
        "conditions": [
          {
            "condition": "user_is_logged_in"
          },
          {
            "or": [
              {
                "condition": "addon_property_exists",
                "params": {
                  "propertyKey": "page-status-config"
                },
                "invert": true
              },
              {
                "condition": "addon_property_equal_to",
                "params": {
                  "propertyKey": "page-status-config",
                  "objectName": "disabled",
                  "value": "false"
                }
              }
            ]
          }
        ],
        "name": {
          "value": "Page Status Report"
        },
        "key": "handy-page-status-report-page",
        "location": "none"
      }
    ],
    "dynamicContentMacros": [
      {
        "key": "handy-status-macro",
        "width": "80px",
        "height": "18px",
        "name": {
          "value": "Handy Status"
        },
        "url": "/macro/status?set={set}&status={status}&isShowDescription={isShowDescription}&isLabeled={isLabeled}&labelPrefix={labelPrefix}&macro={macro.id}&contentId={content.id}&contentType={content.type}&outputType={output.type}",
        "aliases": [
          "hm_stage_status"
        ],
        "bodyType": "none",
        "categories": [
          "confluence-content"
        ],
        "description": {
          "value": "Add an interactive status to switch it when viewing a Confluence page."
        },
        "documentation": {
          "url": "https://docs.stiltsoft.com/hmfc/cloud/handy-status"
        },
        "featured": true,
        "icon": {
          "width": 80,
          "height": 80,
          "url": "/img/macros/handy-status.svg"
        },
        "outputType": "inline",
        "parameters": [
          {
            "identifier": "set",
            "name": {
              "value": "Status Set"
            },
            "type": "int",
            "required": true
          },
          {
            "identifier": "status",
            "name": {
              "value": "Status"
            },
            "type": "int",
            "required": true
          },
          {
            "identifier": "isLabeled",
            "name": {
              "value": "Labeled"
            },
            "type": "boolean",
            "required": true
          },
          {
            "identifier": "labelPrefix",
            "name": {
              "value": "Label prefix"
            },
            "type": "string",
            "required": false
          }
        ],
        "editor": {
          "url": "/editor/macro/status",
          "height": "400px",
          "width": "800px",
          "editTitle": {
            "value": "Edit Handy Status Macro"
          },
          "insertTitle": {
            "value": "Insert Handy Status Macro"
          }
        },
        "renderModes": {
          "default": {
            "url": "/render/status/default?status={status}&macro={macro.id}&contentId={content.id}&contentType={content.type}"
          }
        }
      },
      {
        "key": "handy-date-macro",
        "width": "100px",
        "height": "18px",
        "name": {
          "value": "Handy Date"
        },
        "url": "/macro/date?exp={exp}&value={value}&coloring={coloring}&macro={macro.id}&contentId={content.id}&contentType={content.type}&outputType={output.type}",
        "aliases": [
          "hm_stage_status"
        ],
        "bodyType": "none",
        "categories": [
          "confluence-content"
        ],
        "description": {
          "value": "Macro that provides the interactive date picker in the page view mode."
        },
        "documentation": {
          "url": "https://docs.stiltsoft.com/hmfc/cloud/handy-date"
        },
        "featured": true,
        "icon": {
          "width": 80,
          "height": 80,
          "url": "/img/macros/handy-date.svg"
        },
        "outputType": "inline",
        "parameters": [
          {
            "identifier": "exp",
            "name": {
              "value": "Expiration"
            },
            "type": "boolean",
            "required": false
          },
          {
            "identifier": "value",
            "name": {
              "value": "Date Value"
            },
            "type": "string",
            "required": true
          },
          {
            "identifier": "coloring",
            "name": {
              "value": "Macro Coloring"
            },
            "type": "boolean",
            "required": false
          }
        ],
        "editor": {
          "url": "/editor/date/settings",
          "height": "430px",
          "width": "800px",
          "editTitle": {
            "value": "Edit Handy Date Macro"
          },
          "insertTitle": {
            "value": "Insert Handy Date Macro"
          }
        },
        "renderModes": {
          "default": {
            "url": "/render/date/default?value={value}&exp={exp}&macro={macro.id}&contentId={content.id}&contentType={content.type}"
          }
        }
      },
      {
        "key": "handy-poll-macro",
        "width": "16px",
        "height": "16px",
        "name": {
          "value": "Handy Poll"
        },
        "url": "/macro/poll?poll={poll}&type={questionType}&contentId={content.id}&contentType={content.type}&contentVersion={content.version}&macroId={macro.id}",
        "aliases": [
          "hm_stage_poll",
          "hm_stage_Status",
          "hm_stage_Task Report",
          "hm_stage_Popular Labels",
          "hm_stage_Gallery",
          "hm_stage_Table of contents",
          "hm_stage_Chart",
          "hm_stage_Roadmap planner"
        ],
        "bodyType": "none",
        "categories": [
          "confluence-content"
        ],
        "description": {
          "value": "The Handy Poll macro lets you easily create the polls for collecting votes on particular options in Confluence Cloud."
        },
        "featured": true,
        "icon": {
          "width": 80,
          "height": 80,
          "url": "/img/macros/handy-poll.svg"
        },
        "outputType": "block",
        "parameters": [
          {
            "identifier": "poll",
            "name": {
              "value": "Poll ID"
            },
            "type": "string",
            "required": true
          },
          {
            "identifier": "question",
            "name": {
              "value": "Poll Question"
            },
            "type": "string",
            "required": true
          },
          {
            "identifier": "questionType",
            "name": {
              "value": "Poll Question Type"
            },
            "type": "int",
            "required": true
          },
          {
            "identifier": "options",
            "name": {
              "value": "Poll Options"
            },
            "type": "string",
            "required": true
          }
        ],
        "editor": {
          "url": "/editor/macro/poll",
          "height": "400px",
          "width": "800px",
          "editTitle": {
            "value": "Edit Handy Poll Macro"
          },
          "insertTitle": {
            "value": "Insert Handy Poll Macro"
          }
        },
        "renderModes": {
          "default": {
            "url": "/render/poll/default?poll={poll}&question={question}&options={options}"
          }
        }
      },
      {
        "key": "status-handy",
        "width": "80px",
        "height": "18px",
        "name": {
          "value": "Handy Status"
        },
        "url": "/macro/server/status?id={id}&macro={macro.id}&page={page.id}&pageType={page.type}&contentId={content.id}&contentType={content.type}&set={set}&status={status}&isShowDescription={isShowDescription}&isLabeled={isLabeled}&labelPrefix={labelPrefix}&outputType={output.type}",
        "bodyType": "none",
        "hidden": true,
        "featured": false,
        "outputType": "inline",
        "icon": {
          "width": 80,
          "height": 80,
          "url": "/img/macros/handy-status.svg"
        },
        "parameters": [
          {
            "identifier": "id",
            "name": {
              "value": "Server Macro ID"
            },
            "type": "int",
            "required": true
          },
          {
            "identifier": "name",
            "name": {
              "value": "Server Status name"
            },
            "type": "string",
            "required": true
          }
        ],
        "editor": {
          "url": "/editor/macro/status",
          "height": "400px",
          "width": "800px",
          "editTitle": {
            "value": "Edit Handy Status Macro"
          },
          "insertTitle": {
            "value": "Insert Handy Status Macro"
          }
        },
        "renderModes": {
          "default": {
            "url": "/render/server/status/default?id={id}&status={status}&macro={macro.id}&contentId={content.id}&contentType={content.type}"
          }
        }
      }
    ],
    "dialogs": [
      {
        "url": "/dialog/calendar?v=1",
        "key": "change-date-dialog",
        "cacheable": true,
        "options": {
          "width": "340px",
          "height": "420px",
          "chrome": false
        }
      },
      {
        "url": "/dialog/status?v=1",
        "key": "change-status-dialog",
        "cacheable": true,
        "options": {
          "width": "600px",
          "height": "300px",
          "chrome": false
        }
      },
      {
        "url": "/dialog/feedback",
        "key": "feedback-collection-dialog",
        "options": {
          "width": "500px",
          "height": "330px",
          "chrome": false
        }
      }
    ],
    "webPanels": [
      {
        "key": "handy-macros-event-consumer",
        "url": "/page/macros-event-consumer",
        "location": "atl.footer",
        "name": {
          "value": "Handy Macros - Event consumer"
        },
        "layout": {
          "width": "0px",
          "height": "0px"
        },
        "cacheable": true,
        "supportsNative": false,
        "conditions": [
          {
            "condition": "user_is_logged_in"
          }
        ]
      },
      {
        "key": "hm-license-expiration",
        "url": "/banner/license-expiration?v=1",
        "location": "atl.general",
        "weight": 50,
        "layout": {
          "width": "100%",
          "height": "0px"
        },
        "cacheable": true,
        "supportsNative": false,
        "name": {
          "value": "Handy Macros - License expired"
        },
        "conditions": [
          {
            "condition": "user_is_logged_in"
          },
          {
            "condition": "addon_is_licensed",
            "invert": true
          }
        ]
      }
    ],
    "webSections": [
      {
        "location": "system.admin",
        "weight": 100,
        "name": {
          "value": "Handy Macros for Confluence"
        },
        "key": "handy-macros-system-admin-section"
      }
    ],
    "customContent": [
      {
        "key": "handy-page-status-report",
        "name": {
          "value": "Page Status Report"
        },
        "apiSupport": {
          "bodyType": "raw",
          "supportedContainerTypes": [
            "space"
          ]
        },
        "uiSupport": {
          "contentViewComponent": {
            "addonKey": "com.stiltsoft.confluence.handy.macros.stage",
            "moduleKey": "handy-page-status-report-page"
          },
          "listViewComponent": {
            "addonKey": "com.stiltsoft.confluence.handy.macros.stage",
            "moduleKey": "handy-page-status-report-page"
          },
          "icons": {
            "item": {
              "width": 24,
              "height": 24,
              "url": "/img/handy-page-status-report.svg"
            }
          }
        }
      }
    ]
  }
}
