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

PSScriptAnalyzer, use singular nouns #399

Merged
merged 2 commits into from
Aug 30, 2022
Merged

PSScriptAnalyzer, use singular nouns #399

merged 2 commits into from
Aug 30, 2022

Conversation

AdhocAdam
Copy link
Owner

To comply with best PowerShell practices per PSScriptAnalyzer, functions should use singular nouns

  • Get-TierMembers
  • Get-CiresonPortalAnnouncements
  • Search-AvailableCiresonPortalOfferings
  • Get-SCSMWorkItemSettings
  • Get-AzureEmailKeywords

To comply with best practices, functions should use singular nouns
removing a line break so as to trigger github actions within a pull request
@AdhocAdam AdhocAdam added this to the 5.0 milestone Aug 30, 2022
@AdhocAdam AdhocAdam self-assigned this Aug 30, 2022
@AdhocAdam AdhocAdam marked this pull request as ready for review August 30, 2022 15:25
@AdhocAdam AdhocAdam merged commit 85f3858 into dev Aug 30, 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-PSSingularNoun 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.

None yet

1 participant