@devrev/typescript-sdk v1.1.63
Authorization
Setup an env variable DEVREV_TOKEN It will be used as an auth token by default, You can also pass in the url and token in client.setup() as a param (see below). It is also required to run tests.
Installation
npm install @devrev/typescript-sdkThe version can be found in package.json. The SDK is currently beta.
Make sure that your project's package.json contains "type":"module" setting.
Example Usage of the Beta SDK
import {client, betaSDK} from "@devrev/typescript-sdk";
const devrevBetaSDK = client.setupBeta({ endpoint: "https://api.devrev.ai",
token: process.env.DEVREV_TOKEN });
async function test(){
const response = await devrevBetaSDK.worksCreate({title:"New work item!",
applies_to_part: "PROD-1",
owned_by:["DEVU-1"],
type: betaSDK.WorkType.Issue})
console.log(response)
}
test()Example Usage of the Public SDK
import {client, publicSDK} from "@devrev/typescript-sdk";
const devrevSDK = client.setup({ endpoint: "https://api.devrev.ai", token: process.env.DEVREV_TOKEN });
async function test(){
const response = await devrevSDK.worksCreate({title:"New work item!", applies_to_part: "PROD-1", owned_by:["DEVU-16"], type: publicSDK.WorkType.Issue})
console.log(response.status)
}
test()Execute tests in the repo
npm testDevrev SDK Utils Guide
Basic Setup
First, initialize the SDK with your DevRev credentials:
import { client } from '@devrev/typescript-sdk';
import { BetaSdkUtil } from '@devrev/sdk-utils';
// Initialize the DevRev SDK
const devrevSDK = new client.setupBeta({
// Your DevRev credentials
endpoint: "https://api.devrev.ai",
token: "YOUR_TOKEN"
});
// Initialize the utils SDK
const sdkUtil = new BetaSdkUtil(devrevSDK);Core Features
1. User Management
Fetch all Rev users associated with an account:
const accountId = "ACC-12345";
const revUsers = await sdkUtil.getAllRevUsersFromAccount(accountId);
// Returns array of RevUser objects2. File Management
Upload Files
import { FileTypes } from '@devrev/sdk-utils';
// Prepare file object
const fileObject = {
file_name: "example.txt",
file_type: FileTypes.OTHERS,
file: Buffer.from("Hello World"),
custom_file_type: "text/plain" // Required when file_type is OTHERS
};
// Upload file
const artifactId = await sdkUtil.uploadFileToArtifact(fileObject);Retrieve File Content
const artifactId = "ART-12345";
const fileContent = await sdkUtil.getFileContentFromArtifact(artifactId);Error Handling
The SDK includes built-in API error handling that provides detailed error information:
try {
await sdkUtil.uploadFileToArtifact(fileObject);
} catch (error) {
// Error will be automatically handled with detailed logging:
// === Error Details ===
// Service: [function name]
// API: [API endpoint]
// Error Type: [error type]
// Status Code: [status code]
// Message: [error message]
}TypeScript Support
The SDK is written in TypeScript and provides comprehensive type definitions for:
- File management operations
- User management
- API Error handling
How to Contribute?
Create a New Branch
- Start by creating a separate branch for your feature or bug fix.
Follow Best Coding Practices
- Ensure your code adheres to the following guidelines:
- Handle potential errors using
try-catchblocks. - Use TypeScript types/interfaces from the SDK for type safety.
- Check file type requirements before uploading.
- Utilize built-in API error handling for consistent logging.
- Handle potential errors using
- Ensure your code adheres to the following guidelines:
Enhance
BetaSDKUtil- Modify the
BetaSDKUtilclass to add new utilities. - Write comprehensive test cases to ensure functionality.
- Modify the
Run Tests
- Execute tests using:
npm test
- Execute tests using:
Submit a Pull Request
- Open a pull request with a clear and detailed description of your changes.
1 year ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
9 months ago
10 months ago
10 months ago
7 months ago
9 months ago
9 months ago
6 months ago
7 months ago
5 months ago
6 months ago
6 months ago
6 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago