diff --git a/.github/workflows/issues-jira.yml b/.github/workflows/issues-jira.yml
deleted file mode 100644
index 5f65d0b6..00000000
--- a/.github/workflows/issues-jira.yml
+++ /dev/null
@@ -1,118 +0,0 @@
-name: Create Jira Ticket for Github Issue
-
-on:
- issues:
- types: [opened, reopened]
-
-jobs:
- issue-jira:
- runs-on: ubuntu-latest
- steps:
- - name: Create Jira Issue
- id: create_jira
- uses: actions/github-script@v9
- with:
- script: |
- const baseUrl = process.env.JIRA_BASE_URL;
- const userEmail = process.env.JIRA_USER_EMAIL;
- const jiraToken = process.env.JIRA_API_TOKEN;
- const jiraProject = process.env.JIRA_PROJECT;
- const jiraIssueType = process.env.JIRA_ISSUE_TYPE;
- const jiraFields = JSON.parse(process.env.ISSUES_JIRA_FIELDS);
-
- let requestBody = JSON.stringify({
- fields: {
- ...jiraFields,
- "project": {
- "key": jiraProject
- },
- "issuetype": {
- "name": jiraIssueType
- },
- "summary": "Github | Issue | ${{ github.event.repository.name }} | ${{ github.event.issue.title }}",
- "description": {
- "version": 1,
- "type": "doc",
- "content": [
- {
- "type": "paragraph",
- "content": [
- {
- "type": "text",
- "text": "Github Issue",
- "marks": [
- {
- "type": "strong"
- }
- ]
- },
- {
- "type": "text",
- "text": ": "
- },
- {
- "type": "text",
- "text": "${{ github.event.issue.html_url }}",
- "marks": [
- {
- "type": "link",
- "attrs": {
- "href": "${{ github.event.issue.html_url }}"
- }
- }
- ]
- }
- ]
- },
- {
- "type": "paragraph",
- "content": [
- {
- "type": "text",
- "text": "Description",
- "marks": [
- {
- "type": "strong"
- }
- ]
- },
- {
- "type": "text",
- "text": ":"
- }
- ]
- },
- {
- "type": "codeBlock",
- "content": [
- {
- "type": "text",
- "text": `${{ github.event.issue.body }}`
- }
- ]
- }
- ]
- }
- }
- });
-
- const response = await fetch(`${baseUrl}/rest/api/3/issue`, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- 'Authorization': `Basic ${btoa(userEmail + ":" + jiraToken)}`
- },
- body: requestBody
- });
- if (!response.ok) {
- throw new Error(`JIRA API error! Status: ${response.status}`);
- }
- const data = await response.json();
- console.log('Jira Issue Created:', data.key);
- env:
- JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
- JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
- JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
- JIRA_PROJECT: ${{ secrets.JIRA_PROJECT }}
- JIRA_ISSUE_TYPE: ${{ secrets.JIRA_ISSUE_TYPE }}
- ISSUES_JIRA_FIELDS: "${{ secrets.ISSUES_JIRA_FIELDS }}"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ccd5d729..0f4790fe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
# CHANGELOG
+## v2.7.2
+
+### Jul 06, 2026
+- Snyk fixes
+
## v2.7.1
### Jun 29, 2026
diff --git a/pom.xml b/pom.xml
index dc3bce26..3345de94 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
com.contentstack.sdk
java
- 2.7.1
+ 2.7.2
jar
contentstack-java
Java SDK for Contentstack Content Delivery API
@@ -24,7 +24,7 @@
3.0.0
5.3.2
0.8.5
- 1.18.42
+ 1.18.44
5.11.4
5.8.0-M1
2.8.8
@@ -33,7 +33,7 @@
1.5
3.8.1
1.6.13
- 20251224
+ 20260522
0.8.11
2.5.3
1.5.1
@@ -178,11 +178,6 @@
-
- com.fasterxml.jackson.core
- jackson-databind
- 2.21.4
-
com.slack.api
bolt
diff --git a/src/main/java/com/contentstack/sdk/CSHttpConnection.java b/src/main/java/com/contentstack/sdk/CSHttpConnection.java
index 5d5e3549..bada7e46 100644
--- a/src/main/java/com/contentstack/sdk/CSHttpConnection.java
+++ b/src/main/java/com/contentstack/sdk/CSHttpConnection.java
@@ -1,13 +1,12 @@
package com.contentstack.sdk;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.json.JsonMapper;
-import com.fasterxml.jackson.databind.type.MapType;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.SocketTimeoutException;
import java.net.URLEncoder;
+import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -201,6 +200,41 @@ private JSONObject createOrderedJSONObject(Map map) {
return json;
}
+ /**
+ * Recursively converts a parsed {@link JSONObject} into plain Java collections that
+ * mirror what the response models expect: JSON objects become {@link LinkedHashMap}
+ * (preserving key order) and JSON arrays become {@link ArrayList}.
+ */
+ private static Map jsonToOrderedMap(JSONObject object) {
+ LinkedHashMap map = new LinkedHashMap<>();
+ for (String key : object.keySet()) {
+ map.put(key, convertJsonValue(object.get(key)));
+ }
+ return map;
+ }
+
+ private static Object convertJsonValue(Object value) {
+ if (value == null || value == JSONObject.NULL) {
+ return null;
+ }
+ if (value instanceof JSONObject) {
+ return jsonToOrderedMap((JSONObject) value);
+ }
+ if (value instanceof JSONArray) {
+ JSONArray array = (JSONArray) value;
+ ArrayList