diff --git a/Server-Side Components/Background Scripts/Get Risk and Controls in Project/README.md b/Server-Side Components/Background Scripts/Get Risk and Controls in Project/README.md
new file mode 100644
index 0000000000..8d6e6633bb
--- /dev/null
+++ b/Server-Side Components/Background Scripts/Get Risk and Controls in Project/README.md
@@ -0,0 +1,19 @@
+In ServiceNow Risk Assessment Project, we can assess multiple risks on a single page or UI.
+But for each individual risks, we need different Controls to be associated that can mitigate the risk.
+So, there is direct relationship between Risk and Control in ServiceNow along with Risk and Risk Assessment Project.
+Two m2m tables are - 'sn_risk_m2m_risk_control' and 'sn_risk_advanced_m2m_risk_assessment_project_risk' respectively.
+
+Now organisations need to check how many Controls involved in a Risk Assessment Project for each risk.
+To achieve that, we can utilize Risk Assessment Instance Response records where Control Assessment data is stored.
+This Control Assessment data is updated whenever we associate Controls with Risks during Risk Assessment and fill out the factors.
+
+In the Background script, if we pass one sys_id of Risk Assessment Project record, that should print Risks and Controls for each risk like this-
+
+
+Actual Risk Assessment Project on workspace looks like this-
+
+
+
+
+
+Here, at the left we can select individual risks and inside of Control Assessment for that risk, controls can be added and assessed.
diff --git a/Server-Side Components/Background Scripts/Get Risk and Controls in Project/risksandcontrolsinProject.js b/Server-Side Components/Background Scripts/Get Risk and Controls in Project/risksandcontrolsinProject.js
new file mode 100644
index 0000000000..106dc038b7
--- /dev/null
+++ b/Server-Side Components/Background Scripts/Get Risk and Controls in Project/risksandcontrolsinProject.js
@@ -0,0 +1,17 @@
+var asmtGr = new GlideRecord('sn_risk_advanced_risk_assessment_instance');
+asmtGr.addQuery('risk_assessment_project','d4eed504c3787210b533bb02b4013121');//Risk Assessment Project Sys Id
+asmtGr.query();
+while(asmtGr.next()){
+ gs.print("Risk: "+asmtGr.risk.name+"\n");//Printing Individual Risk Name
+ var asmtResp = new GlideAggregate('sn_risk_advanced_risk_assessment_instance_response');
+ asmtResp.addEncodedQuery('assessment_instance_id='+asmtGr.sys_id+'^assessment_type=2^parent_instance_response=NULL');
+ asmtResp.query();
+ var countCont = asmtResp.getRowCount().toString();
+ gs.print("This risk has "+countCont+" control(s) associated as mitigating action. Those are -\n");
+ var i=1;
+ while(asmtResp.next()){
+ gs.print('Control '+i+' : '+asmtResp.control.name+"\n");//Printing Control names for each risk
+ i++;
+ }
+ gs.print('\n');
+}