BuddyApiClient 0.0.3-alpha

This is a prerelease version of BuddyApiClient.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package BuddyApiClient --version 0.0.3-alpha                
NuGet\Install-Package BuddyApiClient -Version 0.0.3-alpha                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BuddyApiClient" Version="0.0.3-alpha" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BuddyApiClient --version 0.0.3-alpha                
#r "nuget: BuddyApiClient, 0.0.3-alpha"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BuddyApiClient as a Cake Addin
#addin nuget:?package=BuddyApiClient&version=0.0.3-alpha&prerelease

// Install BuddyApiClient as a Cake Tool
#tool nuget:?package=BuddyApiClient&version=0.0.3-alpha&prerelease                

BuddyApiClient

A .NET client for the Buddy API.

How to use BuddyApiClient

  1. Add the BuddyApiClient NuGet to your project:

    dotnet add package BuddyApiClient --prerelease
    
  2. Get a personal access token, or a OAuth2 access token, to access the Buddy API.

  3. On app start-up, add BuddyApiClient to your service collection:

    services.AddBuddyClient(new BuddyClientOptions { AccessToken = "YOUR_TOKEN_HERE" });
    
  4. Next, take a dependence on IBuddyClient (or any resource specific client interface, e.g. IMembersClient, IProjectsClient, and IVariablesClient), and query the Buddy API.

How to contribute to BuddyApiClient

BuddyApiClient is Open Source (MIT), and you're welcome to contribute!

If you have a bug report, feature request, or suggestion, please open a new issue. To submit a patch, please send a pull request.

How to run the integration tests

To run the integration tests, run Buddy On-Premises in Docker. Set up a Buddy user, and workspace, and generate a personal access token. Then add config to the BuddyApiClient.IntegrationTest project in VS, and run the tests.

How to create the Buddy container
  1. Get Docker.

  2. Build the Docker-in-Docker image:

    docker build -t ubuntu-dind https://github.com/logikfabrik/BuddyApiClient.git#master:docker
    
  3. Start a container:

    docker run -itd -p 127.0.0.1:443:443 --privileged --name buddy-on-premises ubuntu-dind
    
  4. Install Buddy in the container (in non-interactive mode):

    docker exec -it buddy-on-premises /bin/bash -c "curl -sSL https://get.buddy.works | sh && sudo buddy --yes --ver 2.4.60 install"
    
How to start the Buddy container, if stopped
  1. Start the container:

    docker start buddy-on-premises
    
  2. Start Buddy:

    docker exec -it buddy-on-premises /bin/bash -c "buddy start"
    
How to set up Buddy (and generate a personal access token)
  1. Start the Buddy container, if stopped.

  2. Browse https://127.0.0.1. The SSL certificate will be issued to buddy.standalone - this is by design.

  3. Set up a Buddy user, and workspace.

  4. Go to Workspace Settings and check Enable developer API.

  5. Go to API > Personal Access tokens and click Generate a new token.

  6. Enter a name for the token, check all scopes, and click Add a new API token.

  7. Copy the token, and use it in place of YOUR_TOKEN_HERE in this README.

How to add config to the BuddyApiClient.IntegrationTest project in VS
  1. Open the solution in VS.

  2. In the Solution Explorer window pane, right-click the BuddyApiClient.IntegrationTest project, then click Manage User Secrets.

  3. Add config to secrets.json:

    {
      "BaseUrl": "https://127.0.0.1:443/api/",
      "AccessToken": "YOUR_TOKEN_HERE"
    }
    
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on BuddyApiClient:

Package Downloads
BuddyApiClient.Extensions.Microsoft.DependencyInjection

BuddyApiClient extensions for Microsoft.Extensions.DependencyInjection. BuddyApiClient is a .NET client for the Buddy (https://buddy.works) API.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.5-alpha 138 6/14/2022
0.0.4-alpha 129 6/12/2022
0.0.3-alpha 135 6/7/2022
0.0.2-alpha 138 3/2/2022
0.0.1-alpha 122 3/1/2022