All Projects → cvbarros → go-teamcity

cvbarros / go-teamcity

Licence: MPL-2.0 License
Golang client for TeamCity REST API

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go-teamcity

veryfi-go
Go module for communicating with the Veryfi OCR API
Stars: ✭ 18 (-43.75%)
Mutual labels:  sdk-go
koshry
Run on CI, Apply Rules on the Build and Get the Result back to the Pull Request.
Stars: ✭ 59 (+84.38%)
Mutual labels:  teamcity
swarmci
Swarm CI - Docker Swarm-based CI system or enhancement to existing systems.
Stars: ✭ 48 (+50%)
Mutual labels:  teamcity
platform-services-go-sdk
Go client library for IBM Cloud Platform Services
Stars: ✭ 14 (-56.25%)
Mutual labels:  sdk-go
CI-Report-Converter
The tool converts different error reporting standards for deep compatibility with popular CI systems (TeamCity, IntelliJ IDEA, GitHub Actions, etc).
Stars: ✭ 17 (-46.87%)
Mutual labels:  teamcity
teamcity-google-agent
TeamCity support for Google cloud build agents
Stars: ✭ 13 (-59.37%)
Mutual labels:  teamcity
teamcity-runas-plugin
The teamcity-runas plugin to run TeamCity build steps under a specified user account on Windows or Linux.
Stars: ✭ 20 (-37.5%)
Mutual labels:  teamcity
newman-reporter-teamcity
A newman reporter for TeamCity.
Stars: ✭ 19 (-40.62%)
Mutual labels:  teamcity
terraform-provider-teamcity
Terraform Provider for Jetbrains TeamCity CI server
Stars: ✭ 70 (+118.75%)
Mutual labels:  teamcity
teamcity-symbol-server
TeamCity Symbol Server plugin
Stars: ✭ 16 (-50%)
Mutual labels:  teamcity
teamcity-docker-server
TeamCity server docker image sources
Stars: ✭ 70 (+118.75%)
Mutual labels:  teamcity
jest-teamcity
Jest Teamcity Reporter
Stars: ✭ 29 (-9.37%)
Mutual labels:  teamcity
teamcity-settings
Example project using TeamCity's Versioned Settings and Kotlin DSL
Stars: ✭ 20 (-37.5%)
Mutual labels:  teamcity
hedera-sdk-go
Hedera™ Hashgraph SDK for Go
Stars: ✭ 63 (+96.88%)
Mutual labels:  sdk-go
teamcity
dohq-teamcity is a Python package providing access to the JetBrains TeamCity server API.
Stars: ✭ 24 (-25%)
Mutual labels:  teamcity
TeamCityApp
TeamCity in your pocket (Android application)
Stars: ✭ 48 (+50%)
Mutual labels:  teamcity
teamcity-kubernetes-plugin
Run TeamCity cloud agents on Kubernetes cluster
Stars: ✭ 57 (+78.13%)
Mutual labels:  teamcity
teamcity-s3-artifact-storage-plugin
TeamCity plugin which allows replacing the TeamCity built-in artifacts storage with AWS S3
Stars: ✭ 39 (+21.88%)
Mutual labels:  teamcity
teamcity-commit-hooks
Plugin for TeamCity simplifying installation of webhooks for repositories in GitHub and GitHub Enterprise.
Stars: ✭ 24 (-25%)
Mutual labels:  teamcity
teamcity-hashicorp-vault-plugin
TeamCity plugin to support HashiCorp Vault
Stars: ✭ 23 (-28.12%)
Mutual labels:  teamcity

go-teamcity

GoDoc Build Status

LOOKING FOR MAINTAINTERS

This project is in need of new maintainers, please see here:
#94.
cvbarros/terraform-provider-teamcity#113


go-teamcity is a Go client library interacting with Jetbrain's TeamCity CI server REST API.
Currently, guaranteed supported API version (on CI tests) is TeamCity 2019.2.2 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 as 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.NewClient(teamcity.BasicAuth("admin", "admin"), http.DefaultClient)

or

client := teamcity.NewClient(teamcity.TokenAuth("token"), http.DefaultClient)
// retrieve a project identified 'myproject', using the id: locator
project,  err := client.Projects.GetById("myproject")

You may also use an teamcity.NewClientWithAddress(...) 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.

Other Information

We follow semantic versioning conventions. Thus releases are tagged in the <major>.<minor>.<patch> format, meaning:

  • Public API breaking changes or major TeamCity version support (2018, 2019, etc) MUST increment the major version.
  • Features and considerable refactorings without breaking compatibility should increment the minor.
  • Bugfixes and minor patches should increment patch

All changes released are documented on the CHANGELOG.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].