
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
@clearfeed-ai/quix-jumpcloud-agent
Advanced tools
A TypeScript package for interacting with the JumpCloud API, providing user and group management capabilities.
A TypeScript package for interacting with the JumpCloud API, providing user and group management capabilities.
yarn add @clearfeed-ai/quix-jumpcloud-agent
import { JumpCloudService } from '@clearfeed-ai/quix-jumpcloud-agent';
const service = new JumpCloudService({
apiKey: 'your-jumpcloud-api-key',
baseUrl: 'https://console.jumpcloud.com/api' // optional, defaults to this value
});
// List users
const users = await service.listUsers({ limit: 10, query: 'admin' });
// Create a user
const newUser = await service.createUser({
username: 'john.doe',
email: 'john.doe@example.com',
firstname: 'John',
lastname: 'Doe'
});
// Get a specific user
const user = await service.getUser({ userId: 'user-id' });
// Update a user
const updatedUser = await service.updateUser({
userId: 'user-id',
payload: { firstname: 'Jane' }
});
// Delete a user
const deleteResult = await service.deleteUser({ userId: 'user-id' });
// List groups
const groups = await service.listGroups({ limit: 10 });
// Create a group
const newGroup = await service.createGroup({
name: 'Developers',
description: 'Development team group'
});
// Assign user to group
const assignResult = await service.assignUserToGroup({
userId: 'user-id',
groupId: 'group-id'
});
// List users in a group
const groupUsers = await service.listGroupUsers({ groupId: 'group-id' });
// Remove user from group
const unassignResult = await service.unassignUserFromGroup({
userId: 'user-id',
groupId: 'group-id'
});
// Delete a group
const deleteGroupResult = await service.deleteGroup({ groupId: 'group-id' });
// List devices for a specific user
const userDevices = await service.listUserDevices({ userId: 'user-id' });
// List all devices in the organization
const allDevices = await service.listDevices({ limit: 50 });
// Search for devices
const searchResults = await service.listDevices({
limit: 20,
query: 'MacBook'
});
import { createJumpCloudToolsExport } from '@clearfeed-ai/quix-jumpcloud-agent';
const toolConfig = createJumpCloudToolsExport({
apiKey: 'your-jumpcloud-api-key'
});
// Use with LangChain agents
const tools = toolConfig.tools;
const prompts = toolConfig.prompts;
This package includes comprehensive tests that can run against a real JumpCloud API or as unit tests.
Install dependencies:
cd agent-packages/packages/jumpcloud
yarn install
Create environment file:
Create a .env
file in the jumpcloud package root:
# JumpCloud API Configuration
JUMPCLOUD_API_KEY=your_jumpcloud_api_key_here
JUMPCLOUD_BASE_URL=https://console.jumpcloud.com/api
# Test Configuration (optional)
TEST_USER_PREFIX=test-user-
TEST_GROUP_PREFIX=test-group-
Get your JumpCloud API Key:
.env
fileyarn test
yarn test utils.spec.ts
yarn test:integration
# Test the main service
yarn test integration.spec.ts
# Test the tools
yarn test tools.spec.ts
# Test utilities
yarn test utils.spec.ts
yarn test --coverage
The test suite includes:
Unit Tests (utils.spec.ts
):
Integration Tests (integration.spec.ts
):
Tool Tests (tools.spec.ts
):
The integration tests are designed to be safe:
Tests provide detailed console output showing:
Variable | Description | Default | Required |
---|---|---|---|
JUMPCLOUD_API_KEY | Your JumpCloud API key | - | Yes (for integration tests) |
JUMPCLOUD_BASE_URL | JumpCloud API base URL | https://console.jumpcloud.com/api | No |
TEST_USER_PREFIX | Prefix for test users | test-user- | No |
TEST_GROUP_PREFIX | Prefix for test groups | test-group- | No |
The main service class that provides methods for interacting with JumpCloud.
new JumpCloudService(config: JumpCloudConfig)
listUsers(params)
: List users with optional filteringcreateUser(args)
: Create a new usergetUser(args)
: Get a specific user by IDupdateUser(args)
: Update user propertiesdeleteUser(args)
: Delete a userlistGroups(params)
: List groups with optional filteringcreateGroup(args)
: Create a new groupassignUserToGroup(args)
: Add user to groupunassignUserFromGroup(args)
: Remove user from grouplistGroupUsers(args)
: List users in a groupdeleteGroup(args)
: Delete a grouplistUserDevices(args)
: List devices assigned to a specific userlistDevices(params)
: List all devices with optional filteringAll methods return a promise that resolves to a response object with:
success
: Boolean indicating if the operation was successfuldata
: The response data (if successful)error
: Error message (if unsuccessful)yarn build
yarn clean
Apache-2.0
FAQs
A TypeScript package for interacting with the JumpCloud API, providing user and group management capabilities.
The npm package @clearfeed-ai/quix-jumpcloud-agent receives a total of 72 weekly downloads. As such, @clearfeed-ai/quix-jumpcloud-agent popularity was classified as not popular.
We found that @clearfeed-ai/quix-jumpcloud-agent demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.