Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multiple keywords #400

Merged
merged 6 commits into from
Sep 4, 2022
Merged

multiple keywords #400

merged 6 commits into from
Sep 4, 2022

Conversation

AdhocAdam
Copy link
Owner

@AdhocAdam AdhocAdam commented Sep 1, 2022

  • Management Pack can read/write one or many keywords seperated by a comma
    • resize Keyword form with settings ui
  • PowerShell parses one or many keywords, per keyword

adding icon for multiple keywords feature
readme update for multiple keywords feature
modifies the regular expression on the text boxes for keywords so they can accept a single word or a series of words separated by a comma
@AdhocAdam AdhocAdam added this to the 5.0 milestone Sep 1, 2022
@AdhocAdam AdhocAdam self-assigned this Sep 1, 2022
@github-actions
Copy link

github-actions bot commented Sep 1, 2022

PSScriptAnalyzer results:

🛑 [0] Errors, ⚠️ [20] Warnings, ℹ️ [1] Information


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3190
Message    : The parameter 'MessageClass' has been declared but not used. 

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 751
Message    : The variable 'userClass' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 767
Message    : The variable 'sysUserHasPrefRelClass' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4881
Message    : The variable 'isVerifiedSig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2541
Message    : The variable 'isMember' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4190
Message    : The variable 'alias' is assigned but never used.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 192
Message    : Function 'New-SMEXCOEvent' has verb that could change system state.
              Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 862
Message    : Function 'New-WorkItem' has verb that could change system state. Th
             erefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 1443
Message    : Function 'Update-WorkItem' has verb that could change system state.
              Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2613
Message    : Function 'Set-AssignedToPerSupportGroup' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2692
Message    : Function 'New-CMDBUser' has verb that could change system state. Th
             erefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3091
Message    : Function 'Remove-CiresonWatchListUser' has verb that could change s
             ystem state. Therefore, the function has to support 'ShouldProcess'
             .

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3125
Message    : Function 'Set-WorkItemScheduledTime' has verb that could change sys
             tem state. Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3575
Message    : Function 'Set-CoreSCSMAnnouncement' has verb that could change syst
             em state. Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3640
Message    : Function 'Set-CiresonPortalAnnouncement' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4150
Message    : Function 'Update-SCSMPropertyCollection' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4183
Message    : Function 'Set-SCSMTemplate' has verb that could change system state
             . Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4202
Message    : Function 'Remove-PII' has verb that could change system state. Ther
             efore, the function has to support 'ShouldProcess'.

RuleName   : PSUseUsingScopeModifierInNewRunspaces
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4266
Message    : The variable '$appName' is not declared within this ScriptBlock, an
             d is missing the 'Using:' scope modifier.

RuleName   : PSUseUsingScopeModifierInNewRunspaces
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4290
Message    : The variable '$unhealthySCOMApp' is not declared within this Script
             Block, and is missing the 'Using:' scope modifier.

RuleName   : PSUseOutputTypeCorrectly
Severity   : Information
ScriptName : smletsExchangeConnector.ps1
Line       : 3036
Message    : The cmdlet 'Get-CiresonSuggestionURL' returns an object of type 'Sy
             stem.Object[]' but this type is not declared in the OutputType attr
             ibute.

@AdhocAdam AdhocAdam linked an issue Sep 1, 2022 that may be closed by this pull request
@AdhocAdam AdhocAdam changed the title support for multiple keywords multiple keywords Sep 1, 2022
updating the XAML so the text boxes stretch as the Settings UI is resized. Also small verbiage changes in the header.
@github-actions
Copy link

github-actions bot commented Sep 3, 2022

PSScriptAnalyzer results:

🛑 [0] Errors, ⚠️ [20] Warnings, ℹ️ [1] Information


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3190
Message    : The parameter 'MessageClass' has been declared but not used. 

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 751
Message    : The variable 'userClass' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 767
Message    : The variable 'sysUserHasPrefRelClass' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4881
Message    : The variable 'isVerifiedSig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2541
Message    : The variable 'isMember' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4190
Message    : The variable 'alias' is assigned but never used.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 192
Message    : Function 'New-SMEXCOEvent' has verb that could change system state.
              Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 862
