The Gitpod Flex SDK provides a TypeScript/JavaScript client for interacting with the Gitpod Flex API.
npm install @gitpod/flex-sdk
The SDK uses Connect-ES for type-safe API communication. Here's how to set up and use the client:
import { createPromiseClient } from "@connectrpc/connect";
import { createConnectTransport } from "@connectrpc/connect-web";
import { UserService } from "gitpod-flex-api/gitpod/v1/user_connect";
// Import other services as needed
// Create transport with authentication
const transport = createConnectTransport({
baseUrl: "https://your-gitpod-instance.com/api",
interceptors: [
// Add bearer token interceptor
(next) => async (req) => {
req.header.set("Authorization", `Bearer ${your_access_token}`);
return await next(req);
}
],
});
// Create service clients
const userService = createPromiseClient(UserService, transport);
// Initialize other services similarly
// Make API calls
const response = await userService.getUser({ /* params */ });
- AccountService
- UserService
- OrganizationService
- EnvironmentService
- EnvironmentAutomationService
- ProjectService
- SecretService
- RunnerService
- RunnerConfigurationService
- RunnerInteractionService
- GroupService
- EventService
- EditorService
The SDK requires a Gitpod Personal Access Token for authentication. You can create one in your Gitpod user settings. Pass the token in the transport configuration as shown in the usage example above.