Skip to content

Latest commit

 

History

History
43 lines (26 loc) · 2.22 KB

README.MD

File metadata and controls

43 lines (26 loc) · 2.22 KB

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.