i3-status-travis v2.0.0
i3-status-travis
Monitor travis-ci builds in your i3-status bar.
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-travisExample 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: fehmerShow 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
- nodejsShow 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-travisConfiguration 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.orgThe 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.orgtoken
If a token is required for the travis ci server you use you can provide it like this:
token: mySecretTokenThe 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-travisas 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: fehmerFor multiple users you can provide a list like this:
user:
- fehmer
- nodejsproject
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-travisFor multiple projects you can provide a list like this:
user:
- fehmer
- nodejs
project:
- fehmer/i3-status-travis
- nodejs/nodejs.orgModify the output
When you activate the colorize option a successful build state is shown in green and a failed build state in red.
colorize: trueYou 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 problemModify 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