ChangeLog¶
Version 1.9.0 - 2019-06-19¶
Features¶
implement artifacts deletion
add endpoint to get the variables of a pipeline
delete ProjectPipeline
implement __eq__ and __hash__ methods
Allow runpy invocation of CLI tool (python -m gitlab)
add project releases api
merged new release & registry apis
Bug Fixes¶
convert # to %23 in URLs
pep8 errors
use python2 compatible syntax for super
Make MemberManager.all() return a list of objects
%d replaced by %s
Re-enable command specific help messages
dont ask for id attr if this is *Manager originating custom action
fix -/_ replacament for *Manager custom actions
fix repository_id marshaling in cli
register cli action for delete_in_bulk
Version 1.8.0 - 2019-02-22¶
docs(setup): use proper readme on PyPI
docs(readme): provide commit message guidelines
fix(api): make reset_time_estimate() work again
fix: handle empty ‘Retry-After’ header from GitLab
fix: remove decode() on error_message string
chore: release tags to PyPI automatically
fix(api): avoid parameter conflicts with python and gitlab
fix(api): Don’t try to parse raw downloads
feat: Added approve & unapprove method for Mergerequests
fix all kwarg behaviour
Version 1.7.0 - 2018-12-09¶
[docs] Fix the owned/starred usage documentation
[docs] Add a warning about http to https redirects
Fix the https redirection test
[docs] Add a note about GroupProject limited API
Add missing comma in ProjectIssueManager _create_attrs
More flexible docker image
Add project protected tags management
[cli] Print help and usage without config file
Rename MASTER_ACCESS to MAINTAINER_ACCESS
[docs] Add docs build information
Use docker image with current sources
[docs] Add PyYAML requirement notice
Add Gitter badge to README
[docs] Add an example of pipeline schedule vars listing
[cli] Exit on config parse error, instead of crashing
Add support for resource label events
[docs] Fix the milestone filetring doc (iid -> iids)
[docs] Fix typo in custom attributes example
Improve error message handling in exceptions
Add support for members all() method
Add access control options to protected branch creation
Version 1.6.0 - 2018-08-25¶
[docs] Don’t use hardcoded values for ids
[docs] Improve the snippets examples
[cli] Output: handle bytes in API responses
[cli] Fix the case where we have nothing to print
Project import: fix the override_params parameter
Support group and global MR listing
Implement MR.pipelines()
MR: add the squash attribute for create/update
Added support for listing forks of a project
[docs] Add/update notes about read-only objects
Raise an exception on https redirects for PUT/POST
[docs] Add a FAQ
[cli] Fix the project-export download
Version 1.5.0 - 2018-06-22¶
Drop API v3 support
Drop GetFromListMixin
Update the sphinx extension for v4 objects
Add support for user avatar upload
Add support for project import/export
Add support for the search API
Add a global per_page config option
Add support for the discussions API
Add support for merged branches deletion
Add support for Project badges
Implement user_agent_detail for snippets
Implement commit.refs()
Add commit.merge_requests() support
Deployment: add list filters
Deploy key: add missing attributes
Add support for environment stop()
Add feature flags deletion support
Update some group attributes
Issues: add missing attributes and methods
Fix the participants() decorator
Add support for group boards
Implement the markdown rendering API
Update MR attributes
Add pipeline listing filters
Add missing project attributes
Implement runner jobs listing
Runners can be created (registered)
Implement runner token validation
Update the settings attributes
Add support for the gitlab CI lint API
Add support for group badges
Fix the IssueManager path to avoid redirections
time_stats(): use an existing attribute if available
Make ProjectCommitStatus.create work with CLI
Tests: default to python 3
ProjectPipelineJob was defined twice
Silence logs/warnings in unittests
Add support for MR approval configuration (EE)
Change post_data default value to None
Add geo nodes API support (EE)
Add support for issue links (EE)
Add support for LDAP groups (EE)
Add support for board creation/deletion (EE)
Add support for Project.pull_mirror (EE)
Add project push rules configuration (EE)
Add support for the EE license API
Add support for the LDAP groups API (EE)
Add support for epics API (EE)
Fix the non-verbose output of ProjectCommitComment
Version 1.4.0 - 2018-05-19¶
Require requests>=2.4.2
ProjectKeys can be updated
Add support for unsharing projects (v3/v4)
[cli] fix listing for json and yaml output
Fix typos in documentation
Introduce RefreshMixin
[docs] Fix the time tracking examples
[docs] Commits: add an example of binary file creation
[cli] Allow to read args from files
Add support for recursive tree listing
[cli] Restore the –help option behavior
Add basic unit tests for v4 CLI
[cli] Fix listing of strings
Support downloading a single artifact file
Update docs copyright years
Implement attribute types to handle special cases
[docs] fix GitLab reference for notes
Expose additional properties for Gitlab objects
Fix the impersonation token deletion example
feat: obey the rate limit
Fix URL encoding on branch methods
[docs] add a code example for listing commits of a MR
[docs] update service.available() example for API v4
[tests] fix functional tests for python3
api-usage: bit more detail for listing with all
More efficient .get() for group members
Add docs for the files arg in http_*
Deprecate GetFromListMixin
Version 1.3.0 - 2018-02-18¶
Add support for pipeline schedules and schedule variables
Clarify information about supported python version
Add manager for jobs within a pipeline
Fix wrong tag example
Update the groups documentation
Add support for MR participants API
Add support for getting list of user projects
Add Gitlab and User events support
Make trigger_pipeline return the pipeline
Config: support api_version in the global section
Gitlab can be used as context manager
Default to API v4
Add a simplified example for streamed artifacts
Add documentation about labels update
Version 1.2.0 - 2018-01-01¶
Add mattermost service support
Add users custom attributes support
[doc] Fix project.triggers.create example with v4 API
Oauth token support
Remove deprecated objects/methods
Rework authentication args handling
Add support for oauth and anonymous auth in config/CLI
Add support for impersonation tokens API
Add support for user activities
Update user docs with gitlab URLs
[docs] Bad arguments in projects file documentation
Add support for user_agent_detail (issues)
Add a SetMixin
Add support for project housekeeping
Expected HTTP response for subscribe is 201
Update pagination docs for ProjectCommit
Add doc to get issue from iid
Make todo() raise GitlabTodoError on error
Add support for award emojis
Update project services docs for v4
Avoid sending empty update data to issue.save
[docstrings] Explicitly document pagination arguments
[docs] Add a note about password auth being removed from GitLab
Submanagers: allow having undefined parameters
ProjectFile.create(): don’t modify the input data
Update testing tools for /session removal
Update groups tests
Allow per_page to be used with generators
Add groups listing attributes
Add support for subgroups listing
Add supported python versions in setup.py
Add support for pagesdomains
Add support for features flags
Add support for project and group custom variables
Add support for user/group/project filter by custom attribute
Respect content of REQUESTS_CA_BUNDLE and *_proxy envvars
Version 1.1.0 - 2017-11-03¶
Fix trigger variables in v4 API
Make the delete() method handle / in ids
[docs] update the file upload samples
Tags release description: support / in tag names
[docs] improve the labels usage documentation
Add support for listing project users
ProjectFileManager.create: handle / in file paths
Change ProjectUser and GroupProject base class
[docs] document get_create_attrs in the API tutorial
Document the Gitlab session parameter
ProjectFileManager: custom update() method
Project: add support for printing_merge_request_link_enabled attr
Update the ssl_verify docstring
Add support for group milestones
Add support for GPG keys
Add support for wiki pages
Update the repository_blob documentation
Fix the CLI for objects without ID (API v4)
Add a contributed Dockerfile
Pagination generators: expose more information
Module’s base objects serialization
[doc] Add sample code for client-side certificates
Version 1.0.2 - 2017-09-29¶
[docs] remove example usage of submanagers
Properly handle the labels attribute in ProjectMergeRequest
ProjectFile: handle / in path for delete() and save()
Version 1.0.1 - 2017-09-21¶
Tags can be retrieved by ID
Add the server response in GitlabError exceptions
Add support for project file upload
Minor typo fix in “Switching to v4” documentation
Fix password authentication for v4
Fix the labels attrs on MR and issues
Exceptions: use a proper error message
Fix http_get method in get artifacts and job trace
CommitStatus: sha is parent attribute
Fix a couple listing calls to allow proper pagination
Add missing doc file
Version 1.0.0 - 2017-09-08¶
Support for API v4. See http://python-gitlab.readthedocs.io/en/master/switching-to-v4.html
Support SSL verification via internal CA bundle
Docs: Add link to gitlab docs on obtaining a token
Added dependency injection support for Session
Fixed repository_compare examples
Fix changelog and release notes inclusion in sdist
Missing expires_at in GroupMembers update
Add lower-level methods for Gitlab()
Version 0.21.2 - 2017-06-11¶
Install doc: use sudo for system commands
[v4] Make MR work properly
Remove extra_attrs argument from _raw_list
[v4] Make project issues work properly
Fix urlencode() usage (python 2/3) (#268)
Fixed spelling mistake (#269)
Add new event types to ProjectHook
Version 0.21 - 2017-05-24¶
Add time_stats to ProjectMergeRequest
Update User options for creation and update (#246)
Add milestone.merge_requests() API
Fix docs typo (s/correspnding/corresponding/)
Support milestone start date (#251)
Add support for priority attribute in labels (#256)
Add support for nested groups (#257)
Make GroupProjectManager a subclass of ProjectManager (#255)
Available services: return a list instead of JSON (#258)
MR: add support for time tracking features (#248)
Fixed repository_tree and repository_blob path encoding (#265)
Add ‘search’ attribute to projects.list()
Initial gitlab API v4 support
Reorganise the code to handle v3 and v4 objects
Allow 202 as delete return code
Deprecate parameter related methods in gitlab.Gitlab
Version 0.20 - 2017-03-25¶
Add time tracking support (#222)
Improve changelog (#229, #230)
Make sure that manager objects are never overwritten (#209)
Include chanlog and release notes in docs
Add DeployKey{,Manager} classes (#212)
Add support for merge request notes deletion (#227)
Properly handle extra args when listing with all=True (#233)
Implement pipeline creation API (#237)
Fix spent_time methods
Add ‘delete source branch’ option when creating MR (#241)
Provide API wrapper for cherry picking commits (#236)
Stop listing if recursion limit is hit (#234)
Version 0.19 - 2017-02-21¶
Update project.archive() docs
Support the scope attribute in runners.list()
Add support for project runners
Add support for commit creation
Fix install doc
Add builds-email and pipelines-email services
Deploy keys: rework enable/disable
Document the dynamic aspect of objects
Add pipeline_events to ProjectHook attrs
Add due_date attribute to ProjectIssue
Handle settings.domain_whitelist, partly
{Project,Group}Member: support expires_at attribute
Version 0.18 - 2016-12-27¶
Fix JIRA service editing for GitLab 8.14+
Add jira_issue_transition_id to the JIRA service optional fields
Added support for Snippets (new API in Gitlab 8.15)
[docs] update pagination section
[docs] artifacts example: open file in wb mode
[CLI] ignore empty arguments
[CLI] Fix wrong use of arguments
[docs] Add doc for snippets
Fix duplicated data in API docs
Update known attributes for projects
sudo: always use strings
Version 0.17 - 2016-12-02¶
README: add badges for pypi and RTD
Fix ProjectBuild.play (raised error on success)
Pass kwargs to the object factory
Add .tox to ignore to respect default tox settings
Convert response list to single data source for iid requests
Add support for boards API
Add support for Gitlab.version()
Add support for broadcast messages API
Add support for the notification settings API
Don’t overwrite attributes returned by the server
Fix bug when retrieving changes for merge request
Feature: enable / disable the deploy key in a project
Docs: add a note for python 3.5 for file content update
ProjectHook: support the token attribute
Rework the API documentation
Fix docstring for http_{username,password}
Build managers on demand on GitlabObject’s
API docs: add managers doc in GitlabObject’s
Sphinx ext: factorize the build methods
Implement __repr__ for gitlab objects
Add a ‘report a bug’ link on doc
Remove deprecated methods
Implement merge requests diff support
Make the manager objects creation more dynamic
Add support for templates API
Add attr ‘created_at’ to ProjectIssueNote
Add attr ‘updated_at’ to ProjectIssue
CLI: add support for project all –all
Add support for triggering a new build
Rework requests arguments (support latest requests release)
Fix should_remove_source_branch
Version 0.16 - 2016-10-16¶
Add the ability to fork to a specific namespace
JIRA service - add api_url to optional attributes
Fix bug: Missing coma concatenates array values
docs: branch protection notes
Create a project in a group
Add only_allow_merge_if_build_succeeds option to project objects
Add support for –all in CLI
Fix examples for file modification
Use the plural merge_requests URL everywhere
Rework travis and tox setup
Workaround gitlab setup failure in tests
Add ProjectBuild.erase()
Implement ProjectBuild.play()
Version 0.15.1 - 2016-10-16¶
docs: improve the pagination section
Fix and test pagination
‘path’ is an existing gitlab attr, don’t use it as method argument
Version 0.15 - 2016-08-28¶
Add a basic HTTP debug method
Run more tests in travis
Fix fork creation documentation
Add more API examples in docs
Update the ApplicationSettings attributes
Implement the todo API
Add sidekiq metrics support
Move the constants at the gitlab root level
Remove methods marked as deprecated 7 months ago
Refactor the Gitlab class
Remove _get_list_or_object() and its tests
Fix canGet attribute (typo)
Remove unused ProjectTagReleaseManager class
Add support for project services API
Add support for project pipelines
Add support for access requests
Add support for project deployments
Version 0.14 - 2016-08-07¶
Remove ‘next_url’ from kwargs before passing it to the cls constructor.
List projects under group
Add support for subscribe and unsubscribe in issues
Project issue: doc and CLI for (un)subscribe
Added support for HTTP basic authentication
Add support for build artifacts and trace
–title is a required argument for ProjectMilestone
Commit status: add optional context url
Commit status: optional get attrs
Add support for commit comments
Issues: add optional listing parameters
Issues: add missing optional listing parameters
Project issue: proper update attributes
Add support for project-issue move
Update ProjectLabel attributes
Milestone: optional listing attrs
Add support for namespaces
Add support for label (un)subscribe
MR: add (un)subscribe support
Add note_events to project hooks attributes
Add code examples for a bunch of resources
Implement user emails support
Project: add VISIBILITY_* constants
Fix the Project.archive call
Implement archive/unarchive for a projet
Update ProjectSnippet attributes
Fix ProjectMember update
Implement sharing project with a group
Implement CLI for project archive/unarchive/share
Implement runners global API
Gitlab: add managers for build-related resources
Implement ProjectBuild.keep_artifacts
Allow to stream the downloads when appropriate
Groups can be updated
Replace Snippet.Content() with a new content() method
CLI: refactor _die()
Improve commit statuses and comments
Add support from listing group issues
Added a new project attribute to enable the container registry.
Add a contributing section in README
Add support for global deploy key listing
Add support for project environments
MR: get list of changes and commits
Fix the listing of some resources
MR: fix updates
Handle empty messages from server in exceptions
MR (un)subscribe: don’t fail if state doesn’t change
MR merge(): update the object
Version 0.13 - 2016-05-16¶
Add support for MergeRequest validation
MR: add support for cancel_merge_when_build_succeeds
MR: add support for closes_issues
Add “external” parameter for users
Add deletion support for issues and MR
Add missing group creation parameters
Add a Session instance for all HTTP requests
Enable updates on ProjectIssueNotes
Add support for Project raw_blob
Implement project compare
Implement project contributors
Drop the next_url attribute when listing
Remove unnecessary canUpdate property from ProjectIssuesNote
Add new optional attributes for projects
Enable deprecation warnings for gitlab only
Rework merge requests update
Rework the Gitlab.delete method
ProjectFile: file_path is required for deletion
Rename some methods to better match the API URLs
Deprecate the file_* methods in favor of the files manager
Implement star/unstar for projects
Implement list/get licenses
Manage optional parameters for list() and get()
Version 0.12.2 - 2016-03-19¶
Add new ProjectHook attributes
Add support for user block/unblock
Fix GitlabObject creation in _custom_list
Add support for more CLI subcommands
Add some unit tests for CLI
Add a coverage tox env
Define GitlabObject.as_dict() to dump object as a dict
Define GitlabObject.__eq__() and __ne__() equivalence methods
Define UserManager.search() to search for users
Define UserManager.get_by_username() to get a user by username
Implement “user search” CLI
Improve the doc for UserManager
CLI: implement user get-by-username
Re-implement _custom_list in the Gitlab class
Fix the ‘invalid syntax’ error on Python 3.2
Gitlab.update(): use the proper attributes if defined
Version 0.12 - 2016-02-03¶
Improve documentation
Improve unit tests
Improve test scripts
Skip BaseManager attributes when encoding to JSON
Fix the json() method for python 3
Add Travis CI support
Add a decode method for ProjectFile
Make connection exceptions more explicit
Fix ProjectLabel get and delete
Implement ProjectMilestone.issues()
ProjectTag supports deletion
Implement setting release info on a tag
Implement project triggers support
Implement project variables support
Add support for application settings
Fix the ‘password’ requirement for User creation
Add sudo support
Fix project update
Fix Project.tree()
Add support for project builds
Version 0.11.1 - 2016-01-17¶
Fix discovery of parents object attrs for managers
Support setting commit status
Support deletion without getting the object first
Improve the documentation
Version 0.11 - 2016-01-09¶
functional_tests.sh: support python 2 and 3
Add a get method for GitlabObject
CLI: Add the -g short option for –gitlab
Provide a create method for GitlabObject’s
Rename the _created attribute _from_api
More unit tests
CLI: fix error when arguments are missing (python 3)
Remove deprecated methods
Implement managers to get access to resources
Documentation improvements
Add fork project support
Deprecate the “old” Gitlab methods
Add support for groups search
Version 0.10 - 2015-12-29¶
Implement pagination for list() (#63)
Fix url when fetching a single MergeRequest
Add support to update MergeRequestNotes
API: Provide a Gitlab.from_config method
setup.py: require requests>=1 (#69)
Fix deletion of object not using ‘id’ as ID (#68)
Fix GET/POST for project files
Make ‘confirm’ an optional attribute for user creation
Python 3 compatibility fixes
Add support for group members update (#73)
Version 0.9 - 2015-05-15¶
Implement argparse library for parsing argument on CLI
Provide unit tests and (a few) functional tests
Provide PEP8 tests
Use tox to run the tests
CLI: provide a –config-file option
Turn the gitlab module into a proper package
Allow projects to be updated
Use more pythonic names for some methods
- Deprecate some Gitlab object methods:
raw* methods should never have been exposed; replace them with _raw_* methods
setCredentials and setToken are replaced with set_credentials and set_token
Sphinx: don’t hardcode the version in conf.py
Version 0.8 - 2014-10-26¶
Better python 2.6 and python 3 support
Timeout support in HTTP requests
Gitlab.get() raised GitlabListError instead of GitlabGetError
Support api-objects which don’t have id in api response
Add ProjectLabel and ProjectFile classes
Moved url attributes to separate list
Added list for delete attributes
Version 0.7 - 2014-08-21¶
Fix license classifier in setup.py
Fix encoding error when printing to redirected output
Fix encoding error when updating with redirected output
Add support for UserKey listing and deletion
Add support for branches creation and deletion
Support state_event in ProjectMilestone (#30)
Support namespace/name for project id (#28)
Fix handling of boolean values (#22)
Version 0.6 - 2014-01-16¶
IDs can be unicode (#15)
ProjectMember: constructor should not create a User object
Add support for extra parameters when listing all projects (#12)
Projects listing: explicitly define arguments for pagination
Version 0.5 - 2013-12-26¶
Add SSH key for user
Fix comments
Add support for project events
Support creation of projects for users
Project: add methods for create/update/delete files
Support projects listing: search, all, owned
System hooks can’t be updated
Project.archive(): download tarball of the project
Define new optional attributes for user creation
Provide constants for access permissions in groups
Version 0.4 - 2013-09-26¶
Fix strings encoding (Closes #6)
Allow to get a project commit (GitLab 6.1)
ProjectMergeRequest: fix Note() method
Gitlab 6.1 methods: diff, blob (commit), tree, blob (project)
Add support for Gitlab 6.1 group members
Version 0.3 - 2013-08-27¶
Use PRIVATE-TOKEN header for passing the auth token
provide an AUTHORS file
cli: support ssl_verify config option
Add ssl_verify option to Gitlab object. Defaults to True
Correct url for merge requests API.
Version 0.1 - 2013-07-08¶
Initial release