npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

i3-status-travis

v2.0.0

Published

Monitor travis-ci builds in your i3-status bar

Downloads

13

Readme

i3-status-travis

Monitor travis-ci builds in your i3-status bar.

npm version Node.js CI

This module for i3-status displays the build status from Travis CI projects. Projects without builds or pending or running builds will be ignored.

If you use private builds with Travis Pro or Travis Enterprise you need to provide the config values for url and token. This feature is currently untested. If it works please send me a note, thanks.

Table of content

Installation

cd ~/my-i3-status   # go to the directory you installed i3-status in
npm install --save i3-status-travis

Example configurations

You need to provide at least one user to fetch to builds for. The user is the part of the travis ci url, e.g. user=fehmer will monitor all builds available at https://travis-ci.org/fehmer/

Showing builds for a single user

This config will show the status of recent builds for one user.

  - name: travis
    module: i3-status-travis
    interval: 300 # refresh each 5 minutes
    label: travis
    user: fehmer

Show build status for multiple users

This config will show the status of recent builds for multiple users combined.

  - name: travis
    module: i3-status-travis
    interval: 300 # refresh each 5 minutes
    label: travis
    user: 
     - fehmer
     - nodejs

Show only selected projects

This config will show the status of the defined projects recent builds for one user. The project value format is <user>/<project>

  - name: travis
    module: i3-status-travis
    interval: 300 # refresh each 5 minutes
    label: travis
    user: fehmer
    project: fehmer/i3-status-travis

Configuration values

Common configuration values like label and interval are described in the i3-status documentation

url

Provide the URL of the Travis CI API. For public accessible projects you do not need to provide an url and https://api.travis-ci.org is used. If you use Travis Enterprise you have to provide the url of your travis server, e.g. https://travis.example.com/api.

  url: https://api.travis-ci.org

The url should not end with a slash.

projectUrl

Provide the URL of the Travis CI Server. For public accessible projects you do not need to provide an url and https://travis-ci.org is used. If you use Travis Enterprise you have to provide the url of your travis server, e.g. https://travis.example.com.

The project url should not end with a slash.

  url: https://travis-ci.org

token

If a token is required for the travis ci server you use you can provide it like this:

  token: mySecretToken

The token allows access to your projects on travis-ci. You should encrypt the value to make more secure. The i3-status documentation tells you how to do this.

When you use the public travis ci server you need to provide the token if you get Error: Got response code 403 from the module.

To obtain a travis ci token you need a github account and a github personal access token. Follow theese steps to create a github personal access token.

  • Login into github
  • go to Settings -> Personal access tokens
  • Click create new token
  • Use i3-status-travis as the token description
  • check this settings
    • repo:status
    • repo:deployment
    • read:org
    • write:repo-hook
    • user:email
  • click generate token
  • save the generated personal access token somewhere

To generate the travis ci secret token execute this shell command with your GITHUB_PERSONAL_ACCESS_TOKEN from the step above:

curl https://api.travis-ci.org/auth/github -X POST  -d '{"github_token":"GITHUB_PERSONAL_ACCESS_TOKEN"}'  -H "Accept: application/vnd.travis-ci.2+json" -H "User-Agent: MyClient/1.0.0" -H "Content-Type: application/json"

The command should return your travis ci access token like this:

{"access_token":"MySecretToken"}

user

You can configure a single or multiple users. All available build states for each user is gathered from travis ci and combined for the output.

For a single user just set the value like this:

  user: fehmer

For multiple users you can provide a list like this:

  user:
    - fehmer
    - nodejs

project

If you only want to monitor selected projects you can provide a single project name or multiple project names. A project name contains of the user and the project name, e.g. fehmer/i3-status-travis.

For a single project just set the project name like this:

  user: fehmer
  project: fehmer/i3-status-travis

For multiple projects you can provide a list like this:

  user:
    - fehmer
    - nodejs
  project:
    - fehmer/i3-status-travis
    - nodejs/nodejs.org

Modify the output

When you activate the colorize option a successful build state is shown in green and a failed build state in red.

    colorize: true

You can define the texts and colors for successful and failed builds. The default text is for successful and for failed builds.

    success:
      color: '#AAFFAA'
      text: all systems are go
    failure:
      color: '#FFAAAA'
      text: hudson, we have a problem

Modify the reporter

If you click on the status a popup will appear (if you added the i3-status-reporter-html), see i3-status documentation.

You can modify the output of the reporter. The following example will show all build projects ordered by the projects name.

    report:
      dots: true        # display circles in front of the projects name, default = true
      showSuccess: true # show failed and successfull builds, default = false, only failed builds are shown
      sortByName: true  # sort the projects by name, default = false