- Fixes Discord message links to appear correctly (previously the wrong syntax was used or has since changed on the Discord side and inline links weren't getting wrapped properly)
- Swaps the deprecated
slackclient
for the newslack_sdk
, no user impact expected
- Expand paths for user-supplied
--location
strings. This now allows for spaces in paths and proper expansion of home directories (eg:~
)
- Adds
--version
CLI flag - Bumps dependencies
- Pins the correct version of
PyGithub
to properly use the newAuth
object
- Drops support for Python 3.7
- Adds a new
--quiet
flag which will not send messages if no PRs or issues can be found
- Adds
--disable_descriptions
flag which will not populate the description in messages
- Adds support for team reviewers to populate in messages
- Adds
log_level
flag allowing the user to specify a log level of their choice (defaults toINFO
)
- Filters out pull requests from the returned issues. Apparently GitHub's v3 API returns pull requests in the response of a list of issues, see https://docs.github.com/en/rest/reference/issues#list-repository-issues for details
- Messages now include dismissed reviewers under the
Reviewers
section - Reviewers are now a set to avoid duplicates (such as multiple "changes requested" or "dismissed" reviews)
- Adds reviewers to messages who have approved or requested changes. Previously, only reviewers that had been requested but had not reviewed would show in messages. Depending on the status of the review, an appropriate emoji will show in the message to signify what the user did for their review
- Various other small improvements to message building
- Fixes a bug where the "no pull requests" message wouldn't be used properly when draft pull requests were present but not requested as the check for pull requests happened before the filtering occured
- Fixes a bug where if both pull request and issue flags were used at the same time that pull request data would bleed into the issue messages due to reassignment of variables (variables have since been distinguished from one another)
- Bumps dev deps
- Fix the index error on retrieving requested reviewers
- Added the
author
to the messages - Switched from
assignees
torequested reviewers
for thewaiting on
portion of the message - Added
base_url
paremeter to specify an enterprise GitHub instance if necessary - Reworked the
github_token
logic to allow for better unauthenticated usage when no GitHub token is passed - Removed support to send messages to
Rocket.Chat
- Renamed all occurances of
GithubBug
toPullbug
as Gitlab was removed previously and the distinction between platforms was no longer needed. Also renamed thegithub_bug
module tobug
and made various functions used only for the tool private. Also corrects theMessages
class name to the singularMessage
- Moved
typed_extensions
to the list of requirements from dev requirements since we import the package in code, fixesmodule not found
error
github_owner
is now required, was previously optional by mistakegithub_context
now has a default ofusers
restoring previously changed default behavior- Fixes a bug where iterating over issues may have not worked due to a syntax error
- Adds
mypy
type checking- Fixes some typing errors around default values when no parameter is passed (changes strings from
None
to an empty string to better represent the type across the whole app.)
- Fixes some typing errors around default values when no parameter is passed (changes strings from
- Use
woodchips
for logging - Adds missing
__all__
variable for importing - Adds Python type hinting, stronger tests
- Small bug fixes
- Completely removes
GitLab
support as I no longer use the platform and can't reliably test its functionality nor have a desire to maintain that piece. For those looking to still use Pullbug's GitLab feature, you can use any version of Pullbug prior tov3.0.0
- Replaces all env variables with CLI args for a more uniform experience, various shortcodes for flags were changed or removed as a part of this process (closes #24)
- Replaces the
--wip
flag with--drafts
to use the newer GitHub draft boolean to determine if a pull request is a draft or not (closes #28) - Now requires the
--github_context
flag for explicit logic routing - Now requires the
--pulls
or--issues
flag for explicit logic routing
- Added new
--repos
flag to filter repos you want pull requests for (closes #23) - Added new
--issues
flag to bug GitHub for issues instead of pull requests. No includes--pulls
flag to help differentiate (closes #19) - Switched from raw API calls to
PyGithub
which allows us to properly handle pagination (closes #14) - Replace all
classmethods
with instance or static methods - Various bug fixes and code refactor
- Drops support for Python 3.6
- Swaps
mock
library for builtinunittest.mock
library - Formats entire project with
Black
- Pin dependencies
- Fix typos in classmethod decorators
- Command line arguments are now validated at runtime and their defaults have been set in code (closes #22)
- If there is no assignee to a pull request, we will now populate the
waiting on
message withNA
instead of leaving it blank - Small code refactor and improved test coverage
- Adds Discord support. Now you can send Pullbug messages to a Discord webhook (closes #17)
- Completely rewrote the message module. Messages are now an array of messages built from PR/MR data. This allows messages to be broken up easily into batches for chat services such as Discord which may require multiple batches of messages due to character limit
- The repo name is now included in each message with a link to the repo (closes #16)
- Reworked tests to be more clean and uniform
- Various bug fixes and code refactor for better performance and maintainability
- Fixing typo in gitlab message
- Fixed bug where arguments weren't being passed properly to the
run_missing_checks
function. - Beefed up tests to ensure args were being passed to this function
- Adding missing
main
entrypoint function that was accidentally deleted during code refactor for v2.0.0
- Replaced
logger.warning
withlogger.error
as they were used incorrectly (closes #15)
- Correcting references of "Pull Bug" to "Pullbug"
- Instead of raising an error when no pull or merge requests can be found, we return that message. This is helpful when a user wanted to use both GitHub and GitLab in a single invocation. The previous implementation would exit the script without running the other.
- Added context for GitHub, you can now get personal pull requests in addition to orgs
- Added logging both to console and to a file. Logs will rollover when their size gets too big
- Added various error handling that was missing
- Added unit tests and code coverage
- Bumped character count from 100 to 120 for descriptions on messages
- Assignees are now checked against the assignee array instead of a single assignee if there are multiple
- Bumped pagination from 20 to 100 items
- Updated documentation
- Various settings now have default values
- Introduced various new settings that can be altered
- Various bug fixes
- Removed requirements.txt and added dependencies to setup.py
- Added error handling for requests and Slack messaging
- Added error handling surrounding missing API Keys
- Fixed line-too-long linting errors
- Added helpful information to
.env.example
- Closed #8 - added a custom message when there is nothing to pull
- Added additional output during script execution to show progress
- Published to PyPI
- Reworked the entire project into a Python package with proper class and function naming
- Consolidated code once again allowing for now code requests
- Bug fixes
- Better documentation
- Added GitHub and Slack as options
- Cleaned up code and added testing
- Consolidated multiple scripts into fewer items
- Allowed WIP requests to be ignored
- Added more customization with additional environment variables
- Messages are now a single message instead of individual ones
- Initial release
- Added ability to send messages from GitLab to Rocket Chat