Package: opsgeniecli
A cli for OpsgenieDocumentation:https://opsgeniecli.readthedocs.org/en/latestDevelopment WorkflowThe workflow supports the following stepslinttestbuilddocumentuploadgraphThese actions are supported out of the box by the corresponding scripts under _CI/scripts directory with sane defaults based on best practices.
Sourcing setup_aliases.ps1 for windows powershell or setup_aliases.sh in bash on Mac or Linux will provide with handy aliases for the shell of all those commands prepended with an underscore.The bootstrap script creates a .venv directory inside the project directory hosting the virtual environment. It uses pipenv for that.
It is called by all other scripts before they do anything. So one could simple start by calling _lint and that would set up everything before it tried to actually lint the projectOnce the code is ready to be delivered the _tag script should be called accepting one of three arguments, patch, minor, major following the semantic versioning scheme.
So for the initial delivery one would call$ _tag –minorwhich would bump the version of the project to 0.1.0 tag it in git and do a push and also ask for the change and automagically update HISTORY.rst with the version and the change provided.So the full workflow after git is initialized is:repeat as necessary (of course it could be test - code - lint :) )codelinttestcommit and pushdevelop more through the code-lint-test cycletag (with the appropriate argument)buildupload (if you want to host your package in pypi)document (of course this could be run at any point)Important InformationThis template is based on pipenv. In order to be compatible with requirements.txt so the actual created package can be used by any part of the existing python ecosystem some hacks were needed.
So when building a package out of thisdo notsimple call$ python setup.py sdist bdist_eggas this will produce an unusable artifact with files missing.Instead use the provided build and upload scripts that create all the necessary files in the artifact.Project FeaturesTODOHistory0.0.1 (26-02-2019)First code creation0.0.1 (28-05-2019)testing release0.0.2 (28-05-2019)added functions0.0.3 (28-05-2019)maintenance policies - list functions - are now teambased0.0.4 (28-05-2019)all functions now rely on opsgenielib0.0.5 (30-05-2019)docs added to: INSTALLATION.rst0.0.6 (10-06-2019)‘added functionality: adding more than 1 policy to a set_maintenance_policy’0.0.7 (11-06-2019)for multiple functions: using the config teamid when no –teamid is given.0.0.8 (11-06-2019)Removed cls=DefaultHelp from policy_maintenance_list0.0.9 (13-06-2019)Docstrings for every function, plus other linting errors0.0.10 (13-06-2019)bug fix for: policy-alerts list0.0.11 (14-06-2019)try to resolve autocompletion for powershell0.0.12 (14-06-2019)2nd try to get powershell autocomplete to work0.0.13 (14-06-2019)Reverting back to autocomplete without click-completion0.0.14 (15-06-2019)Cleaning (mainly consistency in the naming format, read: snake_case everywhere)0.0.15 (09-08-2019)adjustments to use opsgenielib 0.0.180.0.16 (09-08-2019)Adding: policy_alerts_enable0.0.17 (09-08-2019)Using the latest opsgenielib0.0.18 (09-08-2019)Adding the option to give multiple alert notification ID’s to enable0.0.19 (12-08-2019)added: function to disable alert policies0.0.20 (12-08-2019)Checking on the string ‘Disabled’ instead of ‘Enabled’0.0.21 (12-08-2019)Added functions to enable and disable notification policies0.0.22 (13-08-2019)ID variable could be a string or list in the enable/disable policies functions. Now it will always be a list.0.0.23 (13-08-2019)Copy paste error. Changed enabled to disabled for the policy_notificatio_policy.0.0.24 (13-08-2019)Changing to the filtering of the maintenance policy set.0.0.25 (13-08-2019)Small changes to policy-maintenance set.0.0.26 (16-08-2019)adding the option to add multiple –filter to policy-maintenance set0.0.27 (16-08-2019)Maintenance policy set - output now includes the names of the policies that are enabled0.0.28 (16-08-2019)Adding –filter functionality to cancel_maintenance_policy0.0.29 (16-08-2019)Fixes to policy_maintenance_cancel after testing0.0.30 (17-08-2019)Added argument –filter for function policy_maintenance_delete0.0.31 (18-08-2019)Added –filter to policy_alerts_delete0.0.32 (18-08-2019)Alert policy enable/disable: no longer –team_id a requirement and optimised –filter0.0.33 (19-08-2019)policy-notifications delete: Added –filter functionality0.0.34 (19-08-2019)policy_notifications_disable: added –filter functionality0.0.35 (20-08-2019)Using the latest opsgenielib version0.0.36 (20-08-2019)Added function ‘policy_alerts_get’0.0.37 (20-08-2019)Added function ‘policy_alerts_get’0.0.38 (20-08-2019)Removed ‘cls=DefaultHelp’ from the function ‘policy_alerts_list’. The effect is that no –team_id has to be specified to run the command.0.0.39 (21-08-2019)Fixing the time for maintenance set –start_date & –end_date0.0.40 (04-09-2019)Added the param –team_name to a lot of functions which uses regex to find the teamname or teamid0.0.41 (08-09-2019)Fix to ‘alerts_list’ by removing the default help class. Parameter options no longer conflict with builtin functions. Parameter options now use a dash instead of an underscore (team-name instead of team_name). Added function ‘schedules_timeline’0.0.42 (08-09-2019)Added the requirement to give a team-name for the function schedules_timeline0.0.43 (12-09-2019)the all option parameter had two dashes twice, the last one should be without any dashes to representation the internal variable0.0.44 (02-10-2019)Adding users endpoint and the function list users0.0.45 (03-10-2019)Added the functionality to close 1 or all alerts that are acknowledged but not closed0.0.46 (09-10-2019)Removed the team-id from policy_maintenance_list since it does not accept the parameter and added more docs to the function0.0.47 (11-10-2019)added prompt when using –all for the function alerts_close0.0.48 (11-10-2019)alerts_close - bug fix - was referencing to a non existing key in the variable result0.0.49 (16-10-2019)Function name was changed to list_maintenance_policy so had to update functions that used it0.0.50 (16-10-2019)Small fix for policy_maintenance_cancel0.0.51 (17-10-2019)Quicker results when trying to acknowledge all alerts0.0.52 (29-11-2019)naming changes, opsgenielib class was renamed plus maintenance functions.0.0.53 (04-01-2020)Added function policy_alerts_set0.0.54 (04-01-2020)policy_alerts_set parameter enabled to flag0.0.55 (06-01-2020)Maintenance policy set now notifies when no alert policies were found0.0.56 (19-06-2020)Adding more parameters to the function: schedules timeline0.0.57 (19-06-2020)Setting intervalunit default to months and if check now includes current date0.0.58 (19-06-2020)Removing print from the function0.0.59 (19-06-2020)Setting default value for function0.0.60 (19-06-2020)Added the function ‘reshuffle’0.0.61 (13-07-2020)adding –active to alert policy list and an end date field for maintenance policy list0.0.62 (24-07-2020)Moving from UTC to local time as input for override command0.0.63 (26-07-2020)Cleaning up parsing of dates with pendulum & adding functionality (out of office and not filtered) to alerts list and count0.0.64 (26-07-2020)Using the latest version of opsgenielib0.0.65 (26-07-2020)variable fix for alerts_list0.0.66 (27-07-2020)Removing version command0.0.67 (05-08-2020)Had an incorrect datetime compare, that is fixed now0.0.68 (06-08-2020)fixing timezone for policy-maintenance list0.0.69 (30-08-2020)Created the function create_and_add_to_pretty_table, added sort_by functionality for alerts so far0.0.70 (30-08-2020)Unnecessary check0.0.71 (31-08-2020)Removing debug line0.0.72 (31-08-2020)Added –last param to alerts list0.0.73 (31-08-2020)Adding –last to alerts count0.0.74 (31-08-2020)adding day indication to schedules timeline0.0.75 (31-08-2020)adding check if the sort-by argument is in the column headers0.0.76 (12-10-2020)override with schedule didnt work, fixed time format sent to lib0.0.77 (13-11-2020)Fixing to_datetime_string in override for hours section0.1.0 (23-12-2020)alerts query did an incorrect check on a default param0.1.1 (23-12-2020)Testing if procedure works on new mac0.1.2 (06-01-2021)bug in the if / if statement for the schedules_get function0.1.3 (06-01-2021)all to any0.1.4 (16-02-2022)“Preventing policy-maintenance set where start-date is after end-date”0.1.5 (06-04-2022)click escaped the query input, which it shouldnt, thus its removed to allow teams with spaces0.1.7 (13-07-2023)Using absolute imports0.1.9 (13-07-2023)Using absolute imports0.1.10 (13-07-2023)missing entry point