diff --git a/.all-contributorsrc b/.all-contributorsrc
index 6193f951..1ef57dcf 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -679,6 +679,13 @@
"name": "Victor Hugo Avelar Ossorio",
"avatar_url": "https://avatars3.githubusercontent.com/u/7926849?v=4",
"profile": "https://victoravelar.com",
+ "contributions": []
+ },
+ {
+ "login": "scw007",
+ "name": "Steven Whitehead",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/4001640?v=4",
+ "profile": "https://github.com/scw007",
"contributions": [
]
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e7bba65a..ab6df7cb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,8 @@
### ⚡️ Added
* [Azure DevOps](https://wtfutil.com/modules/azure-devops/) module added by [@v-braun](https://github.com/v-braun)
-* [Dev.to](https://wtfutil.com/modules/devto/) modiule added by [@VictorAvelar](https://github.com/VictorAvelar)
+* [Dev.to](https://wtfutil.com/modules/devto/) module added by [@VictorAvelar](https://github.com/VictorAvelar)
+* [TravisCI]() module now supports enterprise endpoints, [#652](https://github.com/wtfutil/wtf/issues/652) by [@scw007](https://github.com/scw007)
### 🐞 Fixed
diff --git a/README.md b/README.md
index 368d067a..8960982e 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-[](#contributors)
+[](#contributors)
[](https://travis-ci.com/wtfutil/wtf)
[](https://twitter.com/wtfutil)
[](https://goreportcard.com/report/github.com/wtfutil/wtf)
@@ -192,7 +192,7 @@ Dependency management in WTF is handled by [Go modules](https://github.com/golan
| [
Sean DuBois](http://siobud.com)
| [
Gary Kim](https://github.com/gary-kim)
| [
Dylan](https://dylanbartels.com)
| [
Dmytro Prokhorenkov](http://liet.me)
| [
Elliot](https://github.com/elliotrushton)
| [
chenrui](http://chenrui.dev)
| [
Andrew Suderman](https://github.com/sudermanjr)
|
| [
Bob 'Wombat' Hogg](https://github.com/rwhogg)
| [
Christopher Hall](https://github.com/hxw)
| [
Heitor Neiva](https://github.com/hneiva)
| [
Herby Gillot](https://github.com/herbygillot)
| [
James Canning](http://brudil.com)
| [
jeffz](https://twitter.com/jeffz4000)
| [
Mikkel Jeppesen Juhl](https://mikkeljuhl.com)
|
| [
Erik](https://github.com/lesteenman)
| [
Nate Yourchuck](https://github.com/nyourchuck)
| [
Casey Primozic](https://cprimozic.net/)
| [![Alvaro [Andor]](https://avatars3.githubusercontent.com/u/2430915?v=4)
Alvaro [Andor]](http://pierdelacabeza.com/maruja)
| [
Joel Valentine](https://github.com/Midnight-Conqueror)
| [
Viktor Braun](https://www.viktor-braun.de)
| [
ChrisDBrown](https://www.chrisdbrown.co.uk/)
|
-| [
Narendra L](https://narengowda.github.io/)
| [
ibaum](https://github.com/ibaum)
| [
Tim Scheuermann](https://github.com/noxer)
| [
Indradhanush Gupta](https://indradhanush.github.io/)
| [
Victor Hugo Avelar Ossorio](https://victoravelar.com)
|
+| [
Narendra L](https://narengowda.github.io/)
| [
ibaum](https://github.com/ibaum)
| [
Tim Scheuermann](https://github.com/noxer)
| [
Indradhanush Gupta](https://indradhanush.github.io/)
| [
Victor Hugo Avelar Ossorio](https://victoravelar.com)
| [
Steven Whitehead](https://github.com/scw007)
|
## Acknowledgments
diff --git a/go.mod b/go.mod
index d53ff6a5..cfad012c 100644
--- a/go.mod
+++ b/go.mod
@@ -23,13 +23,13 @@ require (
github.com/docker/go-connections v0.4.0 // indirect
github.com/docker/go-units v0.4.0 // indirect
github.com/dustin/go-humanize v1.0.0
- github.com/gdamore/tcell v1.2.0
+ github.com/gdamore/tcell v1.3.0
github.com/go-ole/go-ole v1.2.4 // indirect
github.com/godbus/dbus v5.0.1+incompatible // indirect
github.com/gogo/protobuf v1.3.0 // indirect
github.com/google/btree v1.0.0 // indirect
github.com/google/go-cmp v0.3.1 // indirect
- github.com/google/go-github/v26 v26.0.9
+ github.com/google/go-github/v26 v26.1.3
github.com/hashicorp/go-cleanhttp v0.5.1 // indirect
github.com/hekmon/cunits v2.0.1+incompatible // indirect
github.com/hekmon/transmissionrpc v0.0.0-20190525133028-1d589625bacd
@@ -45,7 +45,7 @@ require (
github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
github.com/pkg/errors v0.8.1
github.com/pkg/profile v1.3.0
- github.com/radovskyb/watcher v1.0.6
+ github.com/radovskyb/watcher v1.0.7
github.com/rivo/tview v0.0.0-20190829161255-f8bc69b90341
github.com/rivo/uniseg v0.1.0 // indirect
github.com/shirou/gopsutil v2.18.12+incompatible
diff --git a/go.sum b/go.sum
index 9681494c..9125dea0 100644
--- a/go.sum
+++ b/go.sum
@@ -93,6 +93,8 @@ github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo
github.com/gdamore/tcell v1.1.2/go.mod h1:h3kq4HO9l2On+V9ed8w8ewqQEmGCSSHOgQ+2h8uzurE=
github.com/gdamore/tcell v1.2.0 h1:ikixzsxc8K8o3V2/CEmyoEW8mJZaNYQQ3NP3VIQdUe4=
github.com/gdamore/tcell v1.2.0/go.mod h1:Hjvr+Ofd+gLglo7RYKxxnzCBmev3BzsS67MebKS4zMM=
+github.com/gdamore/tcell v1.3.0 h1:r35w0JBADPZCVQijYebl6YMWWtHRqVEGt7kL2eBADRM=
+github.com/gdamore/tcell v1.3.0/go.mod h1:Hjvr+Ofd+gLglo7RYKxxnzCBmev3BzsS67MebKS4zMM=
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI=
github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
@@ -126,8 +128,11 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
github.com/google/go-github/v26 v26.0.9 h1:RDv6xjhoFvGuAeYJwsIOC69nCfRna8cdoGw9hvX/Pc0=
github.com/google/go-github/v26 v26.0.9/go.mod h1:v6/FmX9au22j4CtYxnMhJJkP+JfOQDXALk7hI+MPDNM=
+github.com/google/go-github/v26 v26.1.3 h1:n03e8IGgLdD78L+ETWxvqpBIBWEZLlTBCQVU2yImw1o=
+github.com/google/go-github/v26 v26.1.3/go.mod h1:v6/FmX9au22j4CtYxnMhJJkP+JfOQDXALk7hI+MPDNM=
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
@@ -235,6 +240,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/radovskyb/watcher v1.0.6 h1:8WIQ9UxEYMZjem1OwU7dVH94DXXk9mAIE1i8eqHD+IY=
github.com/radovskyb/watcher v1.0.6/go.mod h1:78okwvY5wPdzcb1UYnip1pvrZNIVEIh/Cm+ZuvsUYIg=
+github.com/radovskyb/watcher v1.0.7 h1:AYePLih6dpmS32vlHfhCeli8127LzkIgwJGcwwe8tUE=
+github.com/radovskyb/watcher v1.0.7/go.mod h1:78okwvY5wPdzcb1UYnip1pvrZNIVEIh/Cm+ZuvsUYIg=
github.com/rivo/tview v0.0.0-20190829161255-f8bc69b90341 h1:d2Z5U4d3fenPRFFweaMCogbXiRywM5kgYtu20/hol3M=
github.com/rivo/tview v0.0.0-20190829161255-f8bc69b90341/go.mod h1:+rKjP5+h9HMwWRpAfhIkkQ9KE3m3Nz5rwn7YtUpwgqk=
github.com/rivo/uniseg v0.0.0-20190513083848-b9f5b9457d44/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
diff --git a/modules/travisci/client.go b/modules/travisci/client.go
index 10d5adb7..a7ad3eb3 100644
--- a/modules/travisci/client.go
+++ b/modules/travisci/client.go
@@ -17,6 +17,9 @@ func BuildsFor(settings *Settings) (*Builds, error) {
builds := &Builds{}
travisAPIURL.Host = "api." + TRAVIS_HOSTS[settings.pro]
+ if settings.baseURL != "" {
+ travisAPIURL.Host = settings.baseURL
+ }
resp, err := travisBuildRequest(settings)
if err != nil {
@@ -39,6 +42,9 @@ var (
func travisBuildRequest(settings *Settings) (*http.Response, error) {
var path string = "builds"
+ if settings.baseURL != "" {
+ travisAPIURL.Path = "/api/"
+ }
params := url.Values{}
params.Add("limit", settings.limit)
params.Add("sort_by", settings.sort_by)
@@ -46,15 +52,15 @@ func travisBuildRequest(settings *Settings) (*http.Response, error) {
requestUrl := travisAPIURL.ResolveReference(&url.URL{Path: path, RawQuery: params.Encode()})
req, err := http.NewRequest("GET", requestUrl.String(), nil)
+ if err != nil {
+ return nil, err
+ }
req.Header.Add("Accept", "application/json")
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Travis-API-Version", "3")
bearer := fmt.Sprintf("token %s", settings.apiKey)
req.Header.Add("Authorization", bearer)
- if err != nil {
- return nil, err
- }
httpClient := &http.Client{}
resp, err := httpClient.Do(req)
diff --git a/modules/travisci/settings.go b/modules/travisci/settings.go
index 29e5bea5..3de7a3a3 100644
--- a/modules/travisci/settings.go
+++ b/modules/travisci/settings.go
@@ -16,6 +16,7 @@ type Settings struct {
common *cfg.Common
apiKey string
+ baseURL string `help:"Your TravisCI Enterprise API URL." optional:"true"`
compact bool
limit string
pro bool
@@ -27,6 +28,7 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co
common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig),
apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_TRAVIS_API_TOKEN"))),
+ baseURL: ymlConfig.UString("baseURL", ymlConfig.UString("baseURL", os.Getenv("WTF_TRAVIS_BASE_URL"))),
pro: ymlConfig.UBool("pro", false),
compact: ymlConfig.UBool("compact", false),
limit: ymlConfig.UString("limit", "10"),