Go bindings for TeamCity REST API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
integration_tests
teamcity
vendor/github.com
.gitignore
.travis.yml
CHANGELOG.MD
CONTRIBUTING.MD
Dockerfile
Gopkg.lock
Gopkg.toml
LICENSE
Makefile
README.MD
defaults.toml

README.MD

go-teamcity-sdk

GoDoc Build Status

go-teamcity-sdk is a Go client library interacting with Jetbrain's TeamCity CI server REST API. Currently, supported API version is TeamCity 10.x (2017.2.1) or up.

Motivation

go-teamcity-sdk is intended for automating Jetbrain's TeamCity tasks and configurations using Go. It is also the client library used in TeamCity Provider, a Hashicorp's Terraform custom provider to configure TeamCity fully in code.

Usage

import teamcity "github.com/cvbarros/go-teamcity-sdk"

Construct a new Teamcity client with a default http.Client for the server at the TEAMCITY_ADDR environment variable, then use the various services exposed by the client to use TeamCity API's features.

client := teamcity.New("admin", "admin", http.DefaultClient)

// retrieve a project identified 'myproject', using the id: locator
project,  err := client.Projects.GetById("myproject")

You may also use an teamcity.NewWithAddress(...) to explicitly provide the server address.

Examples

For now, integration tests are the best examples on how to use the library to interact with the several services.

Project Status

This project is under heavy development for now. We follow semantic versioning conventions, meaning that the public API compability under 1.0 is suitable to change without prior notice.

Issues, contributions and feature requests are welcome, please see contributing for guidance on how to get involved.

The development and design of this library is based on the go-github project.

License

This library is distributed under the MPL-2.0 license fully described in the LICENSE file.