Skip to content
This repository was archived by the owner on Sep 2, 2025. It is now read-only.

Quick_Start

Kyle T edited this page Sep 1, 2022 · 4 revisions

Installation

This is a Node.js module available through the npm registry.

Using npm:

$ npm i --save @circleci/circleci-config-sdk

Quick Start

In Node.js:

import CircleCI from "@circleci/circleci-config-sdk";

In Browser:

var CircleCI = require("@circleci/circleci-config-sdk");

Example

This example generates a config.yml file when ran.

const CircleCI = require("@circleci/circleci-config-sdk");
const fs = require("fs");

// Instantiate new Config
const myConfig = new CircleCI.Config();
// Create new Workflow
const myWorkflow = new CircleCI.Workflow("myWorkflow");
myConfig.addWorkflow(myWorkflow);

// Create an executor. Reusable.
const nodeExecutor = new CircleCI.executors.DockerExecutor(
  "cimg/node:lts"
);
myConfig.addExecutor(nodeExecutor);

// Create Job
const nodeTestJob = new CircleCI.Job("node-test", nodeExecutor);
myConfig.addJob(nodeTestJob);

// Add steps to job
nodeTestJob
  .addStep(
    new CircleCI.Command.Run({
      command: "npm install",
      name: "NPM Install",
    })
  )
  .addStep(
    new CircleCI.Command.Run({
      command: "npm run test",
      name: "Run tests",
    })
  );

// Add Jobs to Workflow
myWorkflow.addJob(nodeTestJob);

// The `stringify()` function on
// `CircleCI.Config` will return
// the CircleCI YAML equivalent.
const MyYamlConfig = myConfig.stringify();

// Writing the generated config to a file
fs.writeFile("./config.yml", MyYamlConfig, (err) => {
  if (err) {
    console.log(err);
    return;
  }
});

Continue to Usage

See usage full documentation

Clone this wiki locally