Skip to content

Commit 50ba9a3

Browse files
Integration branch (#25)
* GA Changes GA * GA changes 1.0.11 * code changes for encryption and decryption of access_token * code changes for encryption and decryption of access_token * code changes for encryption and decryption of access_token * updated scan summary name and update set * change log level to basic * Update Update_Set_GA_1.0.11.xml * Added Update set From Vendor Instance * Added changes for CxOne release 1.0.14 (#19) * CheckmarxOne Devops changes * CxOne 1.0.18 changes * Rename UpdateSet_GA.xml to UpdateSet_GA_1.0.18.xml * Cx_One_1.0.19 Features (#24) * Cx_One_1.0.19 Features * Updated resultHash in AVITID * Updated Update set * Updated update set and code changes --------- Co-authored-by: Nidhi Jaiswal <[email protected]> Co-authored-by: Nidhi Jaiswal <[email protected]>
1 parent 08e4b1c commit 50ba9a3

9 files changed

+36922
-170
lines changed

Diff for: Scripts/CheckmarxOneAppListIntegration_sys_script_include_f60f0ee047131110328ca368436d43ba.xml

+19-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<unload unload_date="2024-02-05 11:24:07">
2+
<unload unload_date="2024-02-14 13:27:23">
33
<sys_script_include action="INSERT_OR_UPDATE">
44
<access>public</access>
55
<active>true</active>
@@ -65,26 +65,36 @@ CheckmarxOneAppListIntegration.prototype = Object.extendsObject(sn_vul.Applicati
6565
var response = this.UTIL.getNextProjectList(this.IMPLEMENTATION, newoffset);
6666
var groups = '';
6767
var groupval = ' ';
68+
var isPrimaryBranchEnabled = this.UTIL._getConfig(this.IMPLEMENTATION).sync_only_primary_branch.toString();
6869
for (var item in response.projects) {
6970
var projectTags = this._getProjectTags(JSON.stringify(response.projects[item].tags));
7071
var applicationIds = '';
72+
var primaryBranch = '';
73+
var isProjectAllowed = 'true';
7174
groups = +response.projects[item].groups.toString();
7275
var projectResponse = this.UTIL.getProjectById(this.IMPLEMENTATION, response.projects[item].id);
7376
if (null != projectResponse.applicationIds && projectResponse.applicationIds.length > 0)
74-
applicationIds = projectResponse.applicationIds.toString(); {
77+
applicationIds = projectResponse.applicationIds.toString();
78+
if (null != projectResponse.mainBranch && projectResponse.mainBranch.length > 0)
79+
primaryBranch = projectResponse.mainBranch.toString();
80+
if (isPrimaryBranchEnabled == 'true' && (primaryBranch == null || primaryBranch == ''))
81+
isProjectAllowed = 'false';
82+
if (isProjectAllowed == 'true') {
7583
if (groups == 0) {
7684
appListAll += '<project id="' + response.projects[item].id +
7785
'" createdAt="' + response.projects[item].createdAt +
7886
'" applicationIds="' + applicationIds +
79-
'" groups="' + groupval + '"><projectTags><' +
87+
'" groups="' + groupval + '"><primaryBranch><' +
88+
'![CDATA[' + primaryBranch + ']]' + '></primaryBranch><projectTags><' +
8089
'![CDATA[' + projectTags + ']]' + '></projectTags><name><' +
8190
'![CDATA[' + response.projects[item].name + ']]' + '></name></project>';
8291
8392
} else {
8493
appListAll += '<project id="' + response.projects[item].id +
8594
'" createdAt="' + response.projects[item].createdAt +
8695
'" applicationIds="' + applicationIds +
87-
'" groups="' + response.projects[item].groups.toString() + '"><projectTags><' +
96+
'" groups="' + response.projects[item].groups.toString() + '"><primaryBranch><' +
97+
'![CDATA[' + primaryBranch + ']]' + '></primaryBranch><projectTags><' +
8898
'![CDATA[' + projectTags + ']]' + '></projectTags><name><' +
8999
'![CDATA[' + response.projects[item].name + ']]' + '></name></project>';
90100
}
@@ -123,12 +133,14 @@ CheckmarxOneAppListIntegration.prototype = Object.extendsObject(sn_vul.Applicati
123133
} else {
124134
this.LATEST = new GlideDateTime();
125135
var offsetId;
136+
var filteredCount;
126137
var list_projects = this.UTIL.getConfigProjectList(this.IMPLEMENTATION);
127138
if (list_projects && list_projects.length > 0) {
128139
offsetId = '0';
140+
filteredCount = '' + list_projects.length;
129141
} else {
130142
var projectJSON = this.UTIL.getNewProjectList(this.IMPLEMENTATION);
131-
var filteredCount = projectJSON.filteredTotalCount;
143+
filteredCount = projectJSON.filteredTotalCount;
132144
var totalCount = projectJSON.totalCount;
133145
if (filteredCount !== "undefined") {
134146
offsetId = this._getoffsets(filteredCount, totalCount);
@@ -212,13 +224,13 @@ CheckmarxOneAppListIntegration.prototype = Object.extendsObject(sn_vul.Applicati
212224
<sys_created_by>admin</sys_created_by>
213225
<sys_created_on>2022-11-18 05:11:38</sys_created_on>
214226
<sys_id>f60f0ee047131110328ca368436d43ba</sys_id>
215-
<sys_mod_count>173</sys_mod_count>
227+
<sys_mod_count>179</sys_mod_count>
216228
<sys_name>CheckmarxOneAppListIntegration</sys_name>
217229
<sys_package display_value="Checkmarx One Vulnerability Integration" source="x_chec3_chexone">3d20e92d47471110328ca368436d436a</sys_package>
218230
<sys_policy/>
219231
<sys_scope display_value="Checkmarx One Vulnerability Integration">3d20e92d47471110328ca368436d436a</sys_scope>
220232
<sys_update_name>sys_script_include_f60f0ee047131110328ca368436d43ba</sys_update_name>
221233
<sys_updated_by>admin</sys_updated_by>
222-
<sys_updated_on>2024-01-05 14:48:25</sys_updated_on>
234+
<sys_updated_on>2024-02-08 16:03:48</sys_updated_on>
223235
</sys_script_include>
224236
</unload>

Diff for: Scripts/CheckmarxOneAppListProcessor_sys_script_include_716c87ad471f1110328ca368436d438a.xml

+29-26
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<unload unload_date="2024-02-05 11:24:12">
2+
<unload unload_date="2024-02-14 13:27:27">
33
<sys_script_include action="INSERT_OR_UPDATE">
44
<access>public</access>
55
<active>true</active>
@@ -41,42 +41,45 @@ CheckmarxOneAppListProcessor.prototype = Object.extendsObject(sn_vul.Application
4141
var attributes = appNode.getAttributes();
4242
var applicationId = '';
4343
var appId;
44-
var projectTags = '';
45-
46-
var childIter = appNode.getChildNodeIterator();
44+
var projectTags = '';
45+
var primaryBranch = '';
46+
var infoObj = {};
47+
48+
var childIter = appNode.getChildNodeIterator();
49+
var projectTagsFlag = 'false';
50+
var primaryBranchFlag = 'false';
4751
while (childIter.hasNext) {
4852
var childNode = childIter.next();
4953
if (childNode.getNodeName() == "projectTags") {
5054
projectTags = childNode.getTextContent();
51-
break;
55+
projectTagsFlag = 'true';
5256
}
53-
}
54-
/* if (projectTags != null && projectTags != '') {
55-
var sourceAPMIDObj = {};
56-
var projectTagsArr = projectTags.split(',', -1);
57-
for (var item in projectTagsArr) {
58-
var projectTagArr = projectTagsArr[item].split(':', -1);
59-
sourceAPMIDObj[projectTagArr[0]] = projectTagArr[1];
57+
if (childNode.getNodeName() == "primaryBranch") {
58+
primaryBranch = childNode.getTextContent();
59+
primaryBranchFlag = 'true';
6060
}
61-
if (sourceAPMIDObj != null)
62-
appObj['apm_app_id'] = sourceAPMIDObj.toString();
63-
64-
} */
65-
if (appNode.getAttribute('applicationIds') && appNode.getAttribute('applicationIds') != {}) {
66-
appId ={};
67-
appId[gs.getMessage("Application Id: ")] = appNode.getAttribute('applicationIds').toString();
68-
} else
69-
appId = '';
61+
if(projectTagsFlag == 'true' && primaryBranchFlag == 'true')
62+
break;
63+
}
64+
if (appNode.getAttribute('applicationIds') && appNode.getAttribute('applicationIds') != {})
65+
infoObj[gs.getMessage("Application Id ")] = appNode.getAttribute('applicationIds').toString();
66+
67+
if (null != primaryBranch && '' != primaryBranch)
68+
infoObj[gs.getMessage("Primary Branch ")] = primaryBranch.toString();
7069
70+
if (infoObj == {})
71+
infoObj = "";
72+
7173
//map attributes from Checkmarx into the servicenow expected format'
7274
var appObj = {
7375
source_app_id: attributes.id,
7476
app_name: appNode.getLastChild().getTextContent().toString(),
75-
apm_app_id: projectTags,
77+
apm_app_id: projectTags,
7678
source_assigned_teams: attributes.groups,
7779
description: 'created at' + attributes.createdAt,
78-
source_additional_info: JSON.stringify(appId),
79-
80+
source_additional_info: JSON.stringify(infoObj),
81+
source_app_guid : primaryBranch.toString()
82+
8083
};
8184
//Updating the project information in ServiceNow table
8285
var result = this.AVR_API.createOrUpdateApp(appObj);
@@ -107,13 +110,13 @@ CheckmarxOneAppListProcessor.prototype = Object.extendsObject(sn_vul.Application
107110
<sys_created_by>admin</sys_created_by>
108111
<sys_created_on>2022-11-21 12:03:00</sys_created_on>
109112
<sys_id>716c87ad471f1110328ca368436d438a</sys_id>
110-
<sys_mod_count>62</sys_mod_count>
113+
<sys_mod_count>74</sys_mod_count>
111114
<sys_name>CheckmarxOneAppListProcessor</sys_name>
112115
<sys_package display_value="Checkmarx One Vulnerability Integration" source="x_chec3_chexone">3d20e92d47471110328ca368436d436a</sys_package>
113116
<sys_policy/>
114117
<sys_scope display_value="Checkmarx One Vulnerability Integration">3d20e92d47471110328ca368436d436a</sys_scope>
115118
<sys_update_name>sys_script_include_716c87ad471f1110328ca368436d438a</sys_update_name>
116119
<sys_updated_by>admin</sys_updated_by>
117-
<sys_updated_on>2023-12-21 15:21:18</sys_updated_on>
120+
<sys_updated_on>2024-02-08 06:23:20</sys_updated_on>
118121
</sys_script_include>
119122
</unload>

0 commit comments

Comments
 (0)