1.0.15 • Published 7 years ago

gecko-ci v1.0.15

Weekly downloads
3
License
GPL-3.0
Repository
github
Last release
7 years ago

gecko-ci

Gecko-ci is a lightweight plugin that improves engagement of team members by providing physical feedback of the status of the build. It creates a link between a build server and smart RGB light bulbs, displaying specific colors for each build status.

Gecko-ci currently supports only TFS as build server and LIFX Bulbs as extreme feedback device.

Dependency Status npm Stories in Ready

Build Status Colors

When the build status change, the color of the light bulb changes accordingly.

Status changeColor
buildSucceededGreen
buildPartiallySucceededOrange
buildFailedRed

Install

node.js & bower

npm install gecko-ci --save
bower install gecko-it --save

Quick Start

Define one or more connections to your build server(s), create one or more build monitors associated to these connections and link each monitor to light bulbs that will display the status of the build.

node.js

let gecko = require("gecko-ci")

browser

let gecko = window.$gecko
let monitor = gecko.watchBuilds({
    connections: [
        {
            name: "my connection 01",
            technology: "tfs",
            collection: "DefaultCollection",
            server: "https://foo.visualstudio.com/",
            user: "foo@gmail.com",
            personalToken: "xxxXXXxxXXXXxxXXXXxxxXXXXxxXXXXxxxxxXXXXxxx"
        }
    ],
    buildMonitors: [
        {
            name: "my monitor 01",
            teamProject: "MyTeamProject",
            connectionName: "my connection 01"
        }
    ],
    lightBulbs: [
        {
            name: "my bulb config 01",
            technology: "lifx",
            buildMonitorsNames: ["my monitor 01"],
            selector: "all",
            personalToken: "yyyyYYYYyyYYyyyYYYyyyyyyYYYYyyyyyYYYyyyyyyYYyyyy"
        }
    ]
});

To stop the application, you simply do

monitor.stopWatchingBuilds();

Options

connections

Array of connections to one or more build servers.

AttributeTypeSupported valuesDescription
nameString-RequiredUnique name (id) of the connection.
technologyString"tfs"RequiredTechnology of the build server. TFS is currently the only build server supported.
collectionString-RequiredName of the Team Project Collection on TFS.
serverString-RequiredAddress of the build server.
userString-RequiredUser account to authenticate to the build server via REST api.
personalTokenString-RequiredApp token for authorizations on the build server. For TFS, take a look at Create personal access tokens to authenticate access. Only the scope Build (read) is required. The token supplied must be associated to the value supplied on user.

buildMonitors

Array of monitors that connect to build servers and check the build status

AttributeTypeSupported valuesDescription
nameString-RequiredUnique name (id) of the build monitor.
teamProjectString-RequiredName of the Team Project on TFS.
connectionNameString-Requiredid of the connection that will be used by the monitor. it must be an existing options.connections[].name.
definitionsqueuestyperequestedForreasonFiltertagFilterspropertyFiltersString-OptionalTFS parameters that are also supported. Check the TFS Builds api for the MSDN documentation of these parameters. The TFS api documentation contains many other parameters that aren't listed here, but gecko-ci will handle them. Although it's strongly recommended that you don't override these arguments that aren't listed here, you can play with them at your own risk.

lightBulbs

Array of light bulbs that display the status of one or more build monitors

AttributeTypeSupported valuesDescription
nameString-RequiredUnique name (id) of the light bulb.
technologyString"lifx"RequiredTechnology of the light bulb. LIFX is currently the only bulb supported.
buildMonitorsNamesString[]-Requiredarray of ids of build monitors that are linked to this light bulb configuration. it must be an existing options.buildMonitors[].name.
selectorString-RequiredA LIFX selector. Check the LIFX selectors for the documentation of this argument.
personalTokenString-RequiredApp token for authorizations on the LIFX server. Check the Account settings in order to generate a token.

License

GPL-3.0

1.0.15

7 years ago

1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago