Skip to content
This repository has been archived by the owner on Feb 27, 2023. It is now read-only.

Commit

Permalink
#7 Create version
Browse files Browse the repository at this point in the history
Signed-off-by: Uilian Ries <uilianries@gmail.com>
  • Loading branch information
uilianries committed Jul 13, 2019
1 parent d80bb3c commit 33abb37
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 2 deletions.
37 changes: 35 additions & 2 deletions bintray/bintray.py
Original file line number Diff line number Diff line change
Expand Up @@ -1086,9 +1086,42 @@ def get_version(self, subject, repo, package, version="_latest", attribute_value
self._logger.info("Get successfully")
return response

def create_version(self, subject, repo, package, name, description=None,
released=None, github_release_notes_file=None,
github_use_tag_release_notes=None, vcs_tag=None):
""" Creates a new version in the specified package (user has to be owner of the package)
Security: Authenticated user with 'publish' permission, or package read/write
entitlement.
:param subject: repository owner
:param repo: repository name
:param package: package name
:param name: version name
:param description: version description
:param released: release date ISO8601
:param github_release_notes_file: file path for release notes e.g. RELEASE.txt
:param github_use_tag_release_notes: True when contain release notes file
:param vcs_tag: tag name in VCS
:return: request response
"""
url = "{}/packages/{}/{}/{}/versions".format(Bintray.BINTRAY_URL, subject, repo, package)
json_data = {'name': name}
if isinstance(description, str):
json_data["desc"] = description
if isinstance(released, str):
json_data["released"] = released
if isinstance(github_release_notes_file, str):
json_data["github_release_notes_file"] = github_release_notes_file
if isinstance(github_use_tag_release_notes, bool):
json_data["github_use_tag_release_notes"] = github_use_tag_release_notes
if isinstance(vcs_tag, str):
json_data["vcs_tag"] = vcs_tag

response = self._requester.post(url, json=json_data)
self._logger.info("Create successfully")
return response

def create_version(self):
pass

def delete_version(self):
pass
Expand Down
14 changes: 14 additions & 0 deletions tests/test_versions.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-

import datetime
from bintray.bintray import Bintray


Expand All @@ -9,3 +10,16 @@ def test_get_version():
assert response.get("error") == False
assert response.get("name") == "test"
assert response.get("statusCode") == 200


def test_create_version():
bintray = Bintray()
now = datetime.datetime.now()
version = now.strftime("%Y%m%d%H%M%S")
released = now.strftime("%Y-%m-%d")

response = bintray.create_version("uilianries", "generic", "statistics", name=version,
released=released, vcs_tag="0.1.0")
assert response.get("error") == False
assert response.get("name") == version
assert response.get("statusCode") == 201

0 comments on commit 33abb37

Please sign in to comment.