All Projects → QualiSystems → Fluenttc

QualiSystems / Fluenttc

Licence: apache-2.0
🌊 👬 🏢 Integrate with TeamCity fluently

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Fluenttc

Flint
Fast and configurable filesystem (file and directory names) linter
Stars: ✭ 115 (+173.81%)
Mutual labels:  devops, ci, continuous-integration
Lambdacd
a library to define a continuous delivery pipeline in code
Stars: ✭ 655 (+1459.52%)
Mutual labels:  library, ci, continuous-integration
Flow Core X
Powerful and user-friendly CI / CD server with high availability, parallel build, agent scaling
Stars: ✭ 1,108 (+2538.1%)
Mutual labels:  devops, ci, continuous-integration
Rocket
Automated software delivery as fast and easy as possible 🚀
Stars: ✭ 217 (+416.67%)
Mutual labels:  devops, ci, continuous-integration
Iceci
IceCI is a continuous integration system designed for Kubernetes from the ground up.
Stars: ✭ 29 (-30.95%)
Mutual labels:  devops, ci, continuous-integration
Lastbackend
System for containerized apps management. From build to scaling.
Stars: ✭ 1,536 (+3557.14%)
Mutual labels:  devops, ci, continuous-integration
Orkestra
Functional DevOps with Scala and Kubernetes
Stars: ✭ 102 (+142.86%)
Mutual labels:  devops, ci, continuous-integration
Wflow
🐆 EXPERIMENTAL -- Runs GitHub Actions workflows locally (local) -- Don't run your YAML like a 🐪
Stars: ✭ 187 (+345.24%)
Mutual labels:  devops, ci, continuous-integration
Jenkins Rest
Java client, built on top of jclouds, for working with Jenkins REST API
Stars: ✭ 201 (+378.57%)
Mutual labels:  devops, ci, continuous-integration
Awesome Ci
List of Continuous Integration services
Stars: ✭ 2,737 (+6416.67%)
Mutual labels:  devops, ci, continuous-integration
Modern Cpp Template
A template for modern C++ projects using CMake, Clang-Format, CI, unit testing and more, with support for downstream inclusion.
Stars: ✭ 690 (+1542.86%)
Mutual labels:  ci, continuous-integration
Fo Dicom
Fellow Oak DICOM for .NET, .NET Core, Universal Windows, Android, iOS, Mono and Unity
Stars: ✭ 674 (+1504.76%)
Mutual labels:  nuget, dot-net
old vespene
DISCONTINUED: a frozen fork will exist forever at mpdehaan/vespene
Stars: ✭ 672 (+1500%)
Mutual labels:  devops, continuous-integration
Concourse
Concourse is a container-based continuous thing-doer written in Go.
Stars: ✭ 6,070 (+14352.38%)
Mutual labels:  ci, continuous-integration
Flubucore
A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
Stars: ✭ 695 (+1554.76%)
Mutual labels:  devops, continuous-integration
Ansible Role Jenkins
Ansible Role - Jenkins CI
Stars: ✭ 689 (+1540.48%)
Mutual labels:  ci, continuous-integration
Abstruse
Abstruse is a free and open-source CI/CD platform that tests your models and code.
Stars: ✭ 704 (+1576.19%)
Mutual labels:  ci, continuous-integration
Toast
Containerize your development and continuous integration environments. 🥂
Stars: ✭ 748 (+1680.95%)
Mutual labels:  ci, continuous-integration
Webhook
webhook is a lightweight incoming webhook server to run shell commands
Stars: ✭ 7,201 (+17045.24%)
Mutual labels:  devops, ci
Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+14933.33%)
Mutual labels:  ci, continuous-integration

FluentTc

Easy-to-use, readable and comprehensive library for consuming TeamCity REST API. Written using real scenarios in mind, enables variuos range of queries and operation on TeamCity

Installation

Run from NuGet Package Manager console:

PM > Install-Package FluentTc

Usage

Get TeamCity builds with branches, status, start and finish date and paging

IList<IBuild> builds =
    new RemoteTc()
        .Connect(connect => connect
            .ToHost("teamcity.jetbrains.com")
            .AsGuest())
        .GetBuilds(
            having => having
                .BuildConfiguration(
                    buildConfiguration => buildConfiguration
                        .Id("FluentTc"))
                .Branch(branch => branch.Branched()),
            include => include
                .IncludeStatusText()
                .IncludeStartDate()
                .IncludeFinishDate(), 
            paging => paging
                .Start(30)
                .Count(10));

Run build on build configuration FluentTc on agent Agent1 with parameters on branch develop, with comment 'personal build on develop', as a personal build, queue on top, rebuild all dependencies on change 123456

IBuild build = new RemoteTc()
    .Connect(connect => connect
        .ToHost("teamcity.jetbrains.com")
        .AsGuest())
    .RunBuildConfiguration(
         buildConfiguration => buildConfiguration.Id("FluentTc"), 
         agent => agent.Name("Agent1"),
         parameters => parameters
                     .Parameter("param1", "value1")
                     .Parameter("param2", "value2"),
         options => options.OnBranch("develop")
                    .WithComment("personal build on develop")
                    .AsPersonal()
                    .QueueAtTop()
                    .RebuildAllDependencies()
                    .WithCleanSources()
                    .OnChange(change => change.Id(123456)));

Interact with TeamCity from within a build step without authentication

ILocalTc localTc = new LocalTc();

// Gets the current checkout directory
string agentWorkDir = localTc.TeamcityBuildCheckoutDir;

// Gets the current parameter value 
int param1 = localTc.GetBuildParameter<int>("param1");

// Sets parameter value of the current build
localTc.SetBuildParameter("parameter.name", "value1");

// Gets list of files changed in the current build
IList<IChangedFile> changedFiles = localTc.ChangedFiles;

// Determines whether the build is personal
bool isPersonal = localTc.IsPersonal;

// Change status of the current build 
localTc.ChangeBuildStatus(BuildStatus.Success);

Quick Links

Project status

  • Continuous Integration: build status
  • Code Coverage: code coverage
  • Downloads: NuGet

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Fork it
  • Star it
  • Share it

A HUGE THANKS for your help.

Contributors

FluentTc keeps growing with the support of of contributors

License

Apache License 2.0

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].