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.
npm install @devrev/typescript-sdk
The version can be found in package.json. The SDK is currently beta.
Make sure that your project's package.json contains "type":"module"
setting.
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()
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()
npm test
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);
Fetch all Rev users associated with an account:
const accountId = "ACC-12345";
const revUsers = await sdkUtil.getAllRevUsersFromAccount(accountId);
// Returns array of RevUser objects
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);
const artifactId = "ART-12345";
const fileContent = await sdkUtil.getFileContentFromArtifact(artifactId);
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]
}
The SDK is written in TypeScript and provides comprehensive type definitions for:
- File management operations
- User management
- API Error handling
-
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-catch
blocks. - 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
BetaSDKUtil
class 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.