Message    : Function 'New-WorkItem' has verb that could change system state. Th
             erefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 1443
Message    : Function 'Update-WorkItem' has verb that could change system state.
              Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2613
Message    : Function 'Set-AssignedToPerSupportGroup' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2692
Message    : Function 'New-CMDBUser' has verb that could change system state. Th
             erefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3091
Message    : Function 'Remove-CiresonWatchListUser' has verb that could change s
             ystem state. Therefore, the function has to support 'ShouldProcess'
             .

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3125
Message    : Function 'Set-WorkItemScheduledTime' has verb that could change sys
             tem state. Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3575
Message    : Function 'Set-CoreSCSMAnnouncement' has verb that could change syst
             em state. Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3640
Message    : Function 'Set-CiresonPortalAnnouncement' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4150
Message    : Function 'Update-SCSMPropertyCollection' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4183
Message    : Function 'Set-SCSMTemplate' has verb that could change system state
             . Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4202
Message    : Function 'Remove-PII' has verb that could change system state. Ther
             efore, the function has to support 'ShouldProcess'.

RuleName   : PSUseUsingScopeModifierInNewRunspaces
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4266
Message    : The variable '$appName' is not declared within this ScriptBlock, an
             d is missing the 'Using:' scope modifier.

RuleName   : PSUseUsingScopeModifierInNewRunspaces
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4290
Message    : The variable '$unhealthySCOMApp' is not declared within this Script
             Block, and is missing the 'Using:' scope modifier.

RuleName   : PSUseOutputTypeCorrectly
Severity   : Information
ScriptName : smletsExchangeConnector.ps1
Line       : 3036
Message    : The cmdlet 'Get-CiresonSuggestionURL' returns an object of type 'Sy
             stem.Object[]' but this type is not declared in the OutputType attr
             ibute.

This change modifies the initial retrieval of keywords from the management pack so as handle a one or many keyword scenario PER keyword. The result of this is the current keyword variables are made regular expression friendly featuring a self-contained logical OR operation. e.g. \[(yes|approved|affirmative|roger)\] or in the case of a single word \[(yes)\]. In doing so, all subsequent actions taken against work items are preserved/reverse compatible while offering expanded functionality.
@github-actions
Copy link

github-actions bot commented Sep 4, 2022

PSScriptAnalyzer results:

🛑 [0] Errors, ⚠️ [20] Warnings, ℹ️ [1] Information


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3211
Message    : The parameter 'MessageClass' has been declared but not used. 

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 772
Message    : The variable 'userClass' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 788
Message    : The variable 'sysUserHasPrefRelClass' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4902
Message    : The variable 'isVerifiedSig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2562
Message    : The variable 'isMember' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4211
Message    : The variable 'alias' is assigned but never used.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 192
Message    : Function 'New-SMEXCOEvent' has verb that could change system state.
              Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 883
Message    : Function 'New-WorkItem' has verb that could change system state. Th
             erefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 1464
Message    : Function 'Update-WorkItem' has verb that could change system state.
              Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2634
Message    : Function 'Set-AssignedToPerSupportGroup' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2713
Message    : Function 'New-CMDBUser' has verb that could change system state. Th
             erefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3112
Message    : Function 'Remove-CiresonWatchListUser' has verb that could change s
             ystem state. Therefore, the function has to support 'ShouldProcess'
             .

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3146
Message    : Function 'Set-WorkItemScheduledTime' has verb that could change sys
             tem state. Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3596
Message    : Function 'Set-CoreSCSMAnnouncement' has verb that could change syst
             em state. Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3661
Message    : Function 'Set-CiresonPortalAnnouncement' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4171
Message    : Function 'Update-SCSMPropertyCollection' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4204
Message    : Function 'Set-SCSMTemplate' has verb that could change system state
             . Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4223
Message    : Function 'Remove-PII' has verb that could change system state. Ther
             efore, the function has to support 'ShouldProcess'.

RuleName   : PSUseUsingScopeModifierInNewRunspaces
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4287
Message    : The variable '$appName' is not declared within this ScriptBlock, an
             d is missing the 'Using:' scope modifier.

