Bernie White
4b42fd021f
Use consistent rule references #217 ( #247 )
2019-07-28 20:43:25 +10:00
Bernie White
d18df953d7
Update dependencies for test and benchmark ( #246 )
...
- Update dependencies for test and benchmark
- Bump PSScriptAnalyzer version to 1.18.1
- Add Cobertura report generator
2019-07-27 20:57:35 +10:00
Bernie White
3654ac39dc
Automatically load rule modules #218 ( #245 )
2019-07-25 12:58:38 +10:00
Bernie White
de55ece634
Add detection for improper keyword use. #203 ( #244 )
2019-07-24 23:59:27 +10:00
Bernie White
062b74f7cd
Added per object reason for failing rules #200 ( #241 )
...
* Added per object reason for failing rules #200
* Updated docs and helper functions
2019-07-23 23:10:58 +10:00
Bernie White
c24358d305
Add debug messages and verbose limiting #146 #235 ( #236 )
...
- Add debug messages and verbose limiting #146 #235
- Fix test to handle DebugPreference for Window PS
- Fix within comparison issue #237
2019-07-05 00:23:15 +12:00
Bernie White
0d57f6da36
Fix YAML options discovery and display #232 #233 ( #234 )
2019-07-03 21:29:41 +12:00
Bernie White
fb50426e94
Improve handling of null rule result #224 ( #228 )
2019-06-30 01:16:04 +10:00
Bernie White
fc23dce272
Fix Within comparison of non-string types #226 ( #227 )
2019-06-29 14:21:47 +10:00
Bernie White
6753c498cc
Fix reading nested arrays from JSON input #223 ( #225 )
2019-06-28 21:30:01 +10:00
Bernie White
afef56ced2
Improve handling of rule tags and filtering #209 #204 ( #220 )
...
- Improve discovery of rule tags #209
- Change filtering by tag to ignore case #204
2019-06-26 23:10:32 +10:00
Bernie White
2c2d8db59f
Add culture support for rule informational messages #158 ( #219 )
2019-06-26 00:14:15 +10:00
Bernie White
5494379da5
Fix TargetName binding of null #202 ( #216 )
2019-06-25 00:23:01 +10:00
Bernie White
21a00c195a
Add -Not to Within and Match keywords #208 ( #213 )
2019-06-24 08:59:35 +10:00
Bernie White
b6de1c604b
Fix rule DependsOn parameter allows null and change rule timing to milliseconds #191 #192 ( #205 )
...
* Fix null DependsOn parameter #191
* Exclude VS test results
* Record rule time in milliseconds
* Add documentation on PSRule features #68
* Update change log #192
2019-06-21 10:16:12 +08:00
Bernie White
37d536c016
Fix circular dependencies and rule nesting error handling #190 #189 ( #198 )
2019-06-20 01:35:19 +08:00
Bernie White
e3b3695c80
Fix handling of non-boolean results in rules #187 ( #193 )
...
- Fix handling of non-boolean results in rules. #187
2019-06-19 00:33:01 +08:00
Bernie White
536442ea8a
Include .ps1 files that are specified directly #182 ( #186 )
...
- Include .ps1 files when specified directly
2019-06-18 00:36:22 +10:00
Bernie White
f1400543d1
Add support for outputting results as CSV and improving cmdlet usage #175 #169 ( #180 )
...
- Added support for Invoke-PSRule to return CSV formatted results. #169
- Reordered cmdlet parameters to improve usage of frequently used parameters. #175
2019-06-15 14:11:39 +10:00
Bernie White
3f550c0746
Fix for path space and exporting of recommend keyword #168 #171 ( #172 )
...
* Fix handling of spaces in rule paths #168
* Export Recommend and Hint #171
* Improve tests for exports
2019-06-07 21:11:19 +10:00
Bernie White
3b5bc3a9a5
Change rule properties to align with docs #164 #165 ( #166 )
...
- Change rule properties to align with docs #164
- Changed Hint keyword to Recommend to align with rule documentation #165
- Added rule documentation
2019-06-06 23:17:10 +10:00
Bernie White
6844497810
Add markdown help #157 #18 #148 #147 ( #159 )
...
- Added rule documentation, which allows additional rule information to be stored in markdown files. #157
- Rule documentation also adds culture support. #18
- Added annotations, which are non-indexed metadata stored in rule documentation. #148
- Annotations can contain a link to online version of the documentation. #147
2019-06-02 21:40:26 +10:00
Bernie White
dd34fdd9b9
Update dependencies ( #156 )
2019-05-25 18:50:52 +10:00
Bernie White
0529970352
Fix FullName cannot be found on this object error #149 ( #154 )
...
- Fix FullName cannot be found on this object error. #149
2019-05-11 15:47:53 +10:00
Bernie White
98a68ce47d
Documentation updates for v0.5.0 ( #151 )
...
- Updated to documentation based on v0.5.0 improved features and optimisation.
2019-05-05 11:58:16 +10:00
Bernie White
c3398f88a7
Fix schema conformance for NUnit3 #141 ( #142 )
2019-04-30 22:25:44 +10:00
Bernie White
bdc81fae14
Improve handling of default YAML options file #137 ( #139 )
...
- Improve options file handling #137
2019-04-29 23:59:22 +10:00
Bernie White
26b94a0921
Add and update cmdlets to set options from parameters #135 #134 ( #138 )
...
- Added Set-PSRuleOption cmdlet to configure YAML options file. #135
- Added parameters to New-PSRuleOption to configure common options. #134
2019-04-29 23:06:26 +10:00
Bernie White
185b57c6cd
CI process performance pre-v0.5.0 ( #132 )
...
* Split up tests into smaller files
* Exclude PR builds from running SonarCloud
* Additional Pester test performance and code improvements
2019-04-25 14:22:48 +10:00
Bernie White
c5556eaac1
Add NUnit output format and validation #129 ( #130 )
...
- Added validation pipeline scenario.
- Added -OutputFormat NUnit3 to Invoke-PSRule return NUnit formatted output. #129
2019-04-23 08:55:08 +10:00
Bernie White
53c9615b7d
Fix error when traversing null field #123 ( #124 )
...
- Fix null reference exception when traversing null field #123
2019-04-02 21:33:26 +11:00
Bernie White
85a03bd116
Code base quality updates ( #119 )
...
* Code quality updates
* Add version to SonarCloud analysis
* Publish pester code coverage
* Switch working path to use ExecutionContext
* Update pipeline checks for strict compliance
2019-03-31 10:59:45 +10:00
Bernie White
0346927923
Fix YAML property serialization and summary output format #114 #115 #116 ( #117 )
...
- Fix summary is not correctly serialized with JSON or YAML output format #116
- Fix missing properties on serialized YAML output #115
- Fix incorrect property name case of YAML serialized results #114
2019-03-27 19:38:28 +10:00
Bernie White
dc8acc8d0f
Add SonarCloud to CI pipeline ( #85 )
...
- Add SonarCloud integration to pipeline
2019-03-26 21:29:51 +10:00
Bernie White
f093774cbe
Fix de-serialization of non-object arrays #111 ( #112 )
...
- Fix incorrect JSON de-serialization of non-object arrays. #111
2019-03-24 20:17:32 +10:00
Bernie White
d0f81ea7b8
Fix deserialization of nested JSON arrays #109 ( #110 )
...
- Fix incorrect JSON de-serialization of nested arrays. #109
2019-03-22 08:57:39 +10:00
Bernie White
94abb8954b
Added support for reading objects from file and serializing output ( #107 )
...
- Added support for using `-InputPath` instead of using `-InputObject` to handle serialized objects. [#106 ](https://github.com/BernieWhite/PSRule/issues/106 )
- `-Format` is automatically detected for `.yaml`, `.yml` and `.json` file extensions.
- Added `-OutputFormat` parameter to serialize output from `Invoke-PSRule`. [#29 ](https://github.com/BernieWhite/PSRule/issues/29 )
2019-03-21 09:22:01 +10:00
Bernie White
2f52ab00df
Removed deprecated Hint -TargetName parameter #81 ( #105 )
2019-03-07 15:48:54 +10:00
Bernie White
afa6c3777d
Add outcome logging #97 ( #104 )
...
- Added support for logging pass or fail outcomes to a data stream such as Error, Warning or Information
2019-03-07 15:36:03 +10:00
Bernie White
49d2417763
Documentation quality updates and kubernetes scenario ( #98 )
...
- Minor grammatical updates
- Added documentation for Kubernetes resource validation scenario
- Added kubernetes-resources scenario to end-to-end tests
2019-02-28 19:10:18 +10:00
Bernie White
1d55968570
Add support for input deserialization from FileInfo objects #95 ( #96 )
...
* Support input deserialization from FileInfo objects #95
2019-02-25 21:28:54 +10:00
Bernie White
f2ed28de65
Fix empty YAML object causes format deserialize to fail #92 ( #93 )
2019-02-25 13:50:07 +10:00
Bernie White
d84ce434dd
Add support for keyword pipelining #90 ( #91 )
...
* Add support for keyword pipelining and updated docs #90
2019-02-20 17:27:27 +10:00
Bernie White
2c7c293a00
Improve field support and add type binding #82 #86 #87 ( #88 )
...
- Added object type binding and dynamic filtering for rules #82
- Added support for indexed and quoted field names #86
- Added support for case-sensitive binding operations #87
2019-02-19 13:37:13 +10:00
Bernie White
5eb05abf16
Add module packaging and export variables ( #84 )
...
- Export variables to improve authoring experience #83
- Support for packaging rules in modules #16
- Removed `-TargetName` parameter of the `Hint` keyword #81
2019-02-09 19:20:20 -08:00
Bernie White
eea6aad2f6
Support nested TargetObjects #77 ( #79 )
...
- Support nested TargetObjects #77
2019-02-08 00:03:59 +10:00
Bernie White
097c4b8b72
Support input from YAML or JSON format and nested TargetName binding #75 #71 ( #78 )
...
- Import objects from YAML or JSON format #75
- Support TargetName binding of nested properties #71
2019-02-07 15:07:05 +10:00
Bernie White
946d6f7ea8
Update configuration variable ( #63 )
2019-01-28 23:23:08 +10:00
Bernie White
8122004883
Added support for nested fields and rule configuration #60 #17 #61 ( #62 )
...
- Added support for nested field names with Exists, Within and Match keywords #60
- Added support for rule configuration using baselines #17
- Use rule description when hint message not set #61
2019-01-26 00:37:22 +10:00
Bernie White
9157b5f51c
Rename Test-PSRule to Test-PSRuleTarget #57 ( #58 )
...
- Rename Test-PSRule to Test-PSRuleTarget #57
2019-01-14 11:23:39 +10:00
Bernie White
ed781c43da
Fix path handling issues #53 #54 ( #56 )
...
- Fix Get-PSRule generates exception when no .rule.ps1 scripts exist in path #53
- Fix LocalizedData.PathNotFound warning when no .rule.ps1 scripts exist in path #54
2019-01-11 19:19:03 +10:00
Bernie White
a5912cca17
Fix PowerShell logging and add cross platform support #48 #49 ( #51 )
...
- Fix propagation of informational messages to host from rule scripts and definitions #48
- Add support for cross-platform environments (Windows, Linux, and macOS) #49
2019-01-03 18:20:00 +10:00
Bernie White
1a641b3862
Support testing pipeline objects #30 #46 ( #47 )
...
- Add Test-PSRule command to return an overall $True or $False after evaluating rules for an object #30
- Improve reporting of inconclusive results and objects that are not processed by any rule #46
2018-12-24 20:14:56 +10:00
Bernie White
a5ba1ff50f
Add rule suppression and custom TargetName binding #13 #44 ( #45 )
...
- Update pipeline for early target name binding and suppression #44 #13
- Allow objects to be suppressed by TargetName for individual rules #13
- Allow binding of TargetName to custom property #44
- Custom functions can be used to bind TargetName #44
- Objects that are unable to bind a TargetName will use a SHA1 object hash for TargetName #44
2018-12-24 12:40:14 +10:00
Bernie White
3f706fd66c
Fix issue verbose logging and handling of hashtable keys #35 #36 ( #37 )
...
* Fix verbose logging counter not incrementing #35
* Fix hashtable keys should be handled as fields #36
* Improved unit test cases
* Improved GitHub issue report template
2018-12-15 14:45:42 +10:00
Bernie White
e92eaf2a70
Fix Invoke-PSRule summary ignores outcome filter #33 ( #34 )
...
* Fix Invoke-PSRule summary ignores outcome filter #33
* Update issue report template
2018-12-13 20:47:11 +10:00
Bernie White
5c7ad63504
Parameter name and rule id refactor ( #31 )
...
* Improved error handling of invalid paths
* Realign types and enums for consistency
* Refactor rule types to name properties and parameters consistently
* Improve RuleId and RuleName usage
2018-12-13 15:58:56 +10:00
Bernie White
b18afbc280
Add rule summaries #12 ( #21 )
...
- Added option to report rule summary using -As parameter of Invoke-PSRule #12
- Added performance benchmarks
2018-12-10 18:34:14 +10:00
Bernie White
dfd53c7509
Add tag mapping and tag existance filter ( #20 )
...
- Added rule tags to results to enable grouping and sorting
- Added support to check for rule tag existence
2018-12-04 10:19:55 +10:00
Bernie White
9304445c74
Pre-release module update 05 ( #10 )
...
- Automatically bind TargetName to TargetName or Name property
- Update fruit example
- Update CI pipeline
2018-12-03 18:27:48 +10:00
Bernie White
3a56e4fce4
PSRule usage examples ( #9 )
...
- Add Azure resource example
- Add fruit example
- Update Within keyword
- Update readme and links to examples
2018-12-03 16:40:44 +10:00
Bernie White
28321507ac
Pre-release module update 04 ( #6 )
...
- Added logging
- Update to handle rules dependencies
- Quality updates and expanded tests
- Improved build versioning of CI process
2018-12-01 01:31:16 +11:00
Bernie White
656e31aaa2
Pre-release module update 02 ( #4 )
...
* Read from file instead of using parser
* Handle multi-condition rules and inconclusive results
* Add additional contextual help
2018-11-30 00:10:02 +11:00
Bernie White
49be453c14
Pre-release module update ( #3 )
...
- Major re-factoring to push main engine code into CSharp
- Added use for tags to select rules
- Added support for constrained language mode
- Renamed Invoke-RuleEngine to Invoke-PSRule
- Allow discovery of rule definitions with Get-PSRule
- Updated documentation
- Added quality of life configurations for VSCode
2018-11-29 18:41:36 +11:00