Commits
The Python standard library offers an `exist_ok` kwarg for `os.makedirs` which handles the case where directories already exist in the folder path.
The resulting code is more elegant, and allows Python to potentially optimize the call at the OS level.
Enables exporting the rendered chart to a user-supplied filepath.
Merge pull request #32 from KARASTA/feature/save-filepath
I no longer use Twitter, so I'd prefer to direct traffic to LinkedIn where I am more active.
Different people will want to calculate the points for their
burndown charts in different ways.
This commit breaks a lot of cross module dependencies to add
support for a custom `PointsCalculator` interface, which follows
the Strategy design pattern for calculating the points over time
to show on the burndown chart.
Four calculators are made available by default (see `README.md`).
Additional calculators may be added over time or by PR.
Closes #23 by providing the `taiga` calculator.
Burndown charts can now be posted to a Discord webhook!
See the README.md for instructions.
Simplify Makefile commands + add optional `chart_end_date` setting
This new setting allows you to change the end date of the chart
without affecting the slope of the ideal burndown line.
This is useful for showing tasks that were completed after the official
end of a sprint.
Typing `project_` twice for each invocation of the tool quickly
became burdensome, so I removed it. :D
This project was processing dates without proper consideration of
their timezones. As such, several bizarre errors errors were
happening, especially around the start and end of a sprint.
For example, issues closed at 6pm Arizona time on the last day of
the sprint were not having their points credited to that day on
the burndown chart because GitHub returned that closed date as
1am UTC the following day.
This project now processes all dates internally using UTC. The
`sprint_start_date` and `sprint_end_date` are assumed to be
at 00:00:00 *local time*, and the final burndown chart is
rendered in local time.
These changes fix #17 and fix #21
Add support for organization projects + multiple saved configs
PR #16 was opened before the latest refactor. This commit
integrates it's changes into the current code base.
Also closes #15
To make a cleaner separation between graphql and python
code, this commit extracts the graphql query text from the
api_wrapper module.
Folders were restructured to facilitate the future addition
of automated unit tests.
Lastly, a Makefile was added to make it easier to build, test,
and run the burndown chart generator.
This tool enables you to generate a Burndown Chart for your
progress on a GitHub Project Board. See the README.md for
full details!
Closes #1
Closes #2
Closes #3
Co-authored-by: Jacob Janes <44354744+jgjanes@users.noreply.github.com>
Different people will want to calculate the points for their
burndown charts in different ways.
This commit breaks a lot of cross module dependencies to add
support for a custom `PointsCalculator` interface, which follows
the Strategy design pattern for calculating the points over time
to show on the burndown chart.
Four calculators are made available by default (see `README.md`).
Additional calculators may be added over time or by PR.
Closes #23 by providing the `taiga` calculator.
This project was processing dates without proper consideration of
their timezones. As such, several bizarre errors errors were
happening, especially around the start and end of a sprint.
For example, issues closed at 6pm Arizona time on the last day of
the sprint were not having their points credited to that day on
the burndown chart because GitHub returned that closed date as
1am UTC the following day.
This project now processes all dates internally using UTC. The
`sprint_start_date` and `sprint_end_date` are assumed to be
at 00:00:00 *local time*, and the final burndown chart is
rendered in local time.
These changes fix #17 and fix #21
To make a cleaner separation between graphql and python
code, this commit extracts the graphql query text from the
api_wrapper module.
Folders were restructured to facilitate the future addition
of automated unit tests.
Lastly, a Makefile was added to make it easier to build, test,
and run the burndown chart generator.