Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions research-spoke/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ param isAirlockReviewCentralized bool = false
param airlockApproverEmail string
@description('The email address where process notifications (designed to be the principal investigator) will be sent.')
param airlockProcessNotificationEmail string
@description('The email address that will appear in the "From" field of emails sent by the airlock Logic App.')
param airlockFromEmail string
@description('The allowed file extensions for ingest.')
param allowedIngestFileExtensions array = []

Expand Down Expand Up @@ -734,6 +736,7 @@ module airlockModule './spoke-modules/airlock/main.bicep' = {
allowedIngestFileExtensions: allowedIngestFileExtensions

processNotificationEmail: airlockProcessNotificationEmail
fromEmail: airlockFromEmail
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@
"To": "@parameters('processNotificationEmail')",
"Subject": "Airlock Export Request Approved",
"Body": "<p class=\"editor-paragraph\">@{parameters('approverEmail')} approved the export request of file \"@{parameters('airlockFolderPath')}/@{triggerBody()?['Name']}\".</p><br><p class=\"editor-paragraph\">The file is being moved to the project's external storage account in the \"@{parameters('exportApprovedContainerName')}\" blob container. This usually takes 1-2 minutes.</p>",
"From": "@parameters('fromEmail')",
"Importance": "Normal"
},
"path": "/v2/Mail"
Expand Down Expand Up @@ -154,6 +155,7 @@
"To": "@parameters('processNotificationEmail')",
"Subject": "Airlock Export Request Rejected by Approver",
"Body": "<p class=\"editor-paragraph\">@{parameters('approverEmail')} rejected the export request of file \"@{parameters('airlockFolderPath')}/@{triggerBody()?['Name']}\".</p><br><p class=\"editor-paragraph\">The file is being moved back to the project's file share in the \"export-rejected\" folder. This usually takes 1-2 minutes.</p>",
"From": "@parameters('fromEmail')",
"Importance": "Normal"
},
"path": "/v2/Mail"
Expand Down Expand Up @@ -183,6 +185,7 @@
"Message": {
"To": "@parameters('approverEmail')",
"Body": "A new request for export has been received.\n\nFile: @{parameters('airlockFolderPath')}/@{triggerBody()?['Name']}",
"From": "@parameters('fromEmail')",
"Importance": "Normal",
"HideHTMLMessage": false,
"ShowHTMLConfirmationDialog": false,
Expand All @@ -209,6 +212,7 @@
"To": "@{parameters('approverEmail')},@{parameters('processNotificationEmail')}",
"Subject": "Airlock Pipeline Failed",
"Body": "<p class=\"editor-paragraph\">Pipeline run failed moving file \"@{parameters('airlockFolderPath')}/@{triggerBody()?['Name']}\" from the spoke's export-requested container to the airlock file share.</p><br><p class=\"editor-paragraph\">For troubleshooting purposes:<br>Data Factory pipeline run ID: @{body('Move_file_from_private_ADLS_to_Airlock_File_Share')?['runId']}</p><p class=\"editor-paragraph\">Data Factory pipeline status: @{variables('pipelineStatus')}</p>",
"From": "@parameters('fromEmail')",
"Importance": "Normal"
},
"path": "/v2/Mail"
Expand Down Expand Up @@ -356,6 +360,10 @@
"exportRejectedFolderName": {
"type": "String",
"defaultValue": "export-rejected"
},
"fromEmail": {
"type": "String",
"defaultValue": ""
}
},
"triggers": {
Expand Down
4 changes: 4 additions & 0 deletions research-spoke/spoke-modules/airlock/logicApp.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ param airlockFileShareName string
param privateFileShareName string
param approverEmail string
param processNotificationEmail string
param fromEmail string
param sourceFolderPath string
param airlockFolderPath string
param exportApprovedContainerName string
Expand Down Expand Up @@ -205,6 +206,9 @@ resource logicApp 'Microsoft.Logic/workflows@2019-05-01' = {
pipelineNameFileShareToFileShare: {
value: pipelineNames.fileShareToFileShare
}
fromEmail: {
value: fromEmail
}
}
}
tags: tags
Expand Down
3 changes: 3 additions & 0 deletions research-spoke/spoke-modules/airlock/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ param containerNames object = {
param approverEmail string
@description('The email address where process notifications (designed to be the principal investigator) will be sent.')
param processNotificationEmail string
@description('The email address that will appear in the "From" field of emails sent by the airlock Logic App.')
param fromEmail string

param roles object

Expand Down Expand Up @@ -290,6 +292,7 @@ module logicAppModule 'logicApp.bicep' = {
privateContainerName: containerNames.exportRequest
privateFileShareName: spokePrivateFileShareName
processNotificationEmail: processNotificationEmail
fromEmail: fromEmail
}
}

Expand Down
Loading