Code Monkey home page Code Monkey logo

bitbucket-server-nodejs's Introduction

Rest client for Atlassian client

Provides access to some of client's APIs.

Build Status Coverage Status

npm package

Installation

npm install bitbucket-server-nodejs

Initializing Client

Supports public, basic auth and OAuth1.

Specify auth's type as 'public', 'basic' or 'oauth'. Defaults to 'public'.

var Client = require('bitbucket-server-nodejs').Client;

BASIC AUTH

var auth = {
    "type": "basic",
    "username": "username",
    "password": "password"
};

OAUTH1

var auth = {
    "type": "oauth",
    "consumer_secret": "consumer_secret",
    "signature_method": "signature_method",
    "token": "token",
    "token_secret": "token_secret"
};
      - OR NO AUTH AT ALL, FOR PUBLIC ACCESS -

Basic

var client = new Client('http://localhost:7990/rest/api/1.0');

With auth configuration and logging enabled

var client = new Client('http://localhost:7990/rest/api/1.0', auth, {
    logging: true
});

APIS

  • project
  • repos
  • branches
  • tags
  • pull requests
  • hooks
  • settings
  • users

projects

Get all projects.

client.projects.get(); // Promise

repos

Get all repos for a project.

client.repos.get(projectKey); // Promise

Get all repos, using pagination.

client.repos.getAll(); // Promise

Get all repos for all projects.

client.repos.getCombined(); // Promise

Get one repo for a project.

client.repos.getRepo(projectKey, repo); // Promise

branches

Get all branches for a repo.

client.branches.get(projectKey, repoKey); // Promise

To get branches from a user repo rather than a project repo, use user's slug as the project key, prepended by '~'.

client.branches.get('~userslug', repoKey); // Promise

tags

Get all tags for a repo.

client.tags.get(projectKey, repoKey); // Promise

To get tags from a user repo rather than a project repo, use user's slug as the project key, prepended by '~'.

client.tags.get('~userslug', repoKey); // Promise

pull requests

Get all pull requests for a repo.

client.prs.get(projectKey, repoSlug); // Promise

Get all pull requests for a project.

client.prs.getCombined(projectKey); // Promise

Get all pull requests on all projects.

client.prs.getCombined(); // Promise

Get all pull requests by a specific author.

client.prs.getCombined(null, null, { author: "ben" }); // Promise

Get all pull requests in a specific state (defaults OPEN).

client.prs.getCombined(null, null, { state: "MERGED" }); // Promise

Possible states: ALL, OPEN, DECLINED or MERGED.

hooks

Get all hooks for a repo.

client.hooks.get(projectKey, repoSlug); // Promise

Get all pre-recieve hooks.

client.hooks.getPreReceive(projectKey, repoSlug); // Promise

Get all post-recieve hooks.

client.hooks.getPostReceive(projectKey, repoSlug); // Promise

Get details for a single hook.

client.hooks.getHook(projectKey, repoSlug, hookKey); // Promise

settings

Get user's settings. Username and Password must be valid.

client.settings.get(username); // Promise

users

Get full list of users. You will probably need to have admin access.

client.users.get(); // Promise

Get one user.

client.users.getUser(userSlug); // Promise

API Coverage

  • users
  • projects

Users

Get user related data:

  • /rest/api/1.0/users [GET]
  • /rest/api/1.0/users/{userSlug} [GET]
  • /rest/api/1.0/users/{userSlug}/settings [GET]

Projects

Get project related data:

  • /rest/api/1.0/projects [GET]
  • /rest/api/1.0/projects/{projectKey}/repos [GET]
  • /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug} [GET]
  • /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/browse [GET]
  • /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/branches [GET]
  • /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/pull-requests [GET]
  • /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/settings/hooks [GET]
  • /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/tags [GET]

Enable hook:

  • /rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/settings/hooks/{hookKey}/enabled [PUT]

bitbucket-server-nodejs's People

Contributors

iiieii avatar kristianmandrup avatar markmssd avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.