Open
Conversation
Ignore JetBrains IDE-generated files.
Run the black formatter over the code.
As of 2020 Jan 01, official support for Python 2 has ended (https://www.python.org/doc/sunset-python-2/, https://python3statement.org/). * Remove `from __future__ import absolute_import` statement. * Remove `from __future__ import unicode_literals` statement. * Remove `from __future__ import print_function` statement. * Remove `from urlparse import urljoin` statement, and retain the Python 3 equivalent. * Switch to using format strings. * BUGFIX: Per https://docs.rundeck.com/docs/api/rundeck-api.html#bulk-delete-executions, the url in the bulk_delete_executions function should look like `{}/executions/delete`, not `{}/executions/{}/delete`.
From rundeck/rundeck#1923: > I've traced the issue down to the Content-Type header that messes up the whole request (It's not needed for a GET anyway, was there from a previous POST). The output is still a XML, I'll open a different issue for that There are a few posts saying the same thing: GET requests specifying a Content-Type header causes the URL parameters to be ignored.
There are some cases where end-users of the library want to override the headers sent to Rundeck (ex. not every response is going to be application/json).
Per https://docs.rundeck.com/docs/api/rundeck-api.html#execution-query, we can pass a format parameter (json, xml, text) and specify the relevant Accept header so that you can, for example, download the raw log text.
PyCharm shows error messages like `Shadows name 'username' from outer scope` in the init function of the Rundeck class. We can disambiguate the parameters to the init function from the variables in the main context by renaming the variables. In this instance, I appended an underscore to the variables.
Add a function that exposes Rundeck API functionality for exporting an individual job.
pschmitt
requested changes
Jan 23, 2020
Owner
pschmitt
left a comment
There was a problem hiding this comment.
It's quite hard to review 4 PRs that basically all include each other.
| ): | ||
| self.rundeck_url = rundeck_url | ||
| self.API_URL = urljoin(rundeck_url, '/api/{}'.format(api_version)) | ||
| self.API_URL = urljoin(rundeck_url, f"/api/{api_version}") |
Owner
There was a problem hiding this comment.
f strings are Python 3.6+ only. I happen to use these quite a lot as well but I'm not sure if requiring 3.6+ is that smart of a move.
| @@ -1,2 +1 @@ | |||
| from __future__ import absolute_import | |||
Contributor
Author
There was a problem hiding this comment.
Hey @pschmitt I needed to make a ton of changes to make this library useful to me so I broke them up into separate branches instead of one massive go, and then pushed them up. I'll respond to this better when I have a moment later today. Cheers.
| url = urljoin(self.rundeck_url, '/j_security_check') | ||
| p = {'j_username': self.username, 'j_password': self.password} | ||
| url = urljoin(self.rundeck_url, "/j_security_check") | ||
| p = {"j_username": self.username, "j_password": self.password} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PyCharm shows error messages like
Shadows name 'username' from outer scopein the init function of the Rundeck class. We can disambiguate the parameters to the init function from thevariables in the main context by renaming the variables. In this
instance, I appended an underscore to the variables.
Add a function that exposes Rundeck API functionality for exporting an
individual job.