diff --git a/.github/workflows/manual-docker-build.yml b/.github/workflows/manual-docker-build.yml index 5e8d4c8ca5..c2d8251318 100644 --- a/.github/workflows/manual-docker-build.yml +++ b/.github/workflows/manual-docker-build.yml @@ -10,6 +10,10 @@ on: dockerfile_path: description: 'Path to Dockerfile' required: true + type: choice + options: + - ./docker/LTS/ee/ee-production.Dockerfile + - ./docker/pre-release/ee/ee-production.Dockerfile docker_tag: description: 'Docker tag suffix (e.g., pre-release-14)' required: true diff --git a/.github/workflows/update-test-system.yml b/.github/workflows/update-test-system.yml new file mode 100644 index 0000000000..ac5554040f --- /dev/null +++ b/.github/workflows/update-test-system.yml @@ -0,0 +1,267 @@ +name: Update test system (LTS and pre-release) + +on: + workflow_dispatch: + inputs: + branch_name: + description: 'Git branch to build from' + required: true + default: 'main' + dockerfile_path: + description: 'Select Dockerfile' + required: true + type: choice + options: + - ./docker/LTS/ee/ee-production.Dockerfile + - ./docker/pre-release/ee/ee-production.Dockerfile + docker_tag: + description: 'Docker tag suffix (e.g., pre-release-14, 3.16-lts, etc.)' + required: true + test_system: + description: 'Select test system' + required: true + type: choice + options: + - app-builder-3.16-lts + - app-builder-pre-release + - platform-3.16-lts + - platform-pre-release + - marketplace-3.16-lts + - marketplace-pre-release + - ai-3.16-lts + - ai-pre-release + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: โœ… Check user authorization + run: | + # Define allowed users + allowed_users=( + "${{ secrets.ALLOWED_USER1_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER2_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER3_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER4_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER5_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER6_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER7_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER8_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER9_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER10_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER11_TEST_SYSTEM }}" + "${{ secrets.ALLOWED_USER12_TEST_SYSTEM }}" + ) + + current_user="${{ github.actor }}" + authorized=false + + for user in "${allowed_users[@]}"; do + if [[ "$current_user" == "$user" ]]; then + authorized=true + break + fi + done + + if [[ "$authorized" == "false" ]]; then + echo "โŒ User '$current_user' is not authorized to trigger this workflow." + exit 1 + else + echo "โœ… User '$current_user' is authorized." + fi + + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.branch_name }} + fetch-depth: 0 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Generate full Docker tag + id: taggen + run: | + input_tag="${{ github.event.inputs.docker_tag }}" + if [[ "$input_tag" == *"/"* ]]; then + echo "tag=$input_tag" >> $GITHUB_OUTPUT + else + echo "tag=tooljet/tj-osv:$input_tag" >> $GITHUB_OUTPUT + fi + + - name: Build and Push Docker image + uses: docker/build-push-action@v4 + with: + context: . + file: ${{ github.event.inputs.dockerfile_path }} + push: true + tags: ${{ steps.taggen.outputs.tag }} + platforms: linux/amd64 + build-args: | + CUSTOM_GITHUB_TOKEN=${{ secrets.CUSTOM_GITHUB_TOKEN }} + BRANCH_NAME=${{ github.event.inputs.branch_name }} + + - name: Show the full Docker tag + run: echo "โœ… Docker image built and pushed:${{ steps.taggen.outputs.tag }}" + + - name: Install SSH and JQ + run: sudo apt-get install -y jq openssh-client + + - name: Determine target host + id: vmhost + run: | + test_system="${{ github.event.inputs.test_system }}" + vm_host=$(echo '${{ secrets.VM_HOST_MAP_JSON }}' | jq -r --arg sys "$test_system" '.[$sys]') + + if [[ -z "$vm_host" || "$vm_host" == "null" ]]; then + echo "VM mapping not found for $test_system" + exit 1 + fi + + echo "host=$vm_host" >> $GITHUB_OUTPUT + + - name: Deploy to target environment + run: | + echo "$SSH_KEY" > key.pem + chmod 600 key.pem + + IMAGE_TAG="${{ steps.taggen.outputs.tag }}" + TARGET_SYSTEM="${{ github.event.inputs.test_system }}" + + # Debug: Show what we're deploying + echo "DEBUG: IMAGE_TAG=$IMAGE_TAG" + echo "DEBUG: TARGET_SYSTEM=$TARGET_SYSTEM" + + ssh -o StrictHostKeyChecking=no -i key.pem $SSH_USER@${{ steps.vmhost.outputs.host }} << EOF + set -e + + IMAGE_TAG="$IMAGE_TAG" + TARGET_SYSTEM="$TARGET_SYSTEM" + + cd ~ + echo "๐Ÿ“ Finding correct deployment directory" + + # Debug: Show variables on remote host + echo "Debug on remote: IMAGE_TAG=\$IMAGE_TAG" + echo "Debug on remote: TARGET_SYSTEM=\$TARGET_SYSTEM" + + if [[ "\$TARGET_SYSTEM" == *-3.16-lts ]]; then + echo "Detected LTS system: \$TARGET_SYSTEM" + echo "๐Ÿ” Searching for LTS directories..." + + # Find LTS directories dynamically + LTS_DIRS=\$(ls -1d ./*-lts 2>/dev/null | grep -E '[0-9]+\.[0-9]+' | sed 's|^\./||' | sort -V; \\ + ls -1d ./*-lts 2>/dev/null | grep -Ev '[0-9]+\.[0-9]+' | sed 's|^\./||' | sort) + + if [[ -z "\$LTS_DIRS" ]]; then + echo "โŒ No LTS directories found!" + echo "Available directories:" + ls -la | grep "^d" + exit 1 + fi + + echo "Available LTS directories:" + echo "\$LTS_DIRS" + + # Choose the first available LTS directory + SELECTED_LTS_DIR=\$(echo "\$LTS_DIRS" | head -n 1) + + echo "๐Ÿ“‚ Selected LTS directory: \$SELECTED_LTS_DIR" + cd "\$SELECTED_LTS_DIR" + echo "โœ… Now in directory: \$(pwd)" + else + echo "Detected pre-release system: \$TARGET_SYSTEM" + echo "๐Ÿ“‚ Moving to target directory: \$TARGET_SYSTEM" + cd ~ + echo "โœ… Now in directory: \$(pwd)" + fi + + echo "๐Ÿ” Docker login" + echo "${{ secrets.DOCKER_PASSWORD }}" | sudo docker login --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin + + echo "current image" + cat .env | grep TOOLJET_IMAGE + + echo "๐Ÿ“ฆ Reading current TOOLJET_IMAGE from .env" + CURRENT_IMAGE=\$(grep '^TOOLJET_IMAGE=' .env | cut -d '=' -f2- | tr -d '"' | tr -d "'") + echo "Found CURRENT_IMAGE: \$CURRENT_IMAGE" + + echo "๐Ÿ›‘ Stopping containers" + sudo docker-compose down + + echo "๐Ÿ“ Updating .env with new image" + sudo sed -i "s|^TOOLJET_IMAGE=.*|TOOLJET_IMAGE=\$IMAGE_TAG|" .env + + echo "๐Ÿ“ฅ Pulling new image: \$IMAGE_TAG" + if [ -z "\$IMAGE_TAG" ]; then + echo "โŒ IMAGE_TAG is empty!" + exit 1 + fi + sudo docker pull "\$IMAGE_TAG" + + echo "๐Ÿš€ Starting container in background" + sudo docker-compose up -d + + # Wait for ToolJet to start and show success message + echo "โณ Waiting for ToolJet to start (timeout: 300 seconds)..." + SUCCESS_FOUND=false + TIMEOUT=300 + ELAPSED=0 + + while [ \$ELAPSED -lt \$TIMEOUT ]; do + # Check for success message in logs + if sudo docker-compose logs 2>/dev/null | grep -qE "๐Ÿš€ TOOLJET APPLICATION STARTED SUCCESSFULLY|Ready to use at http://localhost:82 ๐Ÿš€|Ready to use at http://localhost:80"; then + echo "โœ… Found success message in logs!" + SUCCESS_FOUND=true + break + fi + + echo "โณ Still waiting... (\${ELAPSED}s elapsed)" + sleep 10 + ELAPSED=\$((ELAPSED + 10)) + done + + if [ "\$SUCCESS_FOUND" = false ]; then + echo "โŒ Timeout reached without finding success logs" + echo "๐Ÿ“„ Showing current logs for troubleshooting..." + sudo docker-compose logs --tail=50 + echo "" + echo "=== CONTAINER STATUS ===" + sudo docker-compose ps + echo "" + + echo "๐Ÿ›‘ Starting rollback process..." + sudo docker-compose down + + echo "๐Ÿ”„ Reverting to previous image: \$CURRENT_IMAGE" + sudo sed -i "s|^TOOLJET_IMAGE=.*|TOOLJET_IMAGE=\$CURRENT_IMAGE|" .env + + echo "๐Ÿ”„ Starting previous image..." + sudo docker-compose up -d + echo "โœ… Rollback completed!" + exit 1 + fi + + echo "โœ… Deployment successful!" + + echo "๐Ÿ“Œ Storing successful deployment info in .env" + sudo sed -i "/^OLD_IMAGE=/d" .env + echo "OLD_IMAGE=\$CURRENT_IMAGE" | sudo tee -a .env + echo "๐Ÿ“„ Final application logs:" + sudo docker-compose logs --tail=50 + + echo "๐Ÿงน Pruning old Docker images" + sudo docker image prune -a -f + + EOF + env: + SSH_USER: ${{ secrets.AZURE_VM_USER }} + SSH_KEY: ${{ secrets.AZURE_VM_KEY }} + diff --git a/docs/docs/marketplace/marketplace_overview.md b/docs/docs/marketplace/marketplace_overview.md index 29a1f847b7..12d0526f98 100644 --- a/docs/docs/marketplace/marketplace_overview.md +++ b/docs/docs/marketplace/marketplace_overview.md @@ -55,6 +55,8 @@ To remove a plugin, follow these steps: - On the `Installed` page, click on the `Remove` button of the related plugin that you wish to remove. ## Available Plugins + +- **[Aftership](/docs/marketplace/plugins/marketplace-plugin-aftership)** - **[Anthropic](/docs/marketplace/plugins/marketplace-plugin-anthropic)** - **[AWS Redshift](/docs/marketplace/plugins/marketplace-plugin-awsredshift)** - **[AWS Textract](/docs/marketplace/plugins/marketplace-plugin-textract)** @@ -67,6 +69,7 @@ To remove a plugin, follow these steps: - **[HarperDB](/docs/marketplace/plugins/marketplace-plugin-harperdb)** - **[Hugging Face](/docs/marketplace/plugins/marketplace-plugin-hugging_face)** - **[Jira](/docs/marketplace/plugins/marketplace-plugin-jira)** +- **[Microsoft Graph](/docs/marketplace/plugins/marketplace-plugin-microsoft_graph)** - **[Mistral AI](/docs/marketplace/plugins/marketplace-plugin-mistral_ai)** - **[OpenAI](/docs/marketplace/plugins/marketplace-plugin-openai)** - **[Pinecone](/docs/marketplace/plugins/marketplace-plugin-pinecone)** diff --git a/docs/docs/marketplace/plugins/aftership.md b/docs/docs/marketplace/plugins/aftership.md new file mode 100644 index 0000000000..e9aa0aff59 --- /dev/null +++ b/docs/docs/marketplace/plugins/aftership.md @@ -0,0 +1,185 @@ +--- +id: marketplace-plugin-aftership +title: Aftership +--- + +Integrating AfterShip with ToolJet enables teams to build custom internal tools for tracking and managing shipments in real time. With this integration, you can fetch delivery statuses, monitor carrier updates, and centralize logistics data within your ToolJet application, streamlining operations and improving customer support efficiency. + +## Connection + +To connect AfterShip with ToolJet you will need the API Key, which you can generate from [Aftership Tracking API](https://www.aftership.com/tracking-api). + +Aftership Configuration + +## Supported Operations + +### Tracking + +#### Basic Tracking Operations + +| Method | Endpoint | Description | +| ------ | ------------ | --------------------------- | +| GET | `/trackings` | Retrieve list of trackings. | +| POST | `/trackings` | Create a new tracking. | +| GET | `/couriers` | Get supported courier list. | + +#### ID + +| Method | Endpoint | Description | +| ------ | ----------------------------------- | ---------------------------- | +| GET | `/trackings/{id}` | Get tracking by ID. | +| PUT | `/trackings/{id}` | Update tracking by ID. | +| DELETE | `/trackings/{id}` | Delete tracking by ID. | +| POST | `/trackings/{id}/retrack` | Retrack an expired tracking. | +| POST | `/trackings/{id}/mark-as-completed` | Mark tracking as completed. | + +#### Detect + +| Method | Endpoint | Description | +| ------ | ------------------ | ---------------------------------- | +| POST | `/couriers/detect` | Detect courier by tracking number. | + +#### All + +| Method | Endpoint | Description | +| ------ | ------------------ | ---------------------------------- | +| GET | `/couriers/all` | Get all available couriers. | + +#### Predict Batch + +| Method | Endpoint | Description | +| ------ | ---------------------------------------- | ------------------------------------- | +| POST | `/estimated-delivery-date/predict-batch` | Predict estimated delivery for batch. | + +### Shipping + +#### Labels + +| Method | Endpoint | Description | +| ------ | -------------- | ----------------- | +| GET | `/labels` | Get labels | +| POST | `/labels` | Create a label | +| GET | `/labels/{id}` | Get a label by ID | + +#### Cancel Labels + +| Method | Endpoint | Description | +| ------ | --------------------- | --------------------------- | +| GET | `/cancel-labels` | Get the cancelled labels | +| POST | `/cancel-labels` | Cancel a label | +| GET | `/cancel-labels/{id}` | Get a cancelled label by ID | + +#### Rates + +| Method | Endpoint | Description | +| ------ | ------------- | ---------------- | +| GET | `/rates` | Get rates | +| POST | `/rates` | Calculate rates | +| GET | `/rates/{id}` | Get a rate by ID | + +#### Manifests + +| Method | Endpoint | Description | +| ------ | ----------------- | -------------------- | +| GET | `/manifests` | Get manifests | +| POST | `/manifests` | Create a manifest | +| GET | `/manifests/{id}` | Get a manifest by ID | + +#### Couriers + +| Method | Endpoint | Description | +| ------ | ----------- | ---------------- | +| GET | `/couriers` | Get all couriers | + +#### Address Validations + +| Method | Endpoint | Description | +| ------ | ---------------------- | ---------------------------- | +| POST | `/address-validations` | Create an address validation | + +#### Location + +| Method | Endpoint | Description | +| ------ | ------------ | ------------------------------------------- | +| GET | `/locations` | Get carrier locations (requires production) | + +#### Pickup + +| Method | Endpoint | Description | +| ------ | --------------- | ---------------------------------------------------- | +| GET | `/pickups` | Get pickups | +| POST | `/pickups` | Create a pickup (FedEx, UPS, DHL Express, Purolator) | +| GET | `/pickups/{id}` | Get a pickup by ID | + +#### Cancel Pickups + +| Method | Endpoint | Description | +| ------ | ---------------------- | ---------------------------- | +| GET | `/cancel-pickups` | Get the cancelled pickups | +| POST | `/cancel-pickups` | Cancel a pickup | +| GET | `/cancel-pickups/{id}` | Get a cancelled pickup by ID | + +#### Shipper Accounts + +| Method | Endpoint | Description | +| ------ | ------------------------------------ | ----------------------------------------- | +| GET | `/shipper-accounts` | Get shipper accounts | +| POST | `/shipper-accounts` | Create a shipper account | +| GET | `/shipper-accounts/{id}` | Get a shipper account by ID | +| DELETE | `/shipper-accounts/{id}` | Delete a shipper account | +| PUT | `/shipper-accounts/{id}/info` | Update shipper account's information | +| PUT | `/shipper-accounts/{id}/credentials` | Update shipper account's credentials | +| PUT | `/shipper-accounts/{id}/settings` | Update shipper account's settings (FedEx) | + +### Return + +#### Returns Management + +| Method | Endpoint | Description | +| ------ | --------------------------- | -------------------------------------------- | +| GET | `/returns` | Get returns with optional filtering | +| POST | `/returns` | Create a new return (supports only "Refund") | +| GET | `/returns/{return_id}` | Get return detail by return ID | +| GET | `/returns/rma/{rma_number}` | Get return detail by RMA number | + +#### Return Status Management + +| Method | Endpoint | Description | +| ------ | ----------------------------------- | ---------------------------- | +| POST | `/returns/{return_id}/approve` | Approve return by return ID | +| POST | `/returns/rma/{rma_number}/approve` | Approve return by RMA number | +| POST | `/returns/{return_id}/resolve` | Resolve return by return ID | +| POST | `/returns/rma/{rma_number}/resolve` | Resolve return by RMA number | +| POST | `/returns/{return_id}/reject` | Reject return by return ID | +| POST | `/returns/rma/{rma_number}/reject` | Reject return by RMA number | + +#### Item Management + +| Method | Endpoint | Description | +| ------ | ------------------------------------------- | ---------------------------------------------- | +| POST | `/returns/{return_id}/receive-items` | Record received items by return ID | +| POST | `/returns/rma/{rma_number}/receive-items` | Record received items by RMA number | +| PUT | `/returns/{return_id}/items/{item_id}` | Update return item (tags/images) by return ID | +| PUT | `/returns/rma/{rma_number}/items/{item_id}` | Update return item (tags/images) by RMA number | +| POST | `/returns/{return_id}/remove-items` | Remove items from return by return ID | +| POST | `/returns/rma/{rma_number}/remove-items` | Remove items from return by RMA number | + +#### Shipping Management + +| Method | Endpoint | Description | +| ------ | -------------------------------------------- | ---------------------------------- | +| POST | `/returns/{return_id}/attach-shipments` | Upload shipment info by return ID | +| POST | `/returns/rma/{rma_number}/attach-shipments` | Upload shipment info by RMA number | + +#### Dropoff Management + +| Method | Endpoint | Description | +| ------ | ------------------------------------------------------- | -------------------------------------- | +| POST | `/returns/rma/{rma_number}/dropoffs/{dropoff_id}/drops` | Record dropped-off items (QR dropoffs) | + +#### Utility Endpoints + +| Method | Endpoint | Description | +| ------ | --------------- | ---------------------------------------------------- | +| POST | `/returns/link` | Generate returns page deep link with pre-filled info | +| GET | `/item-tags` | Retrieve all available item tags | diff --git a/docs/docs/marketplace/plugins/microsoft-graph.md b/docs/docs/marketplace/plugins/microsoft-graph.md new file mode 100644 index 0000000000..415c22623b --- /dev/null +++ b/docs/docs/marketplace/plugins/microsoft-graph.md @@ -0,0 +1,231 @@ +--- +id: marketplace-plugin-microsoft_graph +title: Microsoft Graph +--- + +By integrating Microsoft Graph with ToolJet, you can interact with Microsoft 365 services such as Outlook Mail, Calendar, Users, and OneDrive. + +## Connection + +To connect ToolJet with Microsoft Graph, youโ€™ll need the following credentials: + +- Tenant +- Access token URL +- Client ID +- Client secret + +Follow this [Microsoft guide](https://learn.microsoft.com/en-us/graph/auth-register-app-v2) to register an app and generate the required credentials. + +You can enable the **Authentication required for all users** toggle in the configuration panel. When enabled, each user will be redirected to the OAuth consent screen the first time a query from this data source is triggered in your application. This ensures that every user connects with their own Microsoft account securely. + +**Note**: After completing the OAuth flow, the query must be triggered again to fetch data from Microsoft Graph. + +Microsoft Graph Configuration + +## Supported Operations + +### Outlook + +#### Messages + +| Method | Endpoint | Description | +| ------ | ------------------------------------------ | ------------------------------------ | +| GET | `/me/messages` | List messages in the user's mailbox. | +| POST | `/me/messages` | Create a new draft message. | +| GET | `/me/messages/{message-id}` | Get a specific message by ID. | +| PATCH | `/me/messages/{message-id}` | Update a message. | +| DELETE | `/me/messages/{message-id}` | Delete a message. | +| POST | `/me/messages/{message-id}/forward` | Forward an existing message. | +| POST | `/me/messages/{message-id}/createForward` | Create a forward draft. | +| POST | `/me/messages/{message-id}/reply` | Reply to a message. | +| POST | `/me/messages/{message-id}/createReply` | Create a reply draft. | +| POST | `/me/messages/{message-id}/replyAll` | Reply all to a message. | +| POST | `/me/messages/{message-id}/createReplyAll` | Create a reply-all draft. | +| POST | `/me/messages/{message-id}/send` | Send a draft message. | +| POST | `/me/messages/{message-id}/move` | Move a message. | +| POST | `/me/messages/{message-id}/copy` | Copy a message. | +| POST | `/me/sendMail` | Send mail without creating a draft. | + +#### Mail Folders + +| Method | Endpoint | Description | +| ------ | ------------------------------------------------ | ------------------------------------- | +| GET | `/me/mailFolders` | List mail folders. | +| POST | `/me/mailFolders` | Create a mail folder. | +| GET | `/me/mailFolders/{mailFolder-id}` | Get specific mail folder. | +| PATCH | `/me/mailFolders/{mailFolder-id}` | Update a mail folder. | +| DELETE | `/me/mailFolders/{mailFolder-id}` | Delete a mail folder. | +| GET | `/me/mailFolders/{mailFolder-id}/messages` | List messages inside a folder. | +| GET | `/me/mailFolders/Inbox/messages/delta` | Track changes to inbox messages. | +| GET | `/me/mailFolders/{mailFolder-id}/messages/delta` | Track changes to a folder's messages. | +| GET | `/me/mailFolders/delta` | Track changes to all folders. | + +#### Categories and Rooms + +| Method | API Endpoint | Description | +| ------ | --------------------------------------------------- | ----------------------- | +| GET | `/me/outlook/masterCategories` | List master categories | +| POST | `/me/outlook/masterCategories` | Create a new category | +| GET | `/me/outlook/masterCategories/{outlookCategory-id}` | Get a specific category | +| PATCH | `/me/outlook/masterCategories/{outlookCategory-id}` | Update a category | +| DELETE | `/me/outlook/masterCategories/{outlookCategory-id}` | Delete a category | +| GET | `/me/findRooms` | List available rooms | +| GET | `/me/findRooms(RoomList='{roomList-emailAddress}')` | Find rooms by room list | +| GET | `/me/findRoomLists` | List room lists | + +### Calendar + +#### Default Calendar + +| Method | API Endpoint | Description | +| ------ | ------------------------------------------------- | ------------------------------------- | +| GET | `/me/calendar` | Get default calendar | +| PATCH | `/me/calendar` | Update default calendar | +| GET | `/me/calendar/events` | List events from default calendar | +| POST | `/me/calendar/events` | Create an event in default calendar | +| GET | `/me/calendar/calendarPermissions` | List calendar permissions | +| POST | `/me/calendar/calendarPermissions` | Grant permissions to default calendar | +| GET | `/me/calendar/calendarPermissions/{permissionId}` | Get specific calendar permission | +| PATCH | `/me/calendar/calendarPermissions/{permissionId}` | Update calendar permission | +| DELETE | `/me/calendar/calendarPermissions/{permissionId}` | Delete calendar permission | +| POST | `/me/calendar/getSchedule` | Get free/busy schedule info | + +#### User Calendars and Groups + +| Method | API Endpoint | Description | +| ------ | ---------------------------------------- | --------------------------------------- | +| GET | `/user/{userId}/calendar` | Get default calendar of a specific user | +| GET | `/me/calendars` | List user calendars | +| POST | `/me/calendars` | Create a new calendar | +| GET | `/me/calendars/{calendarId}` | Get a specific calendar | +| PATCH | `/me/calendars/{calendarId}` | Update a calendar | +| DELETE | `/me/calendars/{calendarId}` | Delete a calendar | +| GET | `/me/calendars/{calendarId}/events` | List events in a specific calendar | +| POST | `/me/calendars/{calendarId}/events` | Create event in a specific calendar | +| GET | `/me/calendarGroups` | List calendar groups | +| POST | `/me/calendarGroups` | Create a calendar group | +| GET | `/me/calendarGroups/{groupId}/calendars` | Get calendars in a group | +| POST | `/me/calendarGroups/{groupId}/calendars` | Add calendar to a group | + +#### Events + +| Method | API Endpoint | Description | +| ------ | ---------------------------------- | ----------------------------------- | +| GET | `/me/events/{eventId}` | Get an event by ID | +| PATCH | `/me/events/{eventId}` | Update an event | +| DELETE | `/me/events/{eventId}` | Delete an event | +| GET | `/me/events/{eventId}/instances` | List instances of a recurring event | +| GET | `/me/events/{eventId}/attachments` | List attachments of an event | +| POST | `/me/events/{eventId}/attachments` | Add attachments to an event | +| GET | `/me/calendarView` | Get calendar view of events | +| POST | `/me/findMeetingTimes` | Find meeting times | + +### Users + +#### User Management + +| Method | API Endpoint | Description | +| ------ | ------------------ | ---------------------- | +| GET | `/users` | List all users | +| POST | `/users` | Create a user | +| GET | `/users/{user-id}` | Get a specific user | +| PATCH | `/users/{user-id}` | Update a specific user | +| DELETE | `/users/{user-id}` | Delete a specific user | + +#### Profile + +| Method | API Endpoint | Description | +| ------ | ------------ | -------------------------------- | +| GET | `/me` | Get profile of signed-in user | +| PATCH | `/me` | Update profile of signed-in user | + +### Teams + +#### Teams and Chats + +| Method | API Endpoint | Description | +| ------ | ----------------- | ------------------------------ | +| GET | `/teams` | List teams | +| POST | `/teams` | Create a team | +| GET | `/chats` | List chats | +| POST | `/chats` | Create a chat | +| GET | `/me/joinedTeams` | List teams the user has joined | + +#### Chat Operations + +| Method | API Endpoint | Description | +| ------ | -------------------------------------------------- | -------------------------------- | +| GET | `/chats/{chat-id}` | Get a chat | +| PATCH | `/chats/{chat-id}` | Update a chat | +| DELETE | `/chats/{chat-id}` | Delete a chat | +| GET | `/chats/{chat-id}/members` | List members in a chat | +| POST | `/chats/{chat-id}/members` | Add members to a chat | +| POST | `/chats/{chat-id}/members/add` | Add members (alternate endpoint) | +| GET | `/chats/{chat-id}/members/{conversationMember-id}` | Get chat member details | +| PATCH | `/chats/{chat-id}/members/{conversationMember-id}` | Update chat member | +| DELETE | `/chats/{chat-id}/members/{conversationMember-id}` | Remove chat member | +| GET | `/chats/{chat-id}/messages` | List messages in a chat | +| POST | `/chats/{chat-id}/messages` | Send message in a chat | +| GET | `/chats/{chat-id}/messages/{chatMessage-id}` | Get a specific chat message | +| PATCH | `/chats/{chat-id}/messages/{chatMessage-id}` | Update a chat message | +| DELETE | `/chats/{chat-id}/messages/{chatMessage-id}` | Delete a chat message | +| GET | `/chats/getAllMessages` | Get all messages across chats | + +#### Team Operation + +| Method | API Endpoint | Description | +| ------ | ------------------------------ | -------------------------------- | +| GET | `/teams/{team-id}` | Get a team | +| PATCH | `/teams/{team-id}` | Update a team | +| DELETE | `/teams/{team-id}` | Delete a team | +| POST | `/teams/{team-id}/archive` | Archive a team | +| POST | `/teams/{team-id}/unarchive` | Unarchive a team | +| GET | `/teams/{team-id}/members` | List team members | +| POST | `/teams/{team-id}/members` | Add team members | +| POST | `/teams/{team-id}/members/add` | Add members (alternate endpoint) | + +#### Channels and Messages + +| Method | API Endpoint | Description | +| ------ | ------------------------------------------------------------------ | --------------------------------------- | +| GET | `/teams/{team-id}/allChannels` | List all channels in a team | +| GET | `/teams/{team-id}/channels` | List standard channels in a team | +| POST | `/teams/{team-id}/channels` | Create a channel in a team | +| GET | `/teams/{team-id}/channels/{channel-id}` | Get channel details | +| PATCH | `/teams/{team-id}/channels/{channel-id}` | Update a channel | +| DELETE | `/teams/{team-id}/channels/{channel-id}` | Delete a channel | +| GET | `/teams/{team-id}/channels/{channel-id}/members` | List members in a channel | +| POST | `/teams/{team-id}/channels/{channel-id}/members` | Add members to a channel | +| GET | `/teams/{team-id}/channels/{channel-id}/messages` | List messages in a channel | +| POST | `/teams/{team-id}/channels/{channel-id}/messages` | Send message in a channel | +| GET | `/teams/{team-id}/channels/{channel-id}/messages/{chatMessage-id}` | Get a specific channel message | +| PATCH | `/teams/{team-id}/channels/{channel-id}/messages/{chatMessage-id}` | Update a channel message | +| DELETE | `/teams/{team-id}/channels/{channel-id}/messages/{chatMessage-id}` | Delete a channel message | +| GET | `/teams/{team-id}/allChannels/{channel-id}` | Get specific channel under all channels | + +### OneDrive + +#### Root and Shared Content + +| Method | API Endpoint | Description | +| ------ | ------------------------------------------- | ----------------------------------- | +| GET | `/me/drive/root/children` | List items in root folder | +| POST | `/me/drive/root/children` | Create a new file or folder in root | +| GET | `/me/drive/recent` | List recent files | +| GET | `/me/drive/sharedWithMe` | List files shared with the user | +| GET | `/me/drive/root/search(q='{search-query}')` | Search files by query | + +#### Specific Drives and Items + +| Method | API Endpoint | Description | +| ------ | ------------------------------------------------ | ------------------------------------- | +| GET | `/drives/{drive-id}/root/children` | List items in a specific drive's root | +| GET | `/drives/{drive-id}/items/{item-id}/children` | List children of a folder | +| POST | `/drives/{drive-id}/items/{item-id}/children` | Add item to folder | +| GET | `/drives/{drive-id}/items/{item-id}` | Get metadata for an item | +| PATCH | `/drives/{drive-id}/items/{item-id}` | Update metadata of an item | +| DELETE | `/drives/{drive-id}/items/{item-id}` | Delete an item | +| GET | `/drives/{drive-id}/items/{item-id}/content` | Download file content | +| PUT | `/drives/{drive-id}/items/{item-id}/content` | Upload file content | +| POST | `/drives/{drive-id}/items/{item-id}/createLink` | Create sharing link | +| GET | `/drives/{drive-id}/items/{item-id}/permissions` | Get item permissions | diff --git a/docs/sidebars.js b/docs/sidebars.js index e56f270551..975dd80438 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -439,7 +439,9 @@ const sidebars = { 'marketplace/plugins/marketplace-plugin-qdrant', 'marketplace/plugins/marketplace-plugin-azurerepos', 'marketplace/plugins/marketplace-plugin-googlecalendar', - 'marketplace/plugins/marketplace-plugin-ups' + 'marketplace/plugins/marketplace-plugin-ups', + 'marketplace/plugins/marketplace-plugin-aftership', + 'marketplace/plugins/marketplace-plugin-microsoft_graph' ], }, ], diff --git a/docs/static/img/marketplace/plugins/aftership/connection.png b/docs/static/img/marketplace/plugins/aftership/connection.png new file mode 100644 index 0000000000..294d09e615 Binary files /dev/null and b/docs/static/img/marketplace/plugins/aftership/connection.png differ diff --git a/docs/static/img/marketplace/plugins/microsoft-graph/connection.png b/docs/static/img/marketplace/plugins/microsoft-graph/connection.png new file mode 100644 index 0000000000..cded771baa Binary files /dev/null and b/docs/static/img/marketplace/plugins/microsoft-graph/connection.png differ diff --git a/docs/versioned_docs/version-2.50.0-LTS/setup/ami.md b/docs/versioned_docs/version-2.50.0-LTS/setup/ami.md index f78bb5d38f..93aa2077c8 100644 --- a/docs/versioned_docs/version-2.50.0-LTS/setup/ami.md +++ b/docs/versioned_docs/version-2.50.0-LTS/setup/ami.md @@ -57,19 +57,19 @@ Follow the steps below to deploy ToolJet on AWS AMI instances. If there are self signed HTTPS endpoints that ToolJet needs to connect to, please make sure that `NODE_EXTRA_CA_CERTS` environment variable is set to the absolute path containing the certificates. ::: -8. `TOOLJET_DB_HOST` environment variable determines where you can access the ToolJet client. It can either be the public ipv4 address of your instance or a custom domain that you want to use. +8. `TOOLJET_HOST` environment variable determines where you can access the ToolJet client. It can either be the public ipv4 address of your instance or a custom domain that you want to use. Examples: - `TOOLJET_DB_HOST=http://12.34.56.78` or - `TOOLJET_DB_HOST=https://yourdomain.com` or - `TOOLJET_DB_HOST=https://tooljet.yourdomain.com` + `TOOLJET_HOST=http://12.34.56.78` or + `TOOLJET_HOST=https://yourdomain.com` or + `TOOLJET_HOST=https://tooljet.yourdomain.com` :::info We use a [lets encrypt](https://letsencrypt.org/) plugin on top of nginx to create TLS certificates on the fly. ::: :::info - Please make sure that `TOOLJET_DB_HOST` starts with either `http://` or `https://` + Please make sure that `TOOLJET_HOST` starts with either `http://` or `https://` ::: 9. Once you've configured the `.env` file, run `./setup_app`. This script will install all the dependencies of ToolJet and then will start the required services. diff --git a/docs/versioned_docs/version-3.0.0-LTS/setup/ami.md b/docs/versioned_docs/version-3.0.0-LTS/setup/ami.md index a8106dced1..c1a82ee4cf 100644 --- a/docs/versioned_docs/version-3.0.0-LTS/setup/ami.md +++ b/docs/versioned_docs/version-3.0.0-LTS/setup/ami.md @@ -60,16 +60,16 @@ Follow the steps below to deploy ToolJet on AWS AMI instances. 8. `TOOLJET_DB_HOST` environment variable determines where you can access the ToolJet client. It can either be the public ipv4 address of your instance or a custom domain that you want to use. Examples: - `TOOLJET_DB_HOST=http://12.34.56.78` or - `TOOLJET_DB_HOST=https://yourdomain.com` or - `TOOLJET_DB_HOST=https://tooljet.yourdomain.com` + `TOOLJET_HOST=http://12.34.56.78` or + `TOOLJET_HOST=https://yourdomain.com` or + `TOOLJET_HOST=https://tooljet.yourdomain.com` :::info We use a [lets encrypt](https://letsencrypt.org/) plugin on top of nginx to create TLS certificates on the fly. ::: :::info - Please make sure that `TOOLJET_DB_HOST` starts with either `http://` or `https://` + Please make sure that `TOOLJET_HOST` starts with either `http://` or `https://` ::: 9. Once you've configured the `.env` file, run `./setup_app`. This script will install all the dependencies of ToolJet and then will start the required services. diff --git a/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/connection.md b/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/connection.md index 7d6c75ba10..473bd7448f 100644 --- a/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/connection.md +++ b/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/connection.md @@ -10,11 +10,10 @@ The table below provides a comparison between SSH and HTTPS connection methods t | Feature | HTTPS | SSH | |---------|-----|-------| -| **Connection type** | Individual git connection (Currently we only support [GitHub](/docs/development-lifecycle/gitsync/connect-to-git-repo/github-config) and [GitLab](/docs/development-lifecycle/gitsync/connect-to-git-repo/gitlab-config)) | Single connection which work for any git provider
( Example: [GitHub](/docs/development-lifecycle/gitsync/connect-to-git-repo/ssh/ssh-config#github), [Gitea](/docs/development-lifecycle/gitsync/connect-to-git-repo/ssh/ssh-config#gitea), [GitLab](/docs/development-lifecycle/gitsync/connect-to-git-repo/ssh/ssh-config#gitlab), etc. ) | +| **Connection type** | Individual git connection (Currently we only support [GitHub](/docs/development-lifecycle/gitsync/connect-to-git-repo/github-config) and [GitLab](/docs/development-lifecycle/gitsync/connect-to-git-repo/gitlab-config)) | Single connection which work for any git provider. (Example: [GitHub](/docs/development-lifecycle/gitsync/connect-to-git-repo/ssh/ssh-config#github), [Gitea](/docs/development-lifecycle/gitsync/connect-to-git-repo/ssh/ssh-config#gitea), [GitLab](/docs/development-lifecycle/gitsync/connect-to-git-repo/ssh/ssh-config#gitlab), etc.) | | **Port Blocking** | No port blocking issues | May face port blocking due to firewall issues | -| **Branch Configuration** | Can be configured directly from the ToolJet UI | Must be configured using environment variables | -| **Default Branch** | main | master | -| **Require Github App** | Yes | No | +| **Branch Configuration** | Can be configured directly from the ToolJet UI | Can be configured directly from the ToolJet UI | +| **Default Branch** | main | main | ToolJet allows you to set up multiple Git repository configurations. However, only one configuration can be active at any given time for a workspace. When switching between configurations, the previously active configuration will be automatically deactivated. diff --git a/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/github-config.md b/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/github-config.md index e097e64a17..f66f83ceec 100644 --- a/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/github-config.md +++ b/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/github-config.md @@ -13,70 +13,75 @@ sidebar_label: GitHub Configuration Paid feature -The GitHub Configuration for GitSync introduces a more flexible way to connect your ToolJet instance to a Git repository. Compared to traditional SSH-based setups, it works over HTTPS, helping you avoid SSH port blocks, and lets you choose branches directly from the UI. +The GitHub Configuration for GitSync introduces a more flexible way to connect your ToolJet instance to a Git repository. It works over HTTPS, helping you avoid SSH port blocks, and lets you choose branches directly from the UI. Role Required: **Admin** -### 1. **Create a New Repository** +### 1. Create a New Repository Create a new repository on your GitHub. The repository can be public or private. You can also use an existing repository. Make sure that the repository is empty. -### 2. **Create the GitHub App** +### 2. Create the GitHub App [Setup a GitHub App](https://github.com/settings/apps/new) and make sure it is created by the same owner as the Git repository. If you have multiple ToolJet instances, use this same GitHub App across all instances. - - GitSync - - Enter your App details on the **Register new GitHub App** page and make sure to update the following fields: - - Uncheck the **Expire user authorization tokens** and **Active** checkbox under **Identifying and authorizing users** and **Webhook** sections respectively. - - Add the following Repository permissions: + GitSync + + Enter your App details on the **Register new GitHub App** page and make sure to uncheck the **Expire user authorization tokens** and **Active** checkbox under **Identifying and authorizing users** and **Webhook** sections respectively. + + :::note + Add the following Repository permissions: - Contents: Read & Write - Pull requests: Read & Write + ::: - After creating the GitHub App, you will be directed to the **GitHub App Settings** page. Here, make sure to copy the **App ID**. Next, generate the **Private key** (`.pem `key), download it, and store it securely. This information will be essential later when configuring GitSync. + After creating the GitHub App, you will be directed to the **GitHub App Settings** page. + :::note + Make sure to copy the **App ID**. + ::: + Next, generate the **Private key** (`.pem `key), download it, and store it securely. This information will be essential later when configuring GitSync. GitSync -### 3. **Install the GitHub App** +### 3. Install the GitHub App To install your GitHub App, follow these steps: - - Click on Install App on the **GitHub App Settings** page. - GitSync + GitSync - Click the **Install** button next to your organization. - Select repositories option and select the repositories you want to connect to ToolJet. - - Youโ€™ll be redirected to the installation page. The number at the end of the URL is the **installation ID**. Save this for later. - - ``` - https://github.com/settings/installations/:installation_id - ``` + - Youโ€™ll be redirected to the installation page. The number at the end of the URL is the **installation ID**. Save this for later.
+ ``` + https://github.com/settings/installations/:installation_id + ``` ### 4. Configure GitHub in GitSync Navigate to the **Workspace settings** page and click on the **Configure git** tab. Then, enter the required configuration values after selecting GitHub as your repository provider. - - - -GitSync - + GitSync The table below describes each configuration values: #### Repository -| **Setting** | **Description** | -|-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| -| **Repo URL** | The URL of the repository you created to use with ToolJet. (e.g `https://github.com/your-org/repo-name.git`) | -| **Branch name** | Branch name of your repo. By default, it uses the main branch. | + +| **Setting** | **Description** | +|-------------|----------------| +| **Repo URL** | The URL of the repository you created to use with ToolJet. (e.g `https://github.com/your-org/repo-name.git`) | +| **Branch name** | Branch name of your repo. By default, it uses the main branch. | #### Self-hosted GitHub (Optional) -| **Setting** | **Description** | -|-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| -| **GitHub enterprise URL** | The domain used to access your self-hosted GitHub instance. If you use GitHub Cloud, you can leave this blank. | -| **GitHub enterprise API URL** | The API endpoint for your self-hosted GitHub instance. If you use GitHub Cloud, you can leave this blank. (e.g. `https://[hostname]/api/v3/`) | + +| **Setting** | **Description** | +|-------------|-----------------| +| **GitHub enterprise URL** | The domain used to access your self-hosted GitHub instance. If you use GitHub Cloud, you can leave this blank. | +| **GitHub enterprise API URL** | The API endpoint for your self-hosted GitHub instance. If you use GitHub Cloud, you can leave this blank. (e.g. `https://[hostname]/api/v3/`) | #### App Access -| **Setting** | **Description** | -|-------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| -| **GitHub app ID** | The [GitHub App ID](https://docs.github.com/en/developers/apps/identifying-and-authorizing-users-for-github-apps#authenticating-with-a-github-app). | -| **GitHub app installation ID** | The [GitHub installation ID](https://docs.github.com/en/developers/apps/managing-github-apps/installing-github-apps#installing-a-github-app). | -| **GitHub app private key** | Private key you downloaded after App creation. | +| **Setting** | **Description** | +|-------------|------------------| +| **GitHub app ID** | The [GitHub App ID](https://docs.github.com/en/developers/apps/identifying-and-authorizing-users-for-github-apps#authenticating-with-a-github-app). | +| **GitHub app installation ID** | The [GitHub installation ID](https://docs.github.com/en/developers/apps/managing-github-apps/installing-github-apps#installing-a-github-app). | +| **GitHub app private key** | Private key you downloaded after App creation. | - Once you've entered the necessary configurations, click **Save Changes**. Your ToolJet instance will now be connected to your GitHub repository. \ No newline at end of file +Once you've entered the necessary configurations, click **Save Changes**. Your ToolJet instance will now be connected to your GitHub repository. + +:::note +You can use the same credentials to configure a specific repository across multiple instances or workspaces. +::: \ No newline at end of file diff --git a/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/gitlab-config.md b/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/gitlab-config.md index d83a9c8fbc..ee194a5fec 100644 --- a/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/gitlab-config.md +++ b/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/gitlab-config.md @@ -13,7 +13,7 @@ title: GitLab Configuration -The GitLab configuration for git sync offers a flexible way to connect your ToolJet workspace to a GitLab repository. This setup uses HTTPS instead of the traditional SSH-based method, eliminating the need to manage SSH keys and bypassing SSH port blocks. You can also select and switch repository branches directly within the ToolJet interface. +The GitLab configuration for git sync offers a flexible way to connect your ToolJet workspace to a GitLab repository. This setup uses HTTPS, eliminating the need to manage SSH keys and bypassing SSH port blocks. You can also select and switch repository branches directly within the ToolJet interface. Role Required: **Admin** @@ -68,4 +68,8 @@ The table below describes each configuration values: | **GitLab Project access token** | The [GitLab project token](https://docs.gitlab.com/user/project/settings/project_access_tokens/#create-a-project-access-token). | - Once you've entered the necessary configurations, click **Save Changes**. Your workspace will now be connected to your GitLab project. \ No newline at end of file + Once you've entered the necessary configurations, click **Save Changes**. Your workspace will now be connected to your GitLab project. + +:::note +You can use the same credentials to configure a specific repository across multiple instances or workspaces. +::: \ No newline at end of file diff --git a/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/ssh/gitsync-config.md b/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/ssh/gitsync-config.md index c5854f7a35..1d24f7ba26 100644 --- a/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/ssh/gitsync-config.md +++ b/docs/versioned_docs/version-3.16.0-LTS/development-lifecycle/gitsync/connect-to-git-repo/ssh/gitsync-config.md @@ -12,7 +12,7 @@ title: Configure GitSync Paid feature -In this guide, we will explore how to configure GitSync using GitHub as the repository manager. By default GitSync is configured for the **master** branch, but this can be configured to a different branch as well, refer to **[Configuring GitSync on a Different Branch](#configuring-gitsync-on-a-different-branch)** section for more information. +In this guide, we will explore how to configure GitSync using GitHub as the repository manager. By default GitSync is configured for the **main** branch, but this can be configured to a different branch as well, refer to **[Configuring GitSync on a Different Branch](#configuring-gitsync-on-a-different-branch)** section for more information. For more information on using other repository managers, such as GitLab or Gitea, refer to the **[SSH Configuration for Git Repo Manager](/docs/development-lifecycle/gitsync/connect-to-git-repo/ssh/ssh-config)** guide. @@ -53,53 +53,33 @@ Role Required: **Admin** GitSync -6. Go to the **Settings** tab of the GitHub repository, and click on the **Deploy keys** tab. Click on the **Add deploy key** button. - GitSync +6. Go to the **Settings** tab of the GitHub repository, and click on the **Deploy keys** tab. Click on the **Add deploy key** button. Enter a title for the SSH key in the **Title** field. Paste the SSH key generated from the ToolJet. + GitSync -7. Enter a title for the SSH key in the **Title** field. - -8. Paste the SSH key generated from the ToolJet. - -9. Make sure that the **Allow write access** checkbox is checked, especially when configuring the GitSync feature to [push changes to Git](/docs/development-lifecycle/gitsync/push). However, it is not mandatory to check this option when setting up the GitSync feature for [pulling changes from Git](/docs/development-lifecycle/gitsync/pull). - -10. Finally, click on the **Add key** button. +7. Make sure that the **Allow write access** checkbox is checked, especially when configuring the GitSync feature to [push changes to Git](/docs/development-lifecycle/gitsync/push). However, it is not mandatory to check this option when setting up the GitSync feature for [pulling changes from Git](/docs/development-lifecycle/gitsync/pull). Finally, click on the **Add key** button. GitSync To deploy the SSH key for other git repository manager, such as GitLab and Gitea, follow the **[SSH Configuration](/docs/development-lifecycle/gitsync/connect-to-git-repo/ssh/ssh-config#deploy-the-ssh-key)** guide. -11. After deploying the SSH Key, go to the **Configure git** tab on ToolJet, and click on the **Finalize setup** button. If the SSH key is configured correctly, you will see a success message. +8. After deploying the SSH Key, go to the **Configure git** tab on ToolJet, and click on the **Finalize setup** button. If the SSH key is configured correctly, you will see a success message. GitSync ## Configuring GitSync on a Different Branch ToolJet GitSync allows you to sync your applications with a Git repository to enable version control and team collaboration. By default, GitSync operates on the `main` branch, but in multi-environment setups (like staging, production, or feature development), teams often need to sync with custom branches. ToolJet supports this by allowing you to configure a custom Git branch for syncing. -You can configure the GitSync target branch in two ways: -### Using the ToolJet UI (Recommended) - -ToolJet now supports setting the Git branch directly through the UI when configuring GitSync for a workspace. +ToolJet supports setting the Git branch directly through the UI when configuring GitSync for a workspace. - Youโ€™ll find an optional Target Branch input while setting up GitSync. - - Simply enter the desired branch name (e.g., develop, release/v1, etc.). - - If left empty: - - For new users, the default branch will be **main**. - - For existing users, the default will be master to maintain backward compatibility. This is the preferred way to set the target branch going forward. GitSync -### Using the Environment Variable -ToolJet also supports configuring the target branch using an environment variable. This is configured at the instance level and applies globally to all workspaces with GitSync enabled. The branch specified here must exist in all Git repositories used for GitSync across your workspaces. - -To set this, add the following to your .env file:
-`GITSYNC_TARGET_BRANCH` = **branch-name** - :::note -- Existing GitSync users, who want to use a custom Git branch must first create a new custom branch from the master branch in the Git repository manager. -- If both the UI configuration and the environment variable are set, the environment variable (`GITSYNC_TARGET_BRANCH`) will take precedence over the UI setting. +Existing GitSync users, who want to use a custom Git branch must first create a new custom branch from the main branch in the Git repository manager. ::: \ No newline at end of file diff --git a/docs/versioned_docs/version-3.16.0-LTS/marketplace/marketplace_overview.md b/docs/versioned_docs/version-3.16.0-LTS/marketplace/marketplace_overview.md index 80be0588aa..77276582b6 100644 --- a/docs/versioned_docs/version-3.16.0-LTS/marketplace/marketplace_overview.md +++ b/docs/versioned_docs/version-3.16.0-LTS/marketplace/marketplace_overview.md @@ -55,6 +55,8 @@ To remove a plugin, follow these steps: - On the `Installed` page, click on the `Remove` button of the related plugin that you wish to remove. ## Available Plugins + +- **[AfterShip](/docs/marketplace/plugins/marketplace-plugin-aftership)** - **[Anthropic](/docs/marketplace/plugins/marketplace-plugin-anthropic)** - **[AWS Redshift](/docs/marketplace/plugins/marketplace-plugin-awsredshift)** - **[AWS Textract](/docs/marketplace/plugins/marketplace-plugin-textract)** @@ -68,6 +70,7 @@ To remove a plugin, follow these steps: - **[HarperDB](/docs/marketplace/plugins/marketplace-plugin-harperdb)** - **[Hugging Face](/docs/marketplace/plugins/marketplace-plugin-hugging_face)** - **[Jira](/docs/marketplace/plugins/marketplace-plugin-jira)** +- **[Microsoft Graph](/docs/marketplace/plugins/marketplace-plugin-microsoft_graph)** - **[Mistral AI](/docs/marketplace/plugins/marketplace-plugin-mistral_ai)** - **[OpenAI](/docs/marketplace/plugins/marketplace-plugin-openai)** - **[Pinecone](/docs/marketplace/plugins/marketplace-plugin-pinecone)** diff --git a/docs/versioned_docs/version-3.16.0-LTS/marketplace/plugins/aftership.md b/docs/versioned_docs/version-3.16.0-LTS/marketplace/plugins/aftership.md new file mode 100644 index 0000000000..1a60872a1e --- /dev/null +++ b/docs/versioned_docs/version-3.16.0-LTS/marketplace/plugins/aftership.md @@ -0,0 +1,185 @@ +--- +id: marketplace-plugin-aftership +title: AfterShip +--- + +Integrating AfterShip with ToolJet enables teams to build custom internal tools for tracking and managing shipments in real time. With this integration, you can fetch delivery statuses, monitor carrier updates, and centralize logistics data within your ToolJet application, streamlining operations and improving customer support efficiency. + +## Connection + +To connect AfterShip with ToolJet you will need the API Key, which you can generate from [Aftership Tracking API](https://www.aftership.com/tracking-api). + +Aftership Configuration + +## Supported Operations + +### Tracking + +#### Basic Tracking Operations + +| Method | Endpoint | Description | +| ------ | ------------ | --------------------------- | +| GET | `/trackings` | Retrieve list of trackings. | +| POST | `/trackings` | Create a new tracking. | +| GET | `/couriers` | Get supported courier list. | + +#### ID + +| Method | Endpoint | Description | +| ------ | ----------------------------------- | ---------------------------- | +| GET | `/trackings/{id}` | Get tracking by ID. | +| PUT | `/trackings/{id}` | Update tracking by ID. | +| DELETE | `/trackings/{id}` | Delete tracking by ID. | +| POST | `/trackings/{id}/retrack` | Retrack an expired tracking. | +| POST | `/trackings/{id}/mark-as-completed` | Mark tracking as completed. | + +#### Detect + +| Method | Endpoint | Description | +| ------ | ------------------ | ---------------------------------- | +| POST | `/couriers/detect` | Detect courier by tracking number. | + +#### All + +| Method | Endpoint | Description | +| ------ | ------------------ | ---------------------------------- | +| GET | `/couriers/all` | Get all available couriers. | + +#### Predict Batch + +| Method | Endpoint | Description | +| ------ | ---------------------------------------- | ------------------------------------- | +| POST | `/estimated-delivery-date/predict-batch` | Predict estimated delivery for batch. | + +### Shipping + +#### Labels + +| Method | Endpoint | Description | +| ------ | -------------- | ----------------- | +| GET | `/labels` | Get labels | +| POST | `/labels` | Create a label | +| GET | `/labels/{id}` | Get a label by ID | + +#### Cancel Labels + +| Method | Endpoint | Description | +| ------ | --------------------- | --------------------------- | +| GET | `/cancel-labels` | Get the cancelled labels | +| POST | `/cancel-labels` | Cancel a label | +| GET | `/cancel-labels/{id}` | Get a cancelled label by ID | + +#### Rates + +| Method | Endpoint | Description | +| ------ | ------------- | ---------------- | +| GET | `/rates` | Get rates | +| POST | `/rates` | Calculate rates | +| GET | `/rates/{id}` | Get a rate by ID | + +#### Manifests + +| Method | Endpoint | Description | +| ------ | ----------------- | -------------------- | +| GET | `/manifests` | Get manifests | +| POST | `/manifests` | Create a manifest | +| GET | `/manifests/{id}` | Get a manifest by ID | + +#### Couriers + +| Method | Endpoint | Description | +| ------ | ----------- | ---------------- | +| GET | `/couriers` | Get all couriers | + +#### Address Validations + +| Method | Endpoint | Description | +| ------ | ---------------------- | ---------------------------- | +| POST | `/address-validations` | Create an address validation | + +#### Location + +| Method | Endpoint | Description | +| ------ | ------------ | ------------------------------------------- | +| GET | `/locations` | Get carrier locations (requires production) | + +#### Pickup + +| Method | Endpoint | Description | +| ------ | --------------- | ---------------------------------------------------- | +| GET | `/pickups` | Get pickups | +| POST | `/pickups` | Create a pickup (FedEx, UPS, DHL Express, Purolator) | +| GET | `/pickups/{id}` | Get a pickup by ID | + +#### Cancel Pickups + +| Method | Endpoint | Description | +| ------ | ---------------------- | ---------------------------- | +| GET | `/cancel-pickups` | Get the cancelled pickups | +| POST | `/cancel-pickups` | Cancel a pickup | +| GET | `/cancel-pickups/{id}` | Get a cancelled pickup by ID | + +#### Shipper Accounts + +| Method | Endpoint | Description | +| ------ | ------------------------------------ | ----------------------------------------- | +| GET | `/shipper-accounts` | Get shipper accounts | +| POST | `/shipper-accounts` | Create a shipper account | +| GET | `/shipper-accounts/{id}` | Get a shipper account by ID | +| DELETE | `/shipper-accounts/{id}` | Delete a shipper account | +| PUT | `/shipper-accounts/{id}/info` | Update shipper account's information | +| PUT | `/shipper-accounts/{id}/credentials` | Update shipper account's credentials | +| PUT | `/shipper-accounts/{id}/settings` | Update shipper account's settings (FedEx) | + +### Return + +#### Returns Management + +| Method | Endpoint | Description | +| ------ | --------------------------- | -------------------------------------------- | +| GET | `/returns` | Get returns with optional filtering | +| POST | `/returns` | Create a new return (supports only "Refund") | +| GET | `/returns/{return_id}` | Get return detail by return ID | +| GET | `/returns/rma/{rma_number}` | Get return detail by RMA number | + +#### Return Status Management + +| Method | Endpoint | Description | +| ------ | ----------------------------------- | ---------------------------- | +| POST | `/returns/{return_id}/approve` | Approve return by return ID | +| POST | `/returns/rma/{rma_number}/approve` | Approve return by RMA number | +| POST | `/returns/{return_id}/resolve` | Resolve return by return ID | +| POST | `/returns/rma/{rma_number}/resolve` | Resolve return by RMA number | +| POST | `/returns/{return_id}/reject` | Reject return by return ID | +| POST | `/returns/rma/{rma_number}/reject` | Reject return by RMA number | + +#### Item Management + +| Method | Endpoint | Description | +| ------ | ------------------------------------------- | ---------------------------------------------- | +| POST | `/returns/{return_id}/receive-items` | Record received items by return ID | +| POST | `/returns/rma/{rma_number}/receive-items` | Record received items by RMA number | +| PUT | `/returns/{return_id}/items/{item_id}` | Update return item (tags/images) by return ID | +| PUT | `/returns/rma/{rma_number}/items/{item_id}` | Update return item (tags/images) by RMA number | +| POST | `/returns/{return_id}/remove-items` | Remove items from return by return ID | +| POST | `/returns/rma/{rma_number}/remove-items` | Remove items from return by RMA number | + +#### Shipping Management + +| Method | Endpoint | Description | +| ------ | -------------------------------------------- | ---------------------------------- | +| POST | `/returns/{return_id}/attach-shipments` | Upload shipment info by return ID | +| POST | `/returns/rma/{rma_number}/attach-shipments` | Upload shipment info by RMA number | + +#### Dropoff Management + +| Method | Endpoint | Description | +| ------ | ------------------------------------------------------- | -------------------------------------- | +| POST | `/returns/rma/{rma_number}/dropoffs/{dropoff_id}/drops` | Record dropped-off items (QR dropoffs) | + +#### Utility Endpoints + +| Method | Endpoint | Description | +| ------ | --------------- | ---------------------------------------------------- | +| POST | `/returns/link` | Generate returns page deep link with pre-filled info | +| GET | `/item-tags` | Retrieve all available item tags | diff --git a/docs/versioned_docs/version-3.16.0-LTS/marketplace/plugins/microsoft-graph.md b/docs/versioned_docs/version-3.16.0-LTS/marketplace/plugins/microsoft-graph.md new file mode 100644 index 0000000000..415c22623b --- /dev/null +++ b/docs/versioned_docs/version-3.16.0-LTS/marketplace/plugins/microsoft-graph.md @@ -0,0 +1,231 @@ +--- +id: marketplace-plugin-microsoft_graph +title: Microsoft Graph +--- + +By integrating Microsoft Graph with ToolJet, you can interact with Microsoft 365 services such as Outlook Mail, Calendar, Users, and OneDrive. + +## Connection + +To connect ToolJet with Microsoft Graph, youโ€™ll need the following credentials: + +- Tenant +- Access token URL +- Client ID +- Client secret + +Follow this [Microsoft guide](https://learn.microsoft.com/en-us/graph/auth-register-app-v2) to register an app and generate the required credentials. + +You can enable the **Authentication required for all users** toggle in the configuration panel. When enabled, each user will be redirected to the OAuth consent screen the first time a query from this data source is triggered in your application. This ensures that every user connects with their own Microsoft account securely. + +**Note**: After completing the OAuth flow, the query must be triggered again to fetch data from Microsoft Graph. + +Microsoft Graph Configuration + +## Supported Operations + +### Outlook + +#### Messages + +| Method | Endpoint | Description | +| ------ | ------------------------------------------ | ------------------------------------ | +| GET | `/me/messages` | List messages in the user's mailbox. | +| POST | `/me/messages` | Create a new draft message. | +| GET | `/me/messages/{message-id}` | Get a specific message by ID. | +| PATCH | `/me/messages/{message-id}` | Update a message. | +| DELETE | `/me/messages/{message-id}` | Delete a message. | +| POST | `/me/messages/{message-id}/forward` | Forward an existing message. | +| POST | `/me/messages/{message-id}/createForward` | Create a forward draft. | +| POST | `/me/messages/{message-id}/reply` | Reply to a message. | +| POST | `/me/messages/{message-id}/createReply` | Create a reply draft. | +| POST | `/me/messages/{message-id}/replyAll` | Reply all to a message. | +| POST | `/me/messages/{message-id}/createReplyAll` | Create a reply-all draft. | +| POST | `/me/messages/{message-id}/send` | Send a draft message. | +| POST | `/me/messages/{message-id}/move` | Move a message. | +| POST | `/me/messages/{message-id}/copy` | Copy a message. | +| POST | `/me/sendMail` | Send mail without creating a draft. | + +#### Mail Folders + +| Method | Endpoint | Description | +| ------ | ------------------------------------------------ | ------------------------------------- | +| GET | `/me/mailFolders` | List mail folders. | +| POST | `/me/mailFolders` | Create a mail folder. | +| GET | `/me/mailFolders/{mailFolder-id}` | Get specific mail folder. | +| PATCH | `/me/mailFolders/{mailFolder-id}` | Update a mail folder. | +| DELETE | `/me/mailFolders/{mailFolder-id}` | Delete a mail folder. | +| GET | `/me/mailFolders/{mailFolder-id}/messages` | List messages inside a folder. | +| GET | `/me/mailFolders/Inbox/messages/delta` | Track changes to inbox messages. | +| GET | `/me/mailFolders/{mailFolder-id}/messages/delta` | Track changes to a folder's messages. | +| GET | `/me/mailFolders/delta` | Track changes to all folders. | + +#### Categories and Rooms + +| Method | API Endpoint | Description | +| ------ | --------------------------------------------------- | ----------------------- | +| GET | `/me/outlook/masterCategories` | List master categories | +| POST | `/me/outlook/masterCategories` | Create a new category | +| GET | `/me/outlook/masterCategories/{outlookCategory-id}` | Get a specific category | +| PATCH | `/me/outlook/masterCategories/{outlookCategory-id}` | Update a category | +| DELETE | `/me/outlook/masterCategories/{outlookCategory-id}` | Delete a category | +| GET | `/me/findRooms` | List available rooms | +| GET | `/me/findRooms(RoomList='{roomList-emailAddress}')` | Find rooms by room list | +| GET | `/me/findRoomLists` | List room lists | + +### Calendar + +#### Default Calendar + +| Method | API Endpoint | Description | +| ------ | ------------------------------------------------- | ------------------------------------- | +| GET | `/me/calendar` | Get default calendar | +| PATCH | `/me/calendar` | Update default calendar | +| GET | `/me/calendar/events` | List events from default calendar | +| POST | `/me/calendar/events` | Create an event in default calendar | +| GET | `/me/calendar/calendarPermissions` | List calendar permissions | +| POST | `/me/calendar/calendarPermissions` | Grant permissions to default calendar | +| GET | `/me/calendar/calendarPermissions/{permissionId}` | Get specific calendar permission | +| PATCH | `/me/calendar/calendarPermissions/{permissionId}` | Update calendar permission | +| DELETE | `/me/calendar/calendarPermissions/{permissionId}` | Delete calendar permission | +| POST | `/me/calendar/getSchedule` | Get free/busy schedule info | + +#### User Calendars and Groups + +| Method | API Endpoint | Description | +| ------ | ---------------------------------------- | --------------------------------------- | +| GET | `/user/{userId}/calendar` | Get default calendar of a specific user | +| GET | `/me/calendars` | List user calendars | +| POST | `/me/calendars` | Create a new calendar | +| GET | `/me/calendars/{calendarId}` | Get a specific calendar | +| PATCH | `/me/calendars/{calendarId}` | Update a calendar | +| DELETE | `/me/calendars/{calendarId}` | Delete a calendar | +| GET | `/me/calendars/{calendarId}/events` | List events in a specific calendar | +| POST | `/me/calendars/{calendarId}/events` | Create event in a specific calendar | +| GET | `/me/calendarGroups` | List calendar groups | +| POST | `/me/calendarGroups` | Create a calendar group | +| GET | `/me/calendarGroups/{groupId}/calendars` | Get calendars in a group | +| POST | `/me/calendarGroups/{groupId}/calendars` | Add calendar to a group | + +#### Events + +| Method | API Endpoint | Description | +| ------ | ---------------------------------- | ----------------------------------- | +| GET | `/me/events/{eventId}` | Get an event by ID | +| PATCH | `/me/events/{eventId}` | Update an event | +| DELETE | `/me/events/{eventId}` | Delete an event | +| GET | `/me/events/{eventId}/instances` | List instances of a recurring event | +| GET | `/me/events/{eventId}/attachments` | List attachments of an event | +| POST | `/me/events/{eventId}/attachments` | Add attachments to an event | +| GET | `/me/calendarView` | Get calendar view of events | +| POST | `/me/findMeetingTimes` | Find meeting times | + +### Users + +#### User Management + +| Method | API Endpoint | Description | +| ------ | ------------------ | ---------------------- | +| GET | `/users` | List all users | +| POST | `/users` | Create a user | +| GET | `/users/{user-id}` | Get a specific user | +| PATCH | `/users/{user-id}` | Update a specific user | +| DELETE | `/users/{user-id}` | Delete a specific user | + +#### Profile + +| Method | API Endpoint | Description | +| ------ | ------------ | -------------------------------- | +| GET | `/me` | Get profile of signed-in user | +| PATCH | `/me` | Update profile of signed-in user | + +### Teams + +#### Teams and Chats + +| Method | API Endpoint | Description | +| ------ | ----------------- | ------------------------------ | +| GET | `/teams` | List teams | +| POST | `/teams` | Create a team | +| GET | `/chats` | List chats | +| POST | `/chats` | Create a chat | +| GET | `/me/joinedTeams` | List teams the user has joined | + +#### Chat Operations + +| Method | API Endpoint | Description | +| ------ | -------------------------------------------------- | -------------------------------- | +| GET | `/chats/{chat-id}` | Get a chat | +| PATCH | `/chats/{chat-id}` | Update a chat | +| DELETE | `/chats/{chat-id}` | Delete a chat | +| GET | `/chats/{chat-id}/members` | List members in a chat | +| POST | `/chats/{chat-id}/members` | Add members to a chat | +| POST | `/chats/{chat-id}/members/add` | Add members (alternate endpoint) | +| GET | `/chats/{chat-id}/members/{conversationMember-id}` | Get chat member details | +| PATCH | `/chats/{chat-id}/members/{conversationMember-id}` | Update chat member | +| DELETE | `/chats/{chat-id}/members/{conversationMember-id}` | Remove chat member | +| GET | `/chats/{chat-id}/messages` | List messages in a chat | +| POST | `/chats/{chat-id}/messages` | Send message in a chat | +| GET | `/chats/{chat-id}/messages/{chatMessage-id}` | Get a specific chat message | +| PATCH | `/chats/{chat-id}/messages/{chatMessage-id}` | Update a chat message | +| DELETE | `/chats/{chat-id}/messages/{chatMessage-id}` | Delete a chat message | +| GET | `/chats/getAllMessages` | Get all messages across chats | + +#### Team Operation + +| Method | API Endpoint | Description | +| ------ | ------------------------------ | -------------------------------- | +| GET | `/teams/{team-id}` | Get a team | +| PATCH | `/teams/{team-id}` | Update a team | +| DELETE | `/teams/{team-id}` | Delete a team | +| POST | `/teams/{team-id}/archive` | Archive a team | +| POST | `/teams/{team-id}/unarchive` | Unarchive a team | +| GET | `/teams/{team-id}/members` | List team members | +| POST | `/teams/{team-id}/members` | Add team members | +| POST | `/teams/{team-id}/members/add` | Add members (alternate endpoint) | + +#### Channels and Messages + +| Method | API Endpoint | Description | +| ------ | ------------------------------------------------------------------ | --------------------------------------- | +| GET | `/teams/{team-id}/allChannels` | List all channels in a team | +| GET | `/teams/{team-id}/channels` | List standard channels in a team | +| POST | `/teams/{team-id}/channels` | Create a channel in a team | +| GET | `/teams/{team-id}/channels/{channel-id}` | Get channel details | +| PATCH | `/teams/{team-id}/channels/{channel-id}` | Update a channel | +| DELETE | `/teams/{team-id}/channels/{channel-id}` | Delete a channel | +| GET | `/teams/{team-id}/channels/{channel-id}/members` | List members in a channel | +| POST | `/teams/{team-id}/channels/{channel-id}/members` | Add members to a channel | +| GET | `/teams/{team-id}/channels/{channel-id}/messages` | List messages in a channel | +| POST | `/teams/{team-id}/channels/{channel-id}/messages` | Send message in a channel | +| GET | `/teams/{team-id}/channels/{channel-id}/messages/{chatMessage-id}` | Get a specific channel message | +| PATCH | `/teams/{team-id}/channels/{channel-id}/messages/{chatMessage-id}` | Update a channel message | +| DELETE | `/teams/{team-id}/channels/{channel-id}/messages/{chatMessage-id}` | Delete a channel message | +| GET | `/teams/{team-id}/allChannels/{channel-id}` | Get specific channel under all channels | + +### OneDrive + +#### Root and Shared Content + +| Method | API Endpoint | Description | +| ------ | ------------------------------------------- | ----------------------------------- | +| GET | `/me/drive/root/children` | List items in root folder | +| POST | `/me/drive/root/children` | Create a new file or folder in root | +| GET | `/me/drive/recent` | List recent files | +| GET | `/me/drive/sharedWithMe` | List files shared with the user | +| GET | `/me/drive/root/search(q='{search-query}')` | Search files by query | + +#### Specific Drives and Items + +| Method | API Endpoint | Description | +| ------ | ------------------------------------------------ | ------------------------------------- | +| GET | `/drives/{drive-id}/root/children` | List items in a specific drive's root | +| GET | `/drives/{drive-id}/items/{item-id}/children` | List children of a folder | +| POST | `/drives/{drive-id}/items/{item-id}/children` | Add item to folder | +| GET | `/drives/{drive-id}/items/{item-id}` | Get metadata for an item | +| PATCH | `/drives/{drive-id}/items/{item-id}` | Update metadata of an item | +| DELETE | `/drives/{drive-id}/items/{item-id}` | Delete an item | +| GET | `/drives/{drive-id}/items/{item-id}/content` | Download file content | +| PUT | `/drives/{drive-id}/items/{item-id}/content` | Upload file content | +| POST | `/drives/{drive-id}/items/{item-id}/createLink` | Create sharing link | +| GET | `/drives/{drive-id}/items/{item-id}/permissions` | Get item permissions | diff --git a/docs/versioned_docs/version-3.16.0-LTS/setup/ami.md b/docs/versioned_docs/version-3.16.0-LTS/setup/ami.md index 0ffaddc88a..77adf42d00 100644 --- a/docs/versioned_docs/version-3.16.0-LTS/setup/ami.md +++ b/docs/versioned_docs/version-3.16.0-LTS/setup/ami.md @@ -22,7 +22,7 @@ Follow the steps below to deploy ToolJet on AWS AMI instances. 1. Setup a PostgreSQL database and make sure that the database is accessible from the EC2 instance. 2. Login to your AWS management console and go to the EC2 management page. 3. Under the **Images** section, click on the **AMIs** button. -4. Find the [ToolJet version](https://github.com/ToolJet/ToolJet/releases) you want to deploy. Now, from the AMI search page, select the search type as "Public Images" and input the version you'd want `AMI Name : tooljet_vX.X.X.ubuntu-jammy` in the search bar. +4. Find the [ToolJet version](https://github.com/ToolJet/ToolJet/releases) you want to deploy. Now, from the AMI search page, select the search type as "Public Images" and input the version you'd want `AMI Name : tooljet_vX.X.X.ubuntu_jammy` in the search bar. 5. Select ToolJet's AMI and bootup an EC2 instance.
Creating a new security group is recommended. For example, if the installation should receive traffic from the internet, the inbound rules of the security group should look like this: @@ -57,19 +57,19 @@ Follow the steps below to deploy ToolJet on AWS AMI instances. If there are self signed HTTPS endpoints that ToolJet needs to connect to, please make sure that `NODE_EXTRA_CA_CERTS` environment variable is set to the absolute path containing the certificates. ::: -8. `TOOLJET_DB_HOST` environment variable determines where you can access the ToolJet client. It can either be the public ipv4 address of your instance or a custom domain that you want to use. +8. `TOOLJET_HOST` environment variable determines where you can access the ToolJet client. It can either be the public ipv4 address of your instance or a custom domain that you want to use. Examples: - `TOOLJET_DB_HOST=http://12.34.56.78` or - `TOOLJET_DB_HOST=https://yourdomain.com` or - `TOOLJET_DB_HOST=https://tooljet.yourdomain.com` + `TOOLJET_HOST=http://12.34.56.78` or + `TOOLJET_HOST=https://yourdomain.com` or + `TOOLJET_HOST=https://tooljet.yourdomain.com` :::info We use a [lets encrypt](https://letsencrypt.org/) plugin on top of nginx to create TLS certificates on the fly. ::: :::info - Please make sure that `TOOLJET_DB_HOST` starts with either `http://` or `https://` + Please make sure that `TOOLJET_HOST` starts with either `http://` or `https://` ::: 9. Once you've configured the `.env` file, run `./setup_app`. This script will install all the dependencies of ToolJet and then will start the required services. diff --git a/docs/versioned_docs/version-3.5.0-LTS/marketplace/marketplace_overview.md b/docs/versioned_docs/version-3.5.0-LTS/marketplace/marketplace_overview.md index d911dc2d2e..385888a333 100644 --- a/docs/versioned_docs/version-3.5.0-LTS/marketplace/marketplace_overview.md +++ b/docs/versioned_docs/version-3.5.0-LTS/marketplace/marketplace_overview.md @@ -55,6 +55,7 @@ To remove a plugin, follow these steps: - On the `Installed` page, click on the `Remove` button of the related plugin that you wish to remove. ## Available Plugins + - **[Anthropic](/docs/marketplace/plugins/marketplace-plugin-anthropic)** - **[AWS Redshift](/docs/marketplace/plugins/marketplace-plugin-awsredshift)** - **[AWS Textract](/docs/marketplace/plugins/marketplace-plugin-textract)** diff --git a/docs/versioned_docs/version-3.5.0-LTS/setup/ami.md b/docs/versioned_docs/version-3.5.0-LTS/setup/ami.md index a7f5894a3d..ca70c4c551 100644 --- a/docs/versioned_docs/version-3.5.0-LTS/setup/ami.md +++ b/docs/versioned_docs/version-3.5.0-LTS/setup/ami.md @@ -61,19 +61,19 @@ Follow the steps below to deploy ToolJet on AWS AMI instances. If there are self signed HTTPS endpoints that ToolJet needs to connect to, please make sure that `NODE_EXTRA_CA_CERTS` environment variable is set to the absolute path containing the certificates. ::: -8. `TOOLJET_DB_HOST` environment variable determines where you can access the ToolJet client. It can either be the public ipv4 address of your instance or a custom domain that you want to use. +8. `TOOLJET_HOST` environment variable determines where you can access the ToolJet client. It can either be the public ipv4 address of your instance or a custom domain that you want to use. Examples: - `TOOLJET_DB_HOST=http://12.34.56.78` or - `TOOLJET_DB_HOST=https://yourdomain.com` or - `TOOLJET_DB_HOST=https://tooljet.yourdomain.com` + `TOOLJET_HOST=http://12.34.56.78` or + `TOOLJET_HOST=https://yourdomain.com` or + `TOOLJET_HOST=https://tooljet.yourdomain.com` :::info We use a [lets encrypt](https://letsencrypt.org/) plugin on top of nginx to create TLS certificates on the fly. ::: :::info - Please make sure that `TOOLJET_DB_HOST` starts with either `http://` or `https://` + Please make sure that `TOOLJET_HOST` starts with either `http://` or `https://` ::: 9. Once you've configured the `.env` file, run `./setup_app`. This script will install all the dependencies of ToolJet and then will start the required services. diff --git a/docs/versioned_sidebars/version-3.16.0-LTS-sidebars.json b/docs/versioned_sidebars/version-3.16.0-LTS-sidebars.json index 5055ef20d3..dda1892393 100644 --- a/docs/versioned_sidebars/version-3.16.0-LTS-sidebars.json +++ b/docs/versioned_sidebars/version-3.16.0-LTS-sidebars.json @@ -428,7 +428,9 @@ "marketplace/plugins/marketplace-plugin-azurerepos", "marketplace/plugins/marketplace-plugin-googlecalendar", "marketplace/plugins/marketplace-plugin-ups", - "marketplace/plugins/marketplace-plugin-spanner" + "marketplace/plugins/marketplace-plugin-spanner", + "marketplace/plugins/marketplace-plugin-aftership", + "marketplace/plugins/marketplace-plugin-microsoft_graph" ] } ]