1. Packages
  2. Circleci Provider
circleci 0.6.1 published on Monday, Apr 14, 2025 by mrolla

Circleci Provider

Generate Provider

The Circleci provider must be installed as a Local Package by following the instructions for Any Terraform Provider:

pulumi package add terraform-provider mrolla/circleci
Copy

Overview

The CircleCI provider is used to interact with CircleCI API.

Authentication

This provider requires a CircleCI API token in order to manage resources.

Example Usage

# Pulumi.yaml provider configuration file
name: configuration-example
runtime: nodejs
config:
    circleci:apiToken:
        value: 'TODO: "${file("circleci_token")}"'
    circleci:organization:
        value: my_org
    circleci:vcsType:
        value: github
Copy
import * as pulumi from "@pulumi/pulumi";
import * as circleci from "@pulumi/circleci";

// Create a context
const build = new circleci.Context("build", {});
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: python
config:
    circleci:apiToken:
        value: 'TODO: "${file("circleci_token")}"'
    circleci:organization:
        value: my_org
    circleci:vcsType:
        value: github
Copy
import pulumi
import pulumi_circleci as circleci

# Create a context
build = circleci.Context("build")
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: dotnet
config:
    circleci:apiToken:
        value: 'TODO: "${file("circleci_token")}"'
    circleci:organization:
        value: my_org
    circleci:vcsType:
        value: github
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Circleci = Pulumi.Circleci;

return await Deployment.RunAsync(() =>
{
    // Create a context
    var build = new Circleci.Context("build");

});
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: go
config:
    circleci:apiToken:
        value: 'TODO: "${file("circleci_token")}"'
    circleci:organization:
        value: my_org
    circleci:vcsType:
        value: github
Copy
package main

import (
	"github.com/pulumi/pulumi-pulumi-provider/sdks/go/circleci/circleci"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Create a context
		_, err := circleci.NewContext(ctx, "build", nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: yaml
config:
    circleci:apiToken:
        value: 'TODO: "${file("circleci_token")}"'
    circleci:organization:
        value: my_org
    circleci:vcsType:
        value: github
Copy
resources:
  # Create a context
  build:
    type: circleci:Context
Copy
# Pulumi.yaml provider configuration file
name: configuration-example
runtime: java
config:
    circleci:apiToken:
        value: 'TODO: "${file("circleci_token")}"'
    circleci:organization:
        value: my_org
    circleci:vcsType:
        value: github
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.circleci.Context;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        // Create a context
        var build = new Context("build");

    }
}
Copy

Configuration Reference

The following configuration inputs are supported:

  • apiToken - (Required) A CircleCI API token. This can also be set via the CIRCLECI_TOKEN environment variable.
  • vcsType - (Optional) The version control system, either "github" or "bitbucket". Defaults to "github". This can also be set via the CIRCLECI_VCS_TYPE environment variable.
  • organization - (Optional) The organization where resources will be created. If unset, an organization must be provided with each resource. This can also be set via the CIRCLECI_ORGANIZATION environment variable.
  • url - (Optional) The URL for the the CircleCI API (v1). Defaults to "https://circleci.com/api/v2/". This value should generally only be set for testing. This can also be set via the CIRCLECI_URL environment variable.