RuleName   : PSUseUsingScopeModifierInNewRunspaces
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4311
Message    : The variable '$unhealthySCOMApp' is not declared within this Script
             Block, and is missing the 'Using:' scope modifier.

RuleName   : PSUseOutputTypeCorrectly
Severity   : Information
ScriptName : smletsExchangeConnector.ps1
Line       : 3057
Message    : The cmdlet 'Get-CiresonSuggestionURL' returns an object of type 'Sy
             stem.Object[]' but this type is not declared in the OutputType attr
             ibute.

The "from" keyword is the only keyword whose exact substring position matters as it is used to identify the end of an email via the IndexOf() method. As such, it should not support multiple keyword instances.
@github-actions
Copy link

github-actions bot commented Sep 4, 2022

PSScriptAnalyzer results:

🛑 [0] Errors, ⚠️ [20] Warnings, ℹ️ [1] Information


RuleName   : PSReviewUnusedParameter
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3211
Message    : The parameter 'MessageClass' has been declared but not used. 

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 772
Message    : The variable 'userClass' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 788
Message    : The variable 'sysUserHasPrefRelClass' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4902
Message    : The variable 'isVerifiedSig' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2562
Message    : The variable 'isMember' is assigned but never used.

RuleName   : PSUseDeclaredVarsMoreThanAssignments
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4211
Message    : The variable 'alias' is assigned but never used.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 192
Message    : Function 'New-SMEXCOEvent' has verb that could change system state.
              Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 883
Message    : Function 'New-WorkItem' has verb that could change system state. Th
             erefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 1464
Message    : Function 'Update-WorkItem' has verb that could change system state.
              Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2634
Message    : Function 'Set-AssignedToPerSupportGroup' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 2713
Message    : Function 'New-CMDBUser' has verb that could change system state. Th
             erefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3112
Message    : Function 'Remove-CiresonWatchListUser' has verb that could change s
             ystem state. Therefore, the function has to support 'ShouldProcess'
             .

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3146
Message    : Function 'Set-WorkItemScheduledTime' has verb that could change sys
             tem state. Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3596
Message    : Function 'Set-CoreSCSMAnnouncement' has verb that could change syst
             em state. Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 3661
Message    : Function 'Set-CiresonPortalAnnouncement' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4171
Message    : Function 'Update-SCSMPropertyCollection' has verb that could change
              system state. Therefore, the function has to support 'ShouldProces
             s'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4204
Message    : Function 'Set-SCSMTemplate' has verb that could change system state
             . Therefore, the function has to support 'ShouldProcess'.

RuleName   : PSUseShouldProcessForStateChangingFunctions
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4223
Message    : Function 'Remove-PII' has verb that could change system state. Ther
             efore, the function has to support 'ShouldProcess'.

RuleName   : PSUseUsingScopeModifierInNewRunspaces
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4287
Message    : The variable '$appName' is not declared within this ScriptBlock, an
             d is missing the 'Using:' scope modifier.

RuleName   : PSUseUsingScopeModifierInNewRunspaces
Severity   : Warning
ScriptName : smletsExchangeConnector.ps1
Line       : 4311
Message    : The variable '$unhealthySCOMApp' is not declared within this Script
             Block, and is missing the 'Using:' scope modifier.

RuleName   : PSUseOutputTypeCorrectly
Severity   : Information
ScriptName : smletsExchangeConnector.ps1
Line       : 3057
Message    : The cmdlet 'Get-CiresonSuggestionURL' returns an object of type 'Sy
             stem.Object[]' but this type is not declared in the OutputType attr
             ibute.

@AdhocAdam AdhocAdam marked this pull request as ready for review September 4, 2022 19:07
@AdhocAdam AdhocAdam merged commit b60ee73 into dev Sep 4, 2022
AdhocAdam added a commit that referenced this pull request Dec 25, 2022
* Code Factor, style and formatting. Pass #1 (#390)

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Closing curly bracket must not be preceded by a blank line

* codefactor, multiple line breaks and semicolon

* Revert "Code Factor, style and formatting. Pass 1 (#390)" (#392)

This reverts commit 78dd38e.

* Code Factor, style and formatting. Pass 2 (#393)

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Documentation header line must not be followed by a blank line. Opening/Closing curly bracket must not be followed/preceded by a blank line

* codefactor, blank lines

Closing curly bracket must not be preceded by a blank line

* codefactor, multiple line breaks and semicolon

* Code Factor, style and formatting. Pass 3 (#394)

* codefactor, blank lines

Closing curly bracket must not be preceded by a blank line.

* codefactor, multiple blank lines

The code must not contain multiple blank lines in a row

* codefactor, blank lines (#395)

An opening curly bracket must not be followed by a blank line

* PSScriptAnalyzer, use singular nouns (#399)

* PSScriptAnalyzer, use singular nouns

To comply with best practices, functions should use singular nouns

* action trigger, remove linebreak

removing a line break so as to trigger github actions within a pull request

* multiple keywords (#400)

* icon, multiple keywords

adding icon for multiple keywords feature

* feature, multiple keywords

readme update for multiple keywords feature

* XAML, comma seperated keywords

modifies the regular expression on the text boxes for keywords so they can accept a single word or a series of words separated by a comma

* XAML, verbiage and UI resize

updating the XAML so the text boxes stretch as the Settings UI is resized. Also small verbiage changes in the header.

* feature, multiple keyword pwsh support

This change modifies the initial retrieval of keywords from the management pack so as handle a one or many keyword scenario PER keyword. The result of this is the current keyword variables are made regular expression friendly featuring a self-contained logical OR operation. e.g. \[(yes|approved|affirmative|roger)\] or in the case of a single word \[(yes)\]. In doing so, all subsequent actions taken against work items are preserved/reverse compatible while offering expanded functionality.

* XAML, from keyword

The "from" keyword is the only keyword whose exact substring position matters as it is used to identify the end of an email via the IndexOf() method. As such, it should not support multiple keyword instances.

* unused variables (#404)

The $userClass and $sysUserHasPrefRelClass variables are declared, but never used anywhere within the connector. Rather than delete them entirely, they have been commented out.

* variable scope, isMember (#405)

Upon some investigation of the function, it looks like PSScriptAnalyzer has an issue with the scope of $isMember. In order to fix this, an opportunity was presented that removes the initial $false declaration of $isMember, removes the foreach loop that checks each user of the group with the user coming into the function, and instead replaces it with a pipeline/where-object style operation. This also resulted in moving the logic for verifying if the group member is of type User.

* alias, missing parameter (#406)

While $alias is declared within Set-SCSMTemplate, it's only ever used in Update-SCSMPropertyCollection. As a result, alias has been introduced as a parameter to Update-SCSMPropertyCollection so as to properly receive the declared alias from Set-SCSMTemplate and resolve the error PSScriptAnalyzer is citing wherein $alias is declared but never used.

* usage, isVerifiedSig (#407)

* usage, isVerifiedSig

isVerifiedSig is indirectly used because the operation to the right hand side of the = operator is actually performing the decryption and updating $decryptedBody. The result of isVerifiedSig is actually an array of digital signatures.

* logic and whitespace

removing whitespace caught by PSScriptAnalyzer on PR and adding logic to respect logging levels

* scope modifier, using: (#408)

* appname, using:

Addressing issue per PSScriptAnalyzer wherein a variable passed into Invoke-Command's scriptblock should make use of the using: scope modifier

* unhealthySCOMApp, using:

Addressing issue per PSScriptAnalyzer wherein a variable passed into Invoke-Command's scriptblock should make use of the using: scope modifier

* using: context

PSScriptAnalyzer is still throwing an issue about the using: context for the unhealthy app. Breaking out the name into its own variable.

* extra )

removing the closing ) from the previous commit

* incorrect variable (#409)

since standardizing the message format via PSCustomObjects, this function should be using $message.From instead of $message.From.Address

* Attachments, Update-WorkItem

$parentworkitem does not exist in the default workitemtype switch

* Get-SCSMUserByEmailAddress cannot find mail addresses with a dash (#403)

* Update smletsExchangeConnector.ps1

If mail address contains a dash, the address won't be found in SCSM

* Wrong parameter data when calling Add-FileToSCSMObject

parentworkitem is never set for the default switch

* Revert "Wrong parameter data when calling Add-FileToSCSMObject"

This reverts commit 48c1252.

* description for IPM.Note.SMIME.MultipartSigned (#413)

Description is missing the word "signed"

* Single Instance Pickers (#412)

* get instance vs. textbox update

instead of retrieving the GUID of the chosen SCOM group from the Settings MP and then updating a text/label with the chosen name. The ConsoleContextHelper correctly updates and manages the Single Instance Picker control on the SCOMIntegrationForm.xaml

* remove label, format single instance picker

AdminSettingsWizardData now manages the SingleInstancePicker control. The label is no longer required.

* instance picker update

updating SCSM Announcement Group per previous commit on use of single instance picker and the SCOM Group picker

* remove DisplayName label

SingleInstancePicker now correctly updates per AdminSettingsWizardData

* single instance picker

updating announcement group logic for single instance picker

* Update Contributors (#414)

* contributor list

updating the list of contributors per pull requests #403 and #410

* contributor list

updating the list of contributors seen in the Settings UI per pull requests #403 and #410

* Settings UI forms and icons (#417)

* logging icon and line breaks

Adding line breaks for the logging options and the Event Log icon

* template icon

instead of the smlets exchange connector icon it should be the SCSM Template icon

* icons, event log and template

adding icons for updated Logging and Template forms

* build icons

include the icons in the build so they are included into the Settings UI dll so they can be referenced in the XAML forms

* move smlets import further up (#422)

it seems in certain configurations, SMLets isn't loaded soon enough in the connector's overall execution. As a result this prevents the script from successfully running.

* Total runtime logging (#423)

Previously if there were no messages to processes, the event order would be (at a minimum) 0 = connected to exchange and then 5 = filtering mailbox. There was no indication that there were 0/no messages to process and/or that 5 was the "last" event one would see for a run of the connector. As such, the logging could be misinterpreted as the connector not successfully completing a run. This change removes that uncertainty as the event is now logged regardless of the number of messages to process as well as introducing event 6 which shows the total runtime of the connector for a given number of messages. Now the minimum logging order is 0, 5, 2, 6 which is more representative of a start, connect, process and finish of the connector.

* Extended OAuth logging (#424)

* Update smletsExchangeConnector.ps1

If mail address contains a dash, the address won't be found in SCSM

* Wrong parameter data when calling Add-FileToSCSMObject

parentworkitem is never set for the default switch

* Revert "Wrong parameter data when calling Add-FileToSCSMObject"

This reverts commit 48c1252.

* Added logging for OAuth

* event numbering

updating event log numbering

Co-authored-by: Adam <adhocadam@protonmail.com>

* Add DisplayName to new workitems (#425)

* Update smletsExchangeConnector.ps1

If mail address contains a dash, the address won't be found in SCSM

* Wrong parameter data when calling Add-FileToSCSMObject

parentworkitem is never set for the default switch

* Revert "Wrong parameter data when calling Add-FileToSCSMObject"

This reverts commit 48c1252.

* Added logging for OAuth

* Add displayname to new workitems as in the console

* different separator character

When an Incident is created, it uses a - instead of a : to build the DisplayName property

* character spacing

closer inspection of creating Work Items in the console show there is a difference in spacing for the DisplayName on Problem and Change Requests

Co-authored-by: Adam <adhocadam@protonmail.com>

* inline notes (#426)

updating notes on the inline powershell

* regex test (#427)

correcting per #420

* updating inline notes

prepping inline notes for final release

* re-arrange start time variable

rather than place the startTime variable at the first line, its now moved right before PowerShell actually starts executing/is loaded into memory. This preserves the initial comment block.

Co-authored-by: Alexander Axberg <alexander.axberg@gmail.com>
@AdhocAdam AdhocAdam deleted the dev-MultipleKeywords branch December 29, 2022 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for Multiple Keywords
1 participant