python-jenkins-developers team mailing list archive
-
python-jenkins-developers team
-
Mailing list archive
-
Message #00590
[Bug 1781381] Re: Cannot delete build using delete_build
my cmd2.Cmd wrapper with a workaround, simply replaces b'' w/ {}
def do_deletebuild(self, args):
"""delete build numbers
WIP, fails on maybe_add_crumb
https://www.mail-archive.com/python-jenkins-developers@xxxxxxxxxxxxxxxxxxx/msg00533.html
"""
if hasattr(self, 'jobs'):
_jobs = self.jobs
else:
# this is the path for nested jobs
# e.g. Release_3.3/GOLD/PERFORMANCE/EDGE1000 property lastBuild
_jobs = args[:1]
args = args[1:]
if isinstance(_jobs[0], str):
_jobs[0] = dict(name=_jobs[0])
jobname = _jobs[0]['name']
try:
numbers = int(args[0])
if numbers < 0:
# TODO all but N newest
pass
numbers = range(numbers, numbers + 1)
except ValueError:
numbers = args[0].split('-')
numbers = range(int(numbers[0]), int(numbers[1]) + 1)
# delete a range
for number in numbers:
folder_url, short_name = self.server._get_job_folder(jobname)
url = self.server._build_url(jenkins.DELETE_BUILD, locals())
headers = {}
self.server.jenkins_open(requests.Request('POST', url, headers))
--
You received this bug notification because you are a member of Python
Jenkins Developers, which is subscribed to Python Jenkins.
https://bugs.launchpad.net/bugs/1781381
Title:
Cannot delete build using delete_build
Status in Python Jenkins:
New
Bug description:
Requirement already up-to-date: python-jenkins in
.XXXXXXX/venv/lib/python3.6/site-packages (1.0.2)
In line 357 of __init__.py (function maybe_add_crumb) the code fails on req.headers[self.crumb['crumbRequestField']] = self.crumb['crumb']
at this point i have a value for self.crumb and req.headers is b''
the error i get is "bytes' object does not support item assignment"
trace
File "XXXXXX.py", line 9, in <module>
j.delete_build(r"Whale Watchers/Project Whale Watcher QA - Grouped", k)
File "XXXXXX/venv/lib/python3.6/site-packages/jenkins/__init__.py", line 1354, in delete_build
self._build_url(DELETE_BUILD, locals()), b''))
File "XXXXXX/venv/lib/python3.6/site-packages/jenkins/__init__.py", line 540, in jenkins_open
return self.jenkins_request(req, add_crumb, resolve_auth).text
File "XXXXXX/venv/lib/python3.6/site-packages/jenkins/__init__.py", line 556, in jenkins_request
self.maybe_add_crumb(req)
File "XXXXXX/venv/lib/python3.6/site-packages/jenkins/__init__.py", line 357, in maybe_add_crumb
req.headers[self.crumb['crumbRequestField']] = self.crumb['crumb']
TypeError: 'bytes' object does not support item assignment
To manage notifications about this bug go to:
https://bugs.launchpad.net/python-jenkins/+bug/1781381/+subscriptions
References