JSPM

  • Created
  • Published
  • Downloads 87896
  • Score
    100M100P100Q173526F
  • License MIT

Bitbucket API client for Browser and Node.js

Package Exports

  • bitbucket
  • bitbucket/src/utils/get-buffer-response-browser.js
  • bitbucket/src/utils/get-buffer-response.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (bitbucket) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

version:@latest Documentation License

Bitbucket.js

Bitbucket API client for Browser and Node.js

Bitbucket API docs: https://api.bitbucket.org


BITBUCKET CLOUD API CHANGING NOTICE: https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-changes-gdpr
BITBUCKET CLOUD API MIGRATION GUIDE: https://developer.atlassian.com/cloud/bitbucket/bbc-gdpr-api-migration-guide
BITBUCKET CLOUD API REPO URL CHANGE: https://developer.atlassian.com/cloud/bitbucket/bitbucket-api-changes-workspaces

BREAKING CHANGES FOR API NAME: Unfortunately, API Name changes were published on the following minor version updates: v1.8.0, v1.9.0, v1.10.0. This type of changes won't happen again for minor version updates anymore.


Installation

via npm:

$ npm install bitbucket --save

via yarn:

$ yarn add bitbucket

Usage

Browser

<script src="https://unpkg.com/bitbucket/dist/bitbucket.min.js"></script>
<script>
  const bitbucket = new Bitbucket()
</script>

Node

const Bitbucket = require('bitbucket')

const bitbucket = new Bitbucket()

Client Options

You can set the APIs' baseUrl and modify some behaviors (e.g. request timeout etc.) by passing a clientOptions object to the Bitbucket constructor.

const clientOptions = {
  baseUrl: 'https://api.bitbucket.org/2.0',
  headers: {},
  options: {
    timeout: 10
  }
}

const bitbucket = new Bitbucket(clientOptions)

Authentication

bitbucket.authenticate({
  type: 'basic',
  username: 'username',
  password: 'password'
})

API Methods

async/await

try {
  let { data, headers } = await bitbucket.<namespace>.<api>({ ...params })
} catch (err) {}

Promise

bitbucket.<namespace>
  .<api>({ ...params })
  .then(({ data, headers }) => {})
  .catch(err => {})

Callback

bitbucket.<namespace>.<api>({ ...params }, (err, { data, headers }) => {})

Notes:

  • <namespace> is one of the Namespace Names
  • <api> is one of the API Names

Namespace Names

addon, hook_events, webhooks, repositories, branchrestrictions, commits, commitstatuses, issue_tracker, pullrequests, downloads, source, pipelines, refs, snippets, teams, projects, users, search, user, ssh

API Names

Check API client docs: https://bitbucketjs.netlify.com

Examples
bitbucket.repositories
  .list({ username: 'MunifTanjim' })
  .then(({ data, headers }) => console.log(data.values))
  .catch(err => console.error(err))

Acknowledgement

This API client is heavily inspired by the octokit/rest.js and a lot of ideas are taken from there. So, thanks goes to the maintainer Gregor Martynus and all the awesome contributors of octokit/rest.js.

License

Licensed under the MIT License. Check the LICENSE file for details.