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.
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.
-
Navigate to the Smartsheet website and sign up for an account or log in if you already have one.
-
Ensure you have a Business or Enterprise plan, as the Smartsheet API is restricted to users on these plans.
-
Log in to your Smartsheet account.
-
On the left Navigation Bar at the bottom, select Account (your profile image), then Personal Settings.
-
In the new window, navigate to the API Access tab and select Generate new access token.
Tip: You must copy and store this key somewhere safe. It won't be visible again in your account settings for security reasons
To use the Smartsheet connector in your Ballerina application, update the .bal
file as follows:
Import the smartsheet
module.
import ballerinax/smartsheet;
- Create a
Config.toml
file and configure the obtained access token as follows:
token = "<Your_Smartsheet_Access_Token>"
- 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
}
});
Now, utilize the available connector operations.
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);
}
bal run
The Smartsheet
connector provides practical examples illustrating usage in various scenarios. Explore these examples, covering the following use cases:
- Project task management - Demonstrates how to automate project task creation using Ballerina connector for Smartsheet.
-
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. -
Download and install Ballerina Swan Lake.
-
Download and install Docker.
Note: Ensure that the Docker daemon is running before executing any tests.
-
Export Github Personal access token with read package permissions as follows,
export packageUser=<Username> export packagePAT=<Personal access token>
Execute the commands below to build from the source.
-
To build the package:
./gradlew clean build
-
To run the tests:
./gradlew clean test
-
To build the without the tests:
./gradlew clean build -x test
-
To run tests against different environments:
./gradlew clean test -Pgroups=<Comma separated groups/test cases>
-
To debug the package with a remote debugger:
./gradlew clean build -Pdebug=<port>
-
To debug with the Ballerina language:
./gradlew clean build -PbalJavaDebug=<port>
-
Publish the generated artifacts to the local Ballerina Central repository:
./gradlew clean build -PpublishToLocalCentral=true
-
Publish the generated artifacts to the Ballerina Central repository:
./gradlew clean build -PpublishToCentral=true
As an open-source project, Ballerina welcomes contributions from the community.
For more information, go to the contribution guidelines.
All the contributors are encouraged to read the Ballerina Code of Conduct.
- For more information go to the
smartsheet
package. - For example demonstrations of the usage, go to Ballerina By Examples.
- Chat live with us via our Discord server.
- Post all technical questions on Stack Overflow with the #ballerina tag.