You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jenkins is the market leading continuous integration system, originally created by Kohsuke Kawaguchi.
21
14
22
-
Jenkins (and It's predecessor Hudson) are useful projects for automating common development tasks (e.g. unit-testing, production batches) - but they are somewhat Java-centric. Thankfully the designers have provided an excellent and complete REST interface. This library wraps up that interface as more conventional python objects in order to make many Jenkins oriented tasks easier to automate.
15
+
Jenkins (and its predecessor Hudson) are useful projects for automating common development tasks (e.g. unit-testing, production batches) - but they are somewhat Java-centric.
16
+
|Jenkinsapi makes scripting Jenkins tasks a breeze by wrapping the REST api into familiar python objects.
17
+
|Here is a list of some of the most commonly used functionality
23
18
24
-
This library allows you to automate most common Jenkins operations using Python, such as:
25
-
26
-
* Ability to add/remove/query Jenkins jobs
27
-
* Ability to execute jobs and:
19
+
* Add, remove, and query Jenkins jobs
20
+
* Control pipeline execution
28
21
* Query the results of a completed build
29
22
* Block until jobs are complete or run jobs asyncronously
30
23
* Get objects representing the latest builds of a job
31
-
* Work with build artifacts:
24
+
* Artifact management
32
25
* Search for artifacts by simple criteria
33
26
* Install artifacts to custom-specified directory structures
34
-
* Ability to search for builds by source code revision
35
-
* Ability to add/remove/query:
36
-
* Slaves (Webstart and SSH slaves)
27
+
* Search for builds by source code revision
28
+
* Create, destroy, and monitor
29
+
* Build nodes (Webstart and SSH slaves)
37
30
* Views (including nested views using NestedViews Jenkins plugin)
38
31
* Credentials (username/password and ssh key)
39
-
* Username/password auth support for jenkins instances with auth turned on
40
-
* Ability to script jenkins installation including plugins
41
-
42
-
For a full documentation spec of what this library supports see: http://jenkinsapi.readthedocs.io/en/latest/index.html
32
+
* Authentication support for username and password
33
+
* Manage jenkins and plugin installation
43
34
44
-
Python versions
45
-
---------------
46
-
47
-
The project has been tested against Python versions:
35
+
Full library capabilities are outlined in the `Documentation <http://jenkinsapi.readthedocs.io/en/latest/index.html>`_
48
36
49
-
* 2.7
50
-
* 3.4
51
-
* 3.5
52
-
* 3.6
53
-
* 3.7
54
-
55
-
Jenkins versions
56
-
----------------
57
-
58
-
Project tested on both stable (LTS) and latest Jenkins versions.
More examples available on `Github <https://github.com/pycontribs/jenkinsapi/tree/master/examples>`_
131
98
132
99
Testing
133
100
-------
@@ -144,28 +111,41 @@ missing test dependencies:
144
111
145
112
.. code-block:: bash
146
113
147
-
virtualenv
148
-
source .venv/bin/active
149
-
(venv) python setup.py test
114
+
python -m venv ./.venv/jenkinsapi
115
+
source .venv/jenkinsapi/bin/activate
116
+
pip install -r requirements.txt
117
+
python setup.py test
150
118
151
119
Development
152
120
-----------
153
121
154
-
* Make sure that you have Java_ installed.
122
+
* Make sure that you have Java_ installed. Jenkins will be automatically
123
+
downloaded and started during tests.
155
124
* Create virtual environment for development
156
125
* Install package in development mode
157
126
158
127
.. code-block:: bash
159
128
160
-
(venv) pip install -e .
161
-
(venv) pip install -r test-requirements.txt
129
+
pip install -r test-requirements.txt
162
130
163
131
* Make your changes, write tests and check your code
164
132
165
133
.. code-block:: bash
166
134
167
-
(venv) tox
135
+
pytest -sv
136
+
137
+
Python versions
138
+
---------------
168
139
140
+
The project has been tested against Python versions:
141
+
142
+
* 3.8 - 3.13
143
+
* 2.7 - last version compatible with Python 2.7 is tagged Py2 in repository and available on PyPi as version 0.3.13
144
+
145
+
Jenkins versions
146
+
----------------
147
+
148
+
Project tested on both stable (LTS) and latest Jenkins versions.
169
149
170
150
Project Contributors
171
151
--------------------
@@ -194,4 +174,4 @@ The above copyright notice and this permission notice shall be included in all c
194
174
195
175
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copy file name to clipboardexpand all lines: doc/CONTRIBUTING.md
+8-5
Original file line number
Diff line number
Diff line change
@@ -6,14 +6,17 @@ The JenkinsAPI project welcomes contributions via GitHub. Please bear in mind th
6
6
Python compatibility
7
7
--------------------
8
8
9
-
The project currently targets Python 2.6 and Python 2.7. Support for Python 3.x will be introduced soon. Please do not add any features which
10
-
will break our supported Python 2.x versions or make it harder for us to migrate to Python 3.x
9
+
The project currently targets Python 3.8+. Last version compatible with Python 2.7 is tagged as Py2.
10
+
11
+
Code formatting
12
+
---------------
13
+
14
+
The project follows strict PEP8 guidelines. Please use a tool like black to format your code before submitting a pull request. Tell black to use 79 characters per line (black -l 79).
11
15
12
16
Test Driven Development
13
17
-----------------------
14
18
15
-
Please do not submit pull requests without tests. That's really important. Our project is all about test-driven development. It would be
16
-
embarrasing if our project failed because of a lack of tests!
19
+
Please do not submit pull requests without tests. That's really important. Our project is all about test-driven development. It would be embarrasing if our project failed because of a lack of tests!
17
20
18
21
You might want to follow a typical test driven development cycle: http://en.wikipedia.org/wiki/Test-driven_development
19
22
@@ -24,7 +27,7 @@ Features implemented without tests will be removed. Unmaintained features (which
24
27
Check the CI status before comitting
25
28
------------------------------------
26
29
27
-
We have a Travis CI account - please verify that your branch works before making a pull request.
30
+
Project uses Github Actions, please verify that your branch passes all tests before making a pull request.
0 commit comments