Skip to content

ballerina-platform/module-ballerinax-smartsheet

Repository files navigation

Ballerina Smartsheet connector

Build Trivy GraalVM Check GitHub Last Commit GitHub Issues

Overview

Smartsheet is a cloud-based platform that enables teams to plan, capture, manage, automate, and report on work at scale, empowering you to move from idea to impact, fast.

The ballerinax/smartsheet package offers APIs to connect and interact with Smartsheet API endpoints, specifically based on Smartsheet API v2.0.

Setup guide

To use the Smartsheet connector, you must have access to the Smartsheet API through a Smartsheet developer account and obtain an API access token. If you do not have a Smartsheet account, you can sign up for one here.

Step 1: Create a Smartsheet Account

  1. Navigate to the Smartsheet website and sign up for an account or log in if you already have one.

  2. Ensure you have a Business or Enterprise plan, as the Smartsheet API is restricted to users on these plans.

Step 2: Generate an API Access Token

  1. Log in to your Smartsheet account.

  2. On the left Navigation Bar at the bottom, select Account (your profile image), then Personal Settings.

  3. In the new window, navigate to the API Access tab and select Generate new access token.

generate API token

Tip: You must copy and store this key somewhere safe. It won't be visible again in your account settings for security reasons

Quickstart

To use the Smartsheet connector in your Ballerina application, update the .bal file as follows:

Step 1: Import the module

Import the smartsheet module.

import ballerinax/smartsheet;

Step 2: Instantiate a new connector

  1. Create a Config.toml file and configure the obtained access token as follows:
token = "<Your_Smartsheet_Access_Token>"
  1. Create a smartsheet:ConnectionConfig with the obtained access token and initialize the connector with it.
configurable string token = ?;

final smartsheet:Client smartsheet = check new({
    auth: {
        token
    }
});

Step 3: Invoke the connector operation

Now, utilize the available connector operations.

Create a new sheet

public function main() returns error? {
    smartsheet:SheetsBody newSheet = {
        name: "New Project Sheet",
        columns: [
            {
                title: "Task Name",
                type: "TEXT_NUMBER",
                primary: true
            },
            {
                title: "Status",
                type: "PICKLIST",
                options: ["Not Started", "In Progress", "Complete"]
            },
            {
                title: "Due Date",
                type: "DATE"
            }
        ]
    };

    smartsheet:WebhookResponse response = check smartsheet->/sheets.post(newSheet);
}

Step 4: Run the Ballerina application

bal run

Examples

The Smartsheet connector provides practical examples illustrating usage in various scenarios. Explore these examples, covering the following use cases:

  1. Project task management - Demonstrates how to automate project task creation using Ballerina connector for Smartsheet.

Build from the source

Setting up the prerequisites

  1. Download and install Java SE Development Kit (JDK) version 17. You can download it from either of the following sources:

    Note: After installation, remember to set the JAVA_HOME environment variable to the directory where JDK was installed.

  2. Download and install Ballerina Swan Lake.

  3. Download and install Docker.

    Note: Ensure that the Docker daemon is running before executing any tests.

  4. Export Github Personal access token with read package permissions as follows,

    export packageUser=<Username>
    export packagePAT=<Personal access token>

Build options

Execute the commands below to build from the source.

  1. To build the package:

    ./gradlew clean build
  2. To run the tests:

    ./gradlew clean test
  3. To build the without the tests:

    ./gradlew clean build -x test
  4. To run tests against different environments:

    ./gradlew clean test -Pgroups=<Comma separated groups/test cases>
  5. To debug the package with a remote debugger:

    ./gradlew clean build -Pdebug=<port>
  6. To debug with the Ballerina language:

    ./gradlew clean build -PbalJavaDebug=<port>
  7. Publish the generated artifacts to the local Ballerina Central repository:

    ./gradlew clean build -PpublishToLocalCentral=true
  8. Publish the generated artifacts to the Ballerina Central repository:

    ./gradlew clean build -PpublishToCentral=true

Contribute to Ballerina

As an open-source project, Ballerina welcomes contributions from the community.

For more information, go to the contribution guidelines.

Code of conduct

All the contributors are encouraged to read the Ballerina Code of Conduct.

Useful links

About

This Ballerina connector provides capabilities to integrate with Smartsheet.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5