{
  "key" : "com.stiltsoft.stash.graphs",
  "version" : "2.0.0",
  "apiVersion" : 2,
  "name" : "Awesome Graphs",
  "description" : "Awesome Graphs adds graphs which let you visualise information about your repository, commits and committers.",
  "vendor" : {
    "name" : "StiltSoft",
    "url" : "http://www.stiltsoft.com"
  },
  "lifecycle" : {
    "installed" : "/install",
    "uninstalled" : "/uninstall"
  },
  "baseUrl" : "https://awesome-graphs.stiltsoft.net",
  "authentication" : {
    "type" : "jwt"
  },
  "modules" : {
    "repoPages" : [ {
      "url" : "/graphs?user_uuid={user.uuid}&repository_uuid={repository.uuid}&repository_updated_on={repository.updated_on}&repository_name={repository.name}&repository_full_name={repository.full_name}&repository_link={repository.links.html.href}&project_name={repository.project.name}&project_link={repository.project.links.html.href}&workspace_name={repository.workspace.name}&workspace_link={repository.workspace.links.html.href}&workspace_uuid={repository.workspace.uuid}&workspace_slug={repository.workspace.slug}",
      "name" : {
        "value" : "Graphs"
      },
      "location" : "org.bitbucket.repository.navigation",
      "weight" : 1,
      "key" : "graphs-repo-page",
      "icon" : {
        "url" : "/assets/local/images/graphs-icon.svg?v=10",
        "width" : 20,
        "height" : 20
      },
      "conditions" : [ {
        "condition" : "has_permission",
        "params" : {
          "permission" : "read"
        },
        "target" : "repository"
      }, {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "member"
        }
      } ]
    }, {
      "url" : "/reports?user_uuid={user.uuid}&repository_uuid={repository.uuid}&repository_updated_on={repository.updated_on}&repository_name={repository.name}&repository_full_name={repository.full_name}&repository_link={repository.links.html.href}&project_name={repository.project.name}&project_link={repository.project.links.html.href}&workspace_name={repository.workspace.name}&workspace_link={repository.workspace.links.html.href}&workspace_uuid={repository.workspace.uuid}&workspace_slug={repository.workspace.slug}",
      "name" : {
        "value" : "Reports"
      },
      "location" : "org.bitbucket.repository.navigation",
      "weight" : 2,
      "key" : "graphs-reports-repo-page",
      "icon" : {
        "url" : "/assets/local/images/reports-icon.svg?v=5",
        "width" : 20,
        "height" : 20
      },
      "conditions" : [ {
        "condition" : "has_permission",
        "params" : {
          "permission" : "read"
        },
        "target" : "repository"
      }, {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "member"
        }
      } ]
    } ],
    "adminPages" : [ {
      "key" : "lines-of-code-page",
      "url" : "/settings/repository/{repository.uuid}/lines-of-code?user_uuid={user.uuid}&workspace_slug={repository.workspace.slug}",
      "name" : {
        "value" : "Lines of code"
      },
      "location" : "org.bitbucket.repository.admin",
      "conditions" : [ {
        "condition" : "has_permission",
        "params" : {
          "permission" : "admin"
        },
        "target" : "repository"
      } ]
    }, {
      "key" : "cycle-time-page",
      "url" : "/settings/repository/{repository.uuid}/cycle-time?user_uuid={user.uuid}&workspace_slug={repository.workspace.slug}&workspace_uuid={repository.workspace.uuid}",
      "name" : {
        "value" : "Cycle time"
      },
      "location" : "org.bitbucket.repository.admin",
      "conditions" : [ {
        "condition" : "has_addon",
        "target" : "target_user",
        "params" : {
          "key" : "awesome-graphs-stage"
        }
      }, {
        "condition" : "has_permission",
        "params" : {
          "permission" : "admin"
        },
        "target" : "repository"
      } ]
    }, {
      "url" : "/license/plan-details/{target_user.uuid}?user_uuid={user.uuid}",
      "name" : {
        "value" : "Plan details"
      },
      "key" : "plan-details",
      "location" : "org.bitbucket.account.admin",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "admin"
        }
      } ]
    }, {
      "key" : "access-tokens-page",
      "url" : "/settings/workspace/{target_user.uuid}/access-tokens?user_uuid={user.uuid}",
      "name" : {
        "value" : "Access tokens"
      },
      "location" : "org.bitbucket.account.admin",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "admin"
        }
      } ]
    } ],
    "profileTabs" : [ {
      "key" : "workspace-graphs-page",
      "name" : {
        "value" : "Graphs"
      },
      "url" : "/graphs/workspace?workspace_uuid={target_user.uuid}&user_uuid={user.uuid}",
      "icon" : {
        "url" : "/assets/local/images/graphs-icon.svg?v=10",
        "width" : 20,
        "height" : 20
      },
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "member"
        }
      } ]
    }, {
      "key" : "workspace-reports-page",
      "name" : {
        "value" : "Reports"
      },
      "url" : "/reports/workspace?workspace_uuid={target_user.uuid}&user_uuid={user.uuid}",
      "icon" : {
        "url" : "/assets/local/images/reports-icon.svg?v=5",
        "width" : 20,
        "height" : 20
      },
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "member"
        }
      } ]
    } ],
    "generalPages" : [ {
      "name" : {
        "value" : "Questionnaire"
      },
      "key" : "questionnaire-dialog",
      "url" : "/questionnaire.dialog?user_uuid={user.uuid}",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "member"
        }
      } ]
    }, {
      "name" : {
        "value" : "Workspace owners"
      },
      "key" : "owners-dialog",
      "url" : "/license/owners.dialog/workspace/{target_user.uuid}?user_uuid={user.uuid}",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "member"
        }
      } ]
    }, {
      "name" : {
        "value" : "Cancel subscription"
      },
      "key" : "cancel-subscription-dialog",
      "url" : "/license/cancel-subscription.dialog/{target_user.uuid}?user_uuid={user.uuid}",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "admin"
        }
      } ]
    }, {
      "name" : {
        "value" : "Payment"
      },
      "key" : "payment-dialog",
      "url" : "/license/payment.dialog/{target_user.uuid}?user_uuid={user.uuid}",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "admin"
        }
      } ]
    }, {
      "name" : {
        "value" : "Update Payment Details"
      },
      "key" : "update-payment-details-dialog",
      "url" : "/license/update-payment-details.dialog?user_uuid={user.uuid}",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "admin"
        }
      } ]
    }, {
      "name" : {
        "value" : "Create Access Token"
      },
      "key" : "create-access-token-dialog",
      "url" : "/settings/workspace/{target_user.uuid}/access-token-create.dialog?user_uuid={user.uuid}",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "admin"
        }
      } ]
    }, {
      "name" : {
        "value" : "Revoke Access Token"
      },
      "key" : "revoke-access-token-dialog",
      "url" : "/settings/workspace/{target_user.uuid}/access-token-revoke.dialog?user_uuid={user.uuid}",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "admin"
        }
      } ]
    }, {
      "name" : {
        "value" : "Access Token"
      },
      "key" : "access-token-dialog",
      "url" : "/settings/access-token.dialog?user_uuid={user.uuid}",
      "conditions" : [ {
        "condition" : "has_account_permission",
        "params" : {
          "permission" : "admin"
        }
      } ]
    } ],
    "proxy" : {
      "/settings/workspace/{workspace}/tokens" : {
        "destination" : "/settings/workspace/{workspace.uuid}/tokens?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "admin"
          }
        } ]
      },
      "/settings/workspace/{workspace}/tokens/{id}" : {
        "destination" : "/settings/workspace/{workspace.uuid}/tokens/{id}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "admin"
          }
        } ]
      },
      "/settings/repository/{repository}" : {
        "destination" : "/settings/repository/{repository.uuid}?user_uuid={user.uuid}&repository_slug={repository.slug}&workspace_uuid={repository.workspace.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "admin"
          },
          "target" : "repository"
        } ]
      },
      "/contributors/repository/{repository}" : {
        "destination" : "/graphs/contributors/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/commit-activity/repository/{repository}" : {
        "destination" : "/graphs/commit-activity/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/punch-card/repository/{repository}" : {
        "destination" : "/graphs/punch-card/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/loc-stat-accuracy/repository/{repository}" : {
        "destination" : "/graphs/loc-stat-accuracy/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/show-lines-of-code/repository/{repository}" : {
        "destination" : "/graphs/show-lines-of-code/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/loc-stat-accuracy/workspace/{workspace}" : {
        "destination" : "/graphs/workspace/loc-stat-accuracy/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/show-lines-of-code/workspace/{workspace}" : {
        "destination" : "/graphs/workspace/show-lines-of-code/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/accessible-repository-uuids/workspace/{workspace}" : {
        "destination" : "/accessible-repository-uuids/workspace/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/graphs/workspace/{workspace}" : {
        "destination" : "/graphs/workspace/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/state/{workspace}" : {
        "destination" : "/graphs/workspace/state/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/{section}/index-state/{index}/workspace/{workspace}" : {
        "destination" : "/{section}/workspace/index-state/{index}/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/resolve/contributors/workspace/{workspace}" : {
        "destination" : "/contributors/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/resolve/contributors/by-user-ids/repository/{repository}" : {
        "destination" : "/contributors/by-user-ids?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/resolve/contributors/by-user-ids/workspace/{workspace}" : {
        "destination" : "/contributors/by-user-ids?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/resolve/contributors/repository/{repository}" : {
        "destination" : "/contributors/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/reports/top-committers/repository/{repository}" : {
        "destination" : "/reports/top-committers/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/reports/top-committers/workspace/{workspace}" : {
        "destination" : "/reports/workspace/top-committers/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/reports/commits/repository/{repository}" : {
        "destination" : "/reports/commits/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/reports/commits/workspace/{workspace}" : {
        "destination" : "/reports/workspace/commits/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/reports/resolution-histogram/repository/{repository}" : {
        "destination" : "/reports/resolution-histogram/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/reports/resolution-histogram/workspace/{workspace}" : {
        "destination" : "/reports/workspace/resolution-histogram/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/{section}/index-state/{index}/repository/{repository}" : {
        "destination" : "/{section}/index-state/{index}/{repository.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/members/workspace/{workspace}" : {
        "destination" : "/members/workspace/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/members/repository/{repository}" : {
        "destination" : "/members/workspace/{repository.workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/feature-flags/workspace/{workspace}" : {
        "destination" : "/feature-flags?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/feature-flags/repository/{repository}" : {
        "destination" : "/feature-flags?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_permission",
          "params" : {
            "permission" : "read"
          },
          "target" : "repository"
        }, {
          "condition" : "has_workspace_permission",
          "target" : "repository.workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/owners/workspace/{workspace}" : {
        "destination" : "/owners/workspace/{workspace.uuid}?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/license/info/{workspace}" : {
        "destination" : "/license/info?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "admin"
          }
        } ]
      },
      "/license/state/{workspace}" : {
        "destination" : "/license/state?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/license/trial-info/{workspace}" : {
        "destination" : "/license/trial-info?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "member"
          }
        } ]
      },
      "/license/cancel-subscription/{workspace}" : {
        "destination" : "/license/cancel-subscription?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "admin"
          }
        } ]
      },
      "/license/reset/{workspace}" : {
        "destination" : "/license/reset?user_uuid={user.uuid}",
        "conditions" : [ {
          "condition" : "has_workspace_permission",
          "target" : "workspace",
          "params" : {
            "permission" : "admin"
          }
        } ]
      }
    },
    "webhooks" : [ {
      "event" : "repo:created",
      "url" : "/webhook/repo-created"
    }, {
      "event" : "repo:deleted",
      "url" : "/webhook/repo-deleted"
    }, {
      "event" : "repo:push",
      "url" : "/webhook/repo-push"
    }, {
      "event" : "repo:updated",
      "url" : "/webhook/repo-updated"
    }, {
      "event" : "repo:transfer",
      "url" : "/webhook/repo-transfer"
    }, {
      "event" : "pullrequest:approved",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:comment_created",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:comment_deleted",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:created",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:fulfilled",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:rejected",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:superseded",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:unapproved",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:updated",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:changes_request_created",
      "url" : "/webhook/pullrequest"
    }, {
      "event" : "pullrequest:changes_request_removed",
      "url" : "/webhook/pullrequest"
    } ]
  },
  "contexts" : [ "account" ],
  "scopes" : [ "repository", "project", "account", "pullrequest", "email", "webhook" ]
}