Skip to content

jhonmurillogiraldo/go-teamcity

 
 

Repository files navigation

go-teamcity

GoDoc Build Status

go-teamcity is a Go client library interacting with Jetbrain's TeamCity CI server REST API. Currently, supported API version is TeamCity 2018.1.3 or up.

Motivation

go-teamcity 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"

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.

About

Golang client for TeamCity REST API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.0%
  • Other 1.0%