itsapi/github-listener

View on GitHub
DOCUMENTATION.md

Summary

Maintainability
Test Coverage


<!-- Start build-manager.js -->

## BuildManager(config, logs)

Creates a new `BuildManager` instance.

### Params:

* **Object** *config* The GHL `config.json` (see example)
* **Boolean** *logs* Output logs if `true`

## BuildManager.error(res, code, error)

Handles error responses

### Params:

* **Object** *res* The HTTP response object
* **Number** *code* The HTTP response code
* **Object** *error* The error object to be used (error message in err property)

## BuildManager.hook(req, res)

Handle a payload request

### Params:

* **Object** *req* The HTTP request object
* **Object** *res* The HTTP response object

## BuildManager.rerun(id)

Run `self.build` if it is defined

### Params:

* **Number** *id* The build ID to rebuild

## BuildManager.queue(build)

Queue a build to be run

### Params:

* **Object** *build* The build to be queued

## BuildManager.next_in_queue()

Run the next function in the queue

## BuildManager.respond(res, http_code, data)

Respond to an HTTP request

### Params:

* **Object** *res* The HTTP response object
* **Number** *http_code* The HTTP response code
* **Object** *data* The data object to be sent

<!-- End build-manager.js -->

<!-- Start build.js -->

## Build.gen_build(repo, branch)

Create `self.build` function that can be rerun

### Params:

* **String** *repo* The name of the repo to be passed into `self.getter`
* **String** *branch* The name of the branch to be passed into `self.getter`

## Build.check_payload(req, res)

Ensure payload object is valid

### Params:

* **Object** *req* The HTTP request object
* **Object** *res* The HTTP response object

## Build.run()

Run the stored self.build

## Build.getter(repo, branch, cb)

Run github-getter to get the repo from GitHub

### Params:

* **String** *repo* The repo to get from GitHub
* **String** *branch* The branch to checkout
* **Function** *cb* The callback to be run with the command output

## Build.post_receive(repo, cb)

Run the build scripts for the repo

### Params:

* **String** *repo* The repo name to be passed to post-receive
* **Function** *cb* The callback to be run with the command output

<!-- End build.js -->

<!-- Start server.js -->

## Server(options)

Creates a new `Server` instance.

### Params:

* **Object** *options* An object containing the following fields: 
 - `logging` (Boolean): Output logs if `true`
 - `config` (Object): The GHL `config.json` (see example)

## Server.start()

Start the http server

## Server.stop()

Stop the http server

## Server.serve(req, res)

Handle HTTP get requests

### Params:

* **Object** *req* The HTTP request object
* **Object** *res* The HTTP response object

## Server.render()

Generate DOM to send to UI of builds dashboard

## Server.get_build(id)

Create an object of data to send to the client

### Params:

* **Number** *id* The ID of the build to be generated

<!-- End server.js -->