Stash Data Populator (Atlassian Summit Training 2013)

By default, this data populator will perform the operations below against a Stash instance running at http://localhost:7990/stash

  • Create a project named "Summit" and a repository named "summit"
  • Clone the stash-summit-vm-scripts repository from Bitbucket and push it to the summit repository in Stash
  • Create 20 stash groups - website_group1 to website_group20
  • Assign user001-005 to website_group1, user006-010 to website_group2, etc..
  • Create a website repository fork called Website_group1 to Website_group20
  • Assign read/write permissions to new groups to the reposirtory


  • You must have a Stash instance running with at least one administrative user.
  • The Stash instance must have a large enough license installed to support the number of users being created.
  • Bitbucket must be reachable (unless you have overridden the IMPORT_REPOSITORY, see "Running" below).
  • You must have node.js installed.

Initial setup

Clone this repository and then install it like any other node app:

npm install


Simply invoke:

node app.js

You can override certain values using environment variables, for example:

IMPORT_REPOSITORY=/Users/tpettersen/src/stash.git REPOSITORY_PERMISSION=REPO_ADMIN node app.js

The full list of supported environment variables are:

Environment Variable Default Value Description
STASH_USERNAME admin The admin user to authenticate as when calling the Stash REST API.
STASH_PASSWORD admin The password to use with STASH_USERNAME.
STASH_URL http://localhost:7990/stash/ The Stash server's base URL.
GROUP_COUNT 25 The number of groups to create.
USERS_PER_GROUP 5 The number of users to create per group.
IMPORT_REPOSITORY The git repository to push to the Stash server.
PROJECT_KEY SUMMIT The key used to create the project in Stash.
PROJECT_NAME Summit The name used to create the project in Stash.
REPOSITORY_NAME summit The name used to create the repository in Stash.
REPOSITORY_PERMISSION REPO_WRITE The permission to grant to the newly created groups for their repository fork.