@srt4rulez/bitbucket-multi-repo-management v2.0.0
bitbucket-multi-repo-management
A node.js console application that manages multiple git repositories in Bitbucket Cloud via the Bitbucket API.
This tool was created namely for creating branches and tags on multiple repositories without having to clone them locally. While this tool only calls a few Bitbucket API endpoints, there's no reason it couldn't be expanded to add more functionality.
Getting Started
Install globally via npm:
npm install -g @srt4rulez/bitbucket-multi-repo-managementor yarn:
yarn global add @srt4rulez/bitbucket-multi-repo-managementYou should now have bmrm available as a global executable.
Run it without any commands to see the help page:
bmrmAuth Configuration
Run the init command to setup your bitbucket username and app password.
bmrm initNote: Do not use your own bitbucket password. Instead, create an "app password" with repositories read and write access. More info here on creating app passwords: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/
Once finished, a config file will be created at ~/.bmrm-auth.json. You can edit this file anytime
to change any configuration manually.
Configuration
Create a .bmrm.json file or run bmrm create-config to create a file for you.
{
"repositories": [
"organization/the-best-repository",
"organization/awesome-repository"
]
}The following fields are valid in the configuration file:
repositories
An array of bitbucket repositories you'd like to run commands on. This should be the full name of the repository, include the organization / user account.
versionPrefix
A prefix for versioning (eg "v").
When using the tag create --interactive command, a version prefix can be added to tags automatically.
prereleaseIdentifier
If following semver, and using the tag create --interactive command, this will be the pre-release
suffix that can be generated for release versions (eg "alpha", "beta", "rc", etc).
You can also create a config file in any of these formats:
package.json -- as a "bmrm" key
.bmrm
.bmrm.json
.bmrm.yaml
.bmrm.yml
.bmrm.js
.bmrm.cjs
bmrm.config.js
bmrm.config.cjsWe use cosmiconfig to load these different files, checkout that library for more information.
Usage
Listing Configured Repositories
Run repo list to view all the repositories you'd added so far:
bmrm repo listCreating + Deleting Branches
Run branch create or branch delete to manage branches on all repositories.
bmrm branch create <fromBranch> <branchName>
bmrm branch delete <branchName>You will see your list of repositories, and some action information with a prompt to confirm before the action is executed.
Creating + Deleting Tags
Run tag create and tag delete to manage tags on all repositories.
bmrm tag create <fromBranchOrHash> <tagName>
# Or interactively with semver suggested versions based on the current version:
bmrm tag create --interactive
bmrm tag delete <tagName>