Releases: nathan-weinberg/jeeves
Releases · nathan-weinberg/jeeves
v1.7.1
What's Changed
- Bump pytest from 7.1.1 to 7.1.2 by @dependabot in #247
- Bump jinja2 from 3.1.1 to 3.1.2 by @dependabot in #248
- Bump jira from 3.2.0 to 3.3.0 by @dependabot in #249
- Bump jira from 3.3.0 to 3.3.1 by @dependabot in #250
- Bump flake8 from 4.0.1 to 5.0.3 by @dependabot in #252
- Bump jira from 3.3.1 to 3.3.2 by @dependabot in #254
- Bump python-jenkins from 1.8.0.0a0 to 1.8.0 by @dependabot in #264
- Bump pytest-cov from 3.0.0 to 4.0.0 by @dependabot in #258
- Bump flake8 from 5.0.3 to 6.0.0 by @dependabot in #260
- Bump pytest from 7.1.2 to 7.2.2 by @dependabot in #262
- Bump jira from 3.3.2 to 3.5.0 by @dependabot in #263
- Added handling for list in job_search_fields by @EliadCohen in #271
- Updated CODEOWNERS by @nathan-weinberg in #275
- Modified params to be compated as strings by @EliadCohen in #274
- Bump pytest from 7.2.2 to 7.4.0 by @dependabot in #272
- Bump jira from 3.5.0 to 3.5.1 by @dependabot in #268
- Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #276
- Bump pytest-cov from 4.0.0 to 4.1.0 by @dependabot in #267
- Bump pyyaml from 6.0 to 6.0.1 by @dependabot in #277
- Bump flake8 from 6.0.0 to 7.0.0 by @dependabot in #280
- Bump pytest-cov from 4.1.0 to 5.0.0 by @dependabot in #281
- Bump jira from 3.5.1 to 3.8.0 by @dependabot in #279
- Bump python-jenkins from 1.8.0 to 1.8.2 by @dependabot in #278
Full Changelog: v1.7...v1.7.1
Jeeves 1.7
Changes since Jeeves 1.6
Bug fixes
- Fixed formatting issue with CODEOWNERS file
Features
- Added build history tracking functionality
- Added PAT support for Jira authentication
- Added OSP17 support
Tech Debt
- Jeeves now skips build number info when job doesn't have blockers reported
- Moved regex filter configuration to the config file
- Created separate
requirements.txt
file for testing
Dependencies
- Updated
pyyal
dependency from5.4.1
to6.0
- Updated
jinja2
dependency from3.0.0
to3.1.1
- Updated
python-bugzilla
from3.0.2
to3.2.0
- Updated
jira
dependency from3.0.1
to3.2.0
- Updated
flake8
dependency from3.9.2
to4.0.1
- Updated
pytest
dependency from6.2.2
to7.1.1
- Updated
pytest-cov
dependency from2.12.0
to3.0.0
Testing
- Minor updates to test files
Documentation
- Minor doc and example file updates
Jeeves 1.6
Changes since Jeeves 1.5
Bug fixes
- Fixed summary calculation bug introduced in #194
- Fixed coverage calculation bug introduced in #204
- Fixed Jira authentication bug introduced in #213
Features
- Replaced 'remind' flag with generic 'mode' flag to more easily allow for additional run modes in the future
- Added additional summary metric to show total blocker coverage
- Added summary metrics for each OSP version
- Added column to see failed stage in latest completed build
- Made supported versions a configurable field
- Added owner name to reminder body
- Extended filtering mechanism with build cause action filter
Tech Debt/Optimizations
- Aggregated Bugzilla queries
- Updated
flake8
dependency from3.8.4
to3.9.2
- Updated
jinja2
dependency from2.11.3
to3.0.0
- Updated
jira
dependency from2.0.0
to3.0.1
- Updated
pytest
dependency from6.2.2
to6.2.4
- Updated
pytest-cov
dependency from2.11.1
to2.12.0
Administration
- Added @agarcia64 as a Project Codeowner
Documentation
- Minor doc and example file updates
Jeeves 1.5
Changes since Jeeves 1.4
Bug fixes
- Fixed bug with columns introduced with Tempest tests column
Features
- Added column for number of failed Tempest tests
- Added ability to inject preamble into reports
- Reports and Reminders now show all composes used in job run not just the first
Tech Debt/Optimizations
- Tweaked error handling for jobs with no known builds
- Renamed jira funcs to ticket funcs
- Removed requirement for Jenkins credentials
- Moved functionality from
report.py
,remind.py
, andfunctions.py
intojeeves/
subdirectory
Testing
- Added GitHub dependabot for dependency checking
- Bumped CI Python version from 3.7 to 3.8
- Moved all tests from
test_functions.py
intotests/
directory - Moved flake8 config into
.flake8.ini
file
Documentation
- Added Linting section to
README.md
Jeeves 1.4
Changes since Jeeves 1.3
Bug fixes
- Fixed bug where Jeeves would throw error if email config fields weren't present even if running with
--no-email
flag
Features
- Added ability to use custom templates for reports
- Added a "Days Since Last Build" column to the report
- Added custom build parameter filtering
Style
- Reworked how blocker data is displayed in reports and reminders
- Improved report visualization with doughnutpie chart
Tech Debt/Optimizations
- Changed how compose is parsed from Jenkins API object
- Added error codes to all system exits
Testing
- Added framework for additional unit tests
- Added codecov to CI
Jeeves 1.3
Changes since Jeeves 1.2
Bug fixes
- Fixed ZeroDivisionError in summary calculation caused when when num_jobs var was 0
Features
- Reports now feature pie chart of summary
- Regular expressions can now be used in search field
- Blockers are now prepended with their status
- Blockers added to reminders
- Path to report now printed after saving
- Jobs triggered by multijobs now supported
Style
- Added additional comments/docstrings to codebase
Tech Debt/Optimizations
- Modified shebang line for better compatibility with virtual environments
- Added
templates
folder - Changed --test flag to --test-email
- Consolidated report format with a single blockers column
- Added values to blockers.yaml.example
- Added Jinja2 macros for blockers
- Refactored reminder to include all unstable or failing jobs, regardless of blocker status
- Replaced 'save' run mode with 'no-email'
Jeeves 1.2
Changes since Jeeves 1.1
Bug fixes
- Fixed
jira.close()
crashing program if no Jira instance existed - Fixed program crashing on malformed BZ/Jira IDs
Features
- Added "reminder" feature
- Added validations for configuration data
- Added support for jobs with lcb_result 'ABORTED'
Style
- Added additional comments/docstrings to codebase
Tech Debt/Optimizations
- Separated Jeeves functionality into separate Python files
- Added additional handling/logging for SMTP sessions
- Changed how Unified jobs are parsed out
- Added exception handling for Bugzilla/Jira API connections
- Moved Jenkins API functionality to dedicated function
- Search fields can now have spaces in between each other
Tests
- Added tests for
get_bugs_set()
- Added tests for
get_jira_set()
- Added tests for
has_blockers()
Documentation
- Created
docs
folder - Created
CONTRIBUTING.md
Jeeves 1.1
Changes since Jeeves 1.0
Bug fixes
- Changed functionality of how jobs are ordered in report to ensure they were done by descending OSP version
- Jeeves no longer fails if no blockers are specified
- Fixed report summary metrics not reflecting contents of the actual generated report
- Fixed issue where failing to identify compose resulted in job being excluded from report
Features
- Added support for Unified jobs via ability to skip jobs testing component
- Added support for sending report to multiple emails
- Added support for saving reports as HTML files via command line flag
- Added generic blocker field
- Added handling for OSP versions with decimals (i.e. 16.1)
- Added additional handling for builds with "error" states (i.e. "NO_KNOWN_BUILDS", "ERROR")
Style
- Added flake8 styling enforcement via GitHub Actions
- Added docstrings to all functions
Optimizations
- Minimization of API calls to Bugzilla and Jira
Tests
- Added unit test for parsing OSP version with decimal
Jeeves 1.0
Merge pull request #37 from nathan-weinberg/version-check-fix Changed version checking to be inclusive rather than exclusive