jenkinsapi 0.3.15.dev2__tar.gz → 0.3.15.dev8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. jenkinsapi-0.3.15.dev8/.github/ISSUE_TEMPLATE.md +29 -0
  2. jenkinsapi-0.3.15.dev8/.github/dependabot.yml +15 -0
  3. jenkinsapi-0.3.15.dev8/.github/stale.yml +64 -0
  4. jenkinsapi-0.3.15.dev8/.github/workflows/build-docs.yml +48 -0
  5. jenkinsapi-0.3.15.dev8/.github/workflows/python-package.yml +107 -0
  6. jenkinsapi-0.3.15.dev8/.github/workflows/release.yml +83 -0
  7. jenkinsapi-0.3.15.dev8/.gitignore +33 -0
  8. jenkinsapi-0.3.15.dev8/.pre-commit-config.yaml +21 -0
  9. jenkinsapi-0.3.15.dev8/CHANGELOG.md +68 -0
  10. jenkinsapi-0.3.15.dev8/Makefile +19 -0
  11. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/PKG-INFO +5 -5
  12. jenkinsapi-0.3.15.dev8/TODO +6 -0
  13. jenkinsapi-0.3.15.dev8/bin/pipelint +22 -0
  14. jenkinsapi-0.3.15.dev8/doc/.gitignore +4 -0
  15. jenkinsapi-0.3.15.dev8/doc/CONTRIBUTING.md +43 -0
  16. jenkinsapi-0.3.15.dev8/doc/Makefile +17 -0
  17. jenkinsapi-0.3.15.dev8/doc/_static/jenkins.png +0 -0
  18. jenkinsapi-0.3.15.dev8/doc/_static/tmp.txt +0 -0
  19. jenkinsapi-0.3.15.dev8/doc/conf.py +261 -0
  20. jenkinsapi-0.3.15.dev8/doc/examples.rst +509 -0
  21. jenkinsapi-0.3.15.dev8/doc/getting_started.rst +141 -0
  22. jenkinsapi-0.3.15.dev8/doc/index.rst +163 -0
  23. jenkinsapi-0.3.15.dev8/doc/jenkins.png +0 -0
  24. jenkinsapi-0.3.15.dev8/doc/low_level_examples.rst +131 -0
  25. jenkinsapi-0.3.15.dev8/doc/module_reference.rst +25 -0
  26. jenkinsapi-0.3.15.dev8/doc/project_info.rst +7 -0
  27. jenkinsapi-0.3.15.dev8/doc/readme_link.rst +1 -0
  28. jenkinsapi-0.3.15.dev8/doc/ssl_certificate_verification +62 -0
  29. jenkinsapi-0.3.15.dev8/doc/submodules/api.rst +7 -0
  30. jenkinsapi-0.3.15.dev8/doc/submodules/artifact.rst +7 -0
  31. jenkinsapi-0.3.15.dev8/doc/submodules/build.rst +7 -0
  32. jenkinsapi-0.3.15.dev8/doc/submodules/command_line.rst +10 -0
  33. jenkinsapi-0.3.15.dev8/doc/submodules/credentials.rst +24 -0
  34. jenkinsapi-0.3.15.dev8/doc/submodules/custom_exceptions.rst +7 -0
  35. jenkinsapi-0.3.15.dev8/doc/submodules/executors.rst +24 -0
  36. jenkinsapi-0.3.15.dev8/doc/submodules/fingerprint.rst +7 -0
  37. jenkinsapi-0.3.15.dev8/doc/submodules/jenkins.rst +7 -0
  38. jenkinsapi-0.3.15.dev8/doc/submodules/jenkinsbase.rst +7 -0
  39. jenkinsapi-0.3.15.dev8/doc/submodules/jobs.rst +24 -0
  40. jenkinsapi-0.3.15.dev8/doc/submodules/label.rst +7 -0
  41. jenkinsapi-0.3.15.dev8/doc/submodules/mutable_jenkins.rst +7 -0
  42. jenkinsapi-0.3.15.dev8/doc/submodules/nodes.rst +24 -0
  43. jenkinsapi-0.3.15.dev8/doc/submodules/plugins.rst +24 -0
  44. jenkinsapi-0.3.15.dev8/doc/submodules/queue.rst +7 -0
  45. jenkinsapi-0.3.15.dev8/doc/submodules/results.rst +24 -0
  46. jenkinsapi-0.3.15.dev8/doc/submodules/utils.rst +66 -0
  47. jenkinsapi-0.3.15.dev8/doc/submodules/views.rst +24 -0
  48. jenkinsapi-0.3.15.dev8/examples/__init__.py +0 -0
  49. jenkinsapi-0.3.15.dev8/examples/addjob.xml +17 -0
  50. jenkinsapi-0.3.15.dev8/examples/how_to/add_command.py +41 -0
  51. jenkinsapi-0.3.15.dev8/examples/how_to/create_a_job.py +25 -0
  52. jenkinsapi-0.3.15.dev8/examples/how_to/create_credentials.py +71 -0
  53. jenkinsapi-0.3.15.dev8/examples/how_to/create_nested_views.py +72 -0
  54. jenkinsapi-0.3.15.dev8/examples/how_to/create_slave.py +82 -0
  55. jenkinsapi-0.3.15.dev8/examples/how_to/create_views.py +76 -0
  56. jenkinsapi-0.3.15.dev8/examples/how_to/delete_all_the_nodes_except_master.py +20 -0
  57. jenkinsapi-0.3.15.dev8/examples/how_to/get_config.py +12 -0
  58. jenkinsapi-0.3.15.dev8/examples/how_to/get_plugin_information.py +12 -0
  59. jenkinsapi-0.3.15.dev8/examples/how_to/get_version_info_from_last_good_build.py +12 -0
  60. jenkinsapi-0.3.15.dev8/examples/how_to/query_a_build.py +17 -0
  61. jenkinsapi-0.3.15.dev8/examples/how_to/readme.rst +24 -0
  62. jenkinsapi-0.3.15.dev8/examples/how_to/search_artifact_by_regexp.py +12 -0
  63. jenkinsapi-0.3.15.dev8/examples/how_to/search_artifacts.py +12 -0
  64. jenkinsapi-0.3.15.dev8/examples/how_to/start_parameterized_build.py +25 -0
  65. jenkinsapi-0.3.15.dev8/examples/how_to/use_crumbs.py +15 -0
  66. jenkinsapi-0.3.15.dev8/examples/low_level/copy_a_job.py +25 -0
  67. jenkinsapi-0.3.15.dev8/examples/low_level/create_a_view_low_level.py +24 -0
  68. jenkinsapi-0.3.15.dev8/examples/low_level/example_param_build.py +19 -0
  69. jenkinsapi-0.3.15.dev8/examples/low_level/login_with_auth.py +11 -0
  70. jenkinsapi-0.3.15.dev8/examples/low_level/post_watcher.py +55 -0
  71. jenkinsapi-0.3.15.dev8/examples/low_level/readme.rst +4 -0
  72. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/utils/jenkins_launcher.py +1 -1
  73. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/__init__.py +0 -0
  74. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/conftest.py +25 -0
  75. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/__init__.py +0 -0
  76. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/config.xml +33 -0
  77. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/conftest.py +209 -0
  78. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/get-jenkins-war.sh +21 -0
  79. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/jenkins_home.tar.gz +0 -0
  80. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/job_configs.py +341 -0
  81. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_authentication.py +82 -0
  82. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_credentials.py +150 -0
  83. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_crumbs_requester.py +111 -0
  84. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_downstream_upstream.py +115 -0
  85. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_env_vars.py +23 -0
  86. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_executors.py +75 -0
  87. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_generate_new_api_token.py +26 -0
  88. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_invocation.py +140 -0
  89. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_jenkins.py +195 -0
  90. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_jenkins_artifacts.py +65 -0
  91. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_jenkins_matrix.py +31 -0
  92. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_nodes.py +318 -0
  93. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_parameterized_builds.py +135 -0
  94. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_plugins.py +110 -0
  95. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_queue.py +118 -0
  96. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_quiet_down.py +25 -0
  97. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_restart.py +69 -0
  98. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_safe_exit.py +43 -0
  99. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_scm.py +32 -0
  100. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/test_views.py +190 -0
  101. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/systests/view_configs.py +28 -0
  102. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/test_utils/__init__.py +0 -0
  103. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/test_utils/random_strings.py +12 -0
  104. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/__init__.py +0 -0
  105. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/configs.py +332 -0
  106. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_artifact.py +218 -0
  107. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_build.py +330 -0
  108. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_build_scm_git.py +63 -0
  109. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_executors.py +281 -0
  110. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_fingerprint.py +96 -0
  111. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_jenkins.py +396 -0
  112. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_job.py +360 -0
  113. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_job_folders.py +277 -0
  114. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_job_get_all_builds.py +275 -0
  115. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_job_scm_hg.py +203 -0
  116. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_label.py +101 -0
  117. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_misc.py +12 -0
  118. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_node.py +132 -0
  119. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_nodes.py +294 -0
  120. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_plugins.py +369 -0
  121. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_requester.py +395 -0
  122. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_result_set.py +91 -0
  123. jenkinsapi-0.3.15.dev8/jenkinsapi_tests/unittests/test_view.py +250 -0
  124. jenkinsapi-0.3.15.dev8/pylintrc +258 -0
  125. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/pyproject.toml +6 -4
  126. jenkinsapi-0.3.15.dev8/uv.lock +1463 -0
  127. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/LICENSE +0 -0
  128. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/README.rst +0 -0
  129. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/.gitignore +0 -0
  130. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/__init__.py +0 -0
  131. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/api.py +0 -0
  132. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/artifact.py +0 -0
  133. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/build.py +0 -0
  134. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/command_line/__init__.py +0 -0
  135. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/command_line/jenkins_invoke.py +0 -0
  136. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/command_line/jenkinsapi_version.py +0 -0
  137. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/config.py +0 -0
  138. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/constants.py +0 -0
  139. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/credential.py +0 -0
  140. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/credentials.py +0 -0
  141. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/custom_exceptions.py +0 -0
  142. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/executor.py +0 -0
  143. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/executors.py +0 -0
  144. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/fingerprint.py +0 -0
  145. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/jenkins.py +0 -0
  146. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/jenkinsbase.py +0 -0
  147. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/job.py +0 -0
  148. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/jobs.py +0 -0
  149. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/label.py +0 -0
  150. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/mutable_jenkins_thing.py +0 -0
  151. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/node.py +0 -0
  152. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/nodes.py +0 -0
  153. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/plugin.py +0 -0
  154. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/plugins.py +0 -0
  155. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/queue.py +0 -0
  156. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/result.py +0 -0
  157. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/result_set.py +0 -0
  158. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/utils/__init__.py +0 -0
  159. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/utils/crumb_requester.py +0 -0
  160. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/utils/jsonp_to_json.py +0 -0
  161. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/utils/krb_requester.py +0 -0
  162. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/utils/manifest.py +0 -0
  163. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/utils/requester.py +0 -0
  164. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/utils/simple_post_logger.py +0 -0
  165. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/view.py +0 -0
  166. {jenkinsapi-0.3.15.dev2 → jenkinsapi-0.3.15.dev8}/jenkinsapi/views.py +0 -0
@@ -0,0 +1,29 @@
1
+ ##### ISSUE TYPE
2
+ <!--- Pick one below and delete the rest: -->
3
+ - Bug Report
4
+ - Feature Idea
5
+ - How to...
6
+
7
+ ##### Jenkinsapi VERSION
8
+
9
+ ##### Jenkins VERSION
10
+
11
+ ##### SUMMARY
12
+ <!--- Explain the problem briefly -->
13
+
14
+ ##### EXPECTED RESULTS
15
+ <!--- What did you expect to happen when running the steps above? -->
16
+
17
+ ##### ACTUAL RESULTS
18
+ <!--- What actually happened? If possible run with extra verbosity (-vvvv) -->
19
+
20
+ ##### USEFUL INFORMATION
21
+ <!---
22
+ For bugs, show exactly how to reproduce the problem.
23
+ For new features, show how the feature would be used.
24
+ -->
25
+
26
+ <!--- Paste example code and full stacktrace below -->
27
+ ```
28
+
29
+ ```
@@ -0,0 +1,15 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "uv"
9
+ directory: "/"
10
+ schedule:
11
+ interval: "weekly"
12
+ - package-ecosystem: "github-actions" # See documentation for possible values
13
+ directory: "/" # Location of package manifests
14
+ schedule:
15
+ interval: "weekly"
@@ -0,0 +1,64 @@
1
+ # Configuration for probot-stale - https://github.com/probot/stale
2
+
3
+ # Number of days of inactivity before an Issue or Pull Request becomes stale
4
+ daysUntilStale: 60
5
+
6
+ # Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
7
+ # Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
8
+ daysUntilClose: 7
9
+
10
+ # Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
11
+ onlyLabels: []
12
+
13
+ # Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
14
+ exemptLabels:
15
+ - pinned
16
+ - security
17
+ - "[Status] Maybe Later"
18
+ - "feature request"
19
+ - "help wanted"
20
+ - "improvement request"
21
+
22
+ # Set to true to ignore issues in a project (defaults to false)
23
+ exemptProjects: false
24
+
25
+ # Set to true to ignore issues in a milestone (defaults to false)
26
+ exemptMilestones: false
27
+
28
+ # Set to true to ignore issues with an assignee (defaults to false)
29
+ exemptAssignees: false
30
+
31
+ # Label to use when marking as stale
32
+ staleLabel: stale
33
+
34
+ # Comment to post when marking as stale. Set to `false` to disable
35
+ markComment: >
36
+ This issue has been automatically marked as stale because it has not had
37
+ recent activity. It will be closed if no further activity occurs. Thank you
38
+ for your contributions.
39
+
40
+ # Comment to post when removing the stale label.
41
+ # unmarkComment: >
42
+ # Your comment here.
43
+
44
+ # Comment to post when closing a stale Issue or Pull Request.
45
+ closeComment: >
46
+ Closed due to inactivity
47
+
48
+ # Limit the number of actions per hour, from 1-30. Default is 30
49
+ limitPerRun: 30
50
+
51
+ # Limit to only `issues` or `pulls`
52
+ # only: issues
53
+
54
+ # Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
55
+ # pulls:
56
+ # daysUntilStale: 30
57
+ # markComment: >
58
+ # This pull request has been automatically marked as stale because it has not had
59
+ # recent activity. It will be closed if no further activity occurs. Thank you
60
+ # for your contributions.
61
+
62
+ # issues:
63
+ # exemptLabels:
64
+ # - confirmed
@@ -0,0 +1,48 @@
1
+ name: Sphinx build
2
+
3
+ on: # yamllint disable-line rule:truthy
4
+ push:
5
+ branches:
6
+ - master
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ sphinx-build:
14
+ runs-on: ubuntu-latest
15
+ permissions:
16
+ contents: write
17
+ id-token: write
18
+ pages: write
19
+ steps:
20
+ - uses: actions/checkout@v5
21
+
22
+ - name: Install uv
23
+ uses: astral-sh/setup-uv@v6
24
+ with:
25
+ python-version: "3.10"
26
+
27
+ - name: Install dependencies
28
+ run: |
29
+ sudo apt-get update; sudo apt-get install libkrb5-dev gcc
30
+
31
+ - name: Build HTML
32
+ run: make
33
+ working-directory: ./doc
34
+
35
+ - name: Upload artifacts
36
+ uses: actions/upload-artifact@v4
37
+ with:
38
+ name: html-docs
39
+ path: ./doc/html/
40
+
41
+ - name: Deploy Master Docs to GitHub Pages
42
+ if: ${{ github.ref == 'refs/heads/master' }}
43
+ uses: peaceiris/actions-gh-pages@v4
44
+ with:
45
+ github_token: ${{ secrets.GITHUB_TOKEN }}
46
+ publish_dir: ./doc/html
47
+ publish_branch: gh-pages
48
+ keep_files: false
@@ -0,0 +1,107 @@
1
+ name: CI_TEST
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+ paths:
7
+ - '**.py'
8
+ - '**.yml'
9
+ pull_request:
10
+ branches: [ "master" ]
11
+ workflow_dispatch: # allow manual run
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ concurrency:
17
+ group: ${{ github.workflow }}-${{ github.ref }}
18
+ cancel-in-progress: true
19
+
20
+ jobs:
21
+ lint:
22
+ runs-on: ubuntu-latest
23
+ strategy:
24
+ fail-fast: false
25
+ matrix:
26
+ python-version: ["3.13"]
27
+ token: ["stable"]
28
+
29
+ steps:
30
+ - name: Checkout
31
+ uses: actions/checkout@v5
32
+
33
+ - name: Install uv
34
+ uses: astral-sh/setup-uv@v6
35
+ with:
36
+ python-version: ${{ matrix.python-version }}
37
+
38
+ - name: Install python
39
+ run: uv python install
40
+
41
+ - name: Install dependencies
42
+ run: |
43
+ sudo apt-get update; sudo apt-get install libkrb5-dev gcc
44
+
45
+ - name: Lint with ruff
46
+ run: |
47
+ uv run ruff check jenkinsapi/ --output-format full
48
+
49
+ build:
50
+ runs-on: ubuntu-latest
51
+ strategy:
52
+ fail-fast: false
53
+ matrix:
54
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
55
+ token: ["stable"]
56
+
57
+ steps:
58
+ - name: Harden Runner
59
+ uses: step-security/harden-runner@v2.13.0
60
+ with:
61
+ egress-policy: audit
62
+ allowed-endpoints: >
63
+ azure.archive.ubuntu.com:80
64
+ esm.ubuntu.com:443
65
+ files.pythonhosted.org:443
66
+ ftp-chi.osuosl.org:443
67
+ ftp-nyc.osuosl.org:443
68
+ get.jenkins.io:443
69
+ github.com:443
70
+ api.github.com:443
71
+ int.api.stepsecurity.io:443
72
+ mirror.xmission.com:443
73
+ motd.ubuntu.com:443
74
+ packages.microsoft.com:443
75
+ ppa.launchpadcontent.net:443
76
+ pypi.org:443
77
+ updates.jenkins-ci.org:80
78
+ updates.jenkins.io:443
79
+ mirrors.updates.jenkins.io:443
80
+ updates.jenkins.io:80
81
+
82
+ - name: Checkout
83
+ uses: actions/checkout@v5
84
+
85
+ - name: Install uv
86
+ uses: astral-sh/setup-uv@v6
87
+ with:
88
+ python-version: ${{ matrix.python-version }}
89
+
90
+ - name: Install python
91
+ run: uv python install
92
+
93
+ - name: setup java 21
94
+ uses: actions/setup-java@v5
95
+ with:
96
+ java-version: '21'
97
+ distribution: 'temurin'
98
+
99
+ - name: Install dependencies
100
+ run: |
101
+ sudo apt-get update; sudo apt-get install libkrb5-dev gcc
102
+
103
+ - name: Test with pytest
104
+ env:
105
+ JENKINS_VERSION: ${{ matrix.token }}
106
+ run: |
107
+ uv run pytest -sv --cov=jenkinsapi --cov-report=term-missing --cov-report=xml jenkinsapi_tests
@@ -0,0 +1,83 @@
1
+ name: Release
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - name: Checkout
15
+ uses: actions/checkout@v5
16
+
17
+ - name: Install uv
18
+ uses: astral-sh/setup-uv@v6
19
+ with:
20
+ python-version: "3.13"
21
+
22
+ - name: Set pyproject.toml version from release tag
23
+ run: |
24
+ uv version "${GITHUB_REF##*/}"
25
+
26
+ - name: Install python
27
+ run: uv python install
28
+
29
+ - name: build
30
+ run: uv build
31
+
32
+ - name: Upload artifact
33
+ uses: actions/upload-artifact@v4
34
+ with:
35
+ name: package
36
+ path: dist/
37
+ retention-days: 7
38
+ if-no-files-found: error
39
+
40
+ pypi:
41
+ if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
42
+ needs: [build]
43
+ runs-on: ubuntu-latest
44
+ permissions:
45
+ id-token: write
46
+ environment:
47
+ name: gha
48
+ url: https://pypi.org/project/jenkinsapi/
49
+ steps:
50
+ - name: Download artifact
51
+ uses: actions/download-artifact@v5
52
+ with:
53
+ name: package
54
+ path: dist
55
+
56
+ - name: Show tree
57
+ run: tree
58
+
59
+ - name: Publish
60
+ uses: pypa/gh-action-pypi-publish@release/v1
61
+
62
+ asset:
63
+ needs: [build]
64
+ runs-on: ubuntu-latest
65
+ permissions:
66
+ contents: write
67
+ steps:
68
+ - name: Download artifact
69
+ uses: actions/download-artifact@v5
70
+ with:
71
+ name: package
72
+ path: dist
73
+
74
+ - name: Show tree
75
+ run: tree
76
+
77
+ - name: Add release asset
78
+ uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8
79
+ with:
80
+ tag_name: ${{ github.event.release.tag_name }}
81
+ fail_on_unmatched_files: true
82
+ files: |
83
+ dist/*
@@ -0,0 +1,33 @@
1
+ .svn
2
+ .project
3
+ .pydevproject
4
+ *.pyc
5
+ *.egg-info
6
+ /build
7
+ /dist
8
+ .settings
9
+ *.DS_Store
10
+ localinstance_files/
11
+ .coverage/
12
+ .coverage
13
+ nosetests.xml
14
+ coverage*/
15
+ .idea/
16
+ include/
17
+ lib/
18
+ *.egg
19
+ .tox/*
20
+ *.sw?
21
+ /jenkinsapi_tests/systests/coverage.xml
22
+ /.cache
23
+ /AUTHORS
24
+ /ChangeLog
25
+ .pytest_cache
26
+ .eggs
27
+ coverage.xml
28
+ .venv/
29
+ .vscode/
30
+ *.war
31
+ venv/
32
+ tags
33
+ .pytype/
@@ -0,0 +1,21 @@
1
+ ---
2
+ repos:
3
+ - repo: https://github.com/pre-commit/pre-commit-hooks
4
+ rev: v6.0.0
5
+ hooks:
6
+ - id: end-of-file-fixer
7
+ - id: trailing-whitespace
8
+ - id: mixed-line-ending
9
+ - id: fix-byte-order-marker
10
+ - id: check-executables-have-shebangs
11
+ - id: check-merge-conflict
12
+ - id: check-symlinks
13
+ - id: check-vcs-permalinks
14
+ - id: debug-statements
15
+ - id: check-yaml
16
+ files: .*\.(yaml|yml)$
17
+ - repo: https://github.com/astral-sh/ruff-pre-commit
18
+ rev: v0.12.12 # Use latest Ruff version
19
+ hooks:
20
+ - id: ruff
21
+ - id: ruff-format
@@ -0,0 +1,68 @@
1
+ # Changelog
2
+
3
+ - node class: add ability to add, modify, and delete node labels
4
+
5
+ ## 3.3.13
6
+
7
+ - docs: fix doc and add autobuild
8
+ - feature: add launch method to Node class (#849)
9
+ - convert to using ruff for linting (#895)
10
+ - update harden runner (#894)
11
+ - change url to pull jenkins.war file (#893)
12
+ - Make sure to filter warnings to errors (#868)
13
+ - Revert "dependabot" (#888)
14
+ - dependabot (#887)
15
+ - makefile: update for uv compatibility (#886)
16
+ - update pre-commit versions (#885)
17
+ - remove deprecated setup (#884)
18
+ - housekeeping: readme, license, pyproject.toml (#881)
19
+ - update install commands to use uv (#882)
20
+ - ci: update java to 21 (#883)
21
+ - convert to uv and pyproject.toml (#879)
22
+ - ci: update checkout to v4 (#880)
23
+ - ci: remove apt-get update, install, and pip upgrade as unnecessary (#878)
24
+ - docs: fix build (#876)
25
+ - add support for 3.12 and 3.13 (#877)
26
+ - Correctly specify python version (#858)
27
+ - Merge pull request #874 from clintonsteiner/fixSeveralCiIssues
28
+ - ci: add in missing plugins
29
+ - ci: harden runner - set to audit for now
30
+ - ci: add mirrors to harden whitelist
31
+ - test_build: fix failing tests
32
+ - ci: tests fail because jenkins requires java 17 - setup in github action
33
+ - makefile: fix py.test according to pytest documentation
34
+ - ci: fix issue causing runner to crash in setup
35
+ - Merge pull request #853 from clintonsteiner/updateReadme
36
+ - Readme Updates: Remove redundant words, move install and example to top
37
+ - [pre-commit.ci] auto fixes from pre-commit.com hooks
38
+ - fix: jenkinsapi crashing jenkins_is_unavaiable
39
+ - [pre-commit.ci] auto fixes from pre-commit.com hooks
40
+ - Support for using unicode characters in update_config
41
+ - Decode content using the encoding specified in the response
42
+ - Fixing plugin dependencies
43
+ - Fix console scripts in pyproject.toml
44
+ - Added Python typing hints to most of the code
45
+ - Bump version
46
+ - Move utils into jenkinsapi.utils module
47
+ - Remove blank line
48
+ - Update Build object docs
49
+ - Add pyproject.toml
50
+ - Rename Travis and Tox files
51
+ - Flake8 fixes
52
+ - [pre-commit.ci] auto fixes from pre-commit.com hooks
53
+ - Do not call Jenkins site when testing plugins
54
+ - Download Jenkins silently and improve plugin downloads
55
+ - Fix failing tests and commented ones not working
56
+ - Add flake8 to test requirements
57
+ - Install test dependencies
58
+ - Install krb and pytest-cov in workflow
59
+ - Add Github action
60
+ - Pyflake8 fixes
61
+ - Add pre-commit.ci configuration
62
+ - Add debug logs in Queue.block_until_building (#745)
63
+ - Fixing retrying logic by introducing a max_retries param (#739)
64
+ - Add quiet period parameter to job invoke (#758)
65
+ - useCrumbs -> use_crumbs #755 (#756)
66
+ - job.py: manage scm data for multibranch pipelines (#742)
67
+
68
+ ## 0.3.11 - Oct 31, 2019
@@ -0,0 +1,19 @@
1
+ .PHONY: test lint tox coverage dist
2
+
3
+ test:
4
+ uv run pytest -sv jenkinsapi_tests
5
+
6
+ lint:
7
+ uv run pycodestyle
8
+ uv run pylint jenkinsapi/*.py
9
+ uv run flake8 jenkinsapi/ --count --select=E9,F63,F7,F82 --ignore F821,W503,W504 --show-source --statistics
10
+ uv run flake8 jenkinsapi/ --count --exit-zero --max-complexity=10 --max-line-length=79 --statistics
11
+
12
+ tox:
13
+ tox
14
+
15
+ dist:
16
+ uv build
17
+
18
+ coverage:
19
+ uv run pytest -sv --cov=jenkinsapi --cov-report=term-missing --cov-report=xml jenkinsapi_tests
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jenkinsapi
3
- Version: 0.3.15.dev2
3
+ Version: 0.3.15.dev8
4
4
  Summary: A Python API for accessing resources on a Jenkins continuous-integration server.
5
5
  Author-email: Salim Fadhley <salimfadhley@gmail.com>, Aleksey Maksimov <ctpeko3a@gmail.com>, Clinton Steiner <clintonsteiner@gmail.com>
6
6
  Maintainer-email: Aleksey Maksimov <ctpeko3a@gmail.com>, Clinton Steiner <clintonsteiner@gmail.com>
7
- Requires-Python: >=3.9
8
- Description-Content-Type: text/x-rst
7
+ License: MIT license
8
+ License-File: LICENSE
9
9
  Classifier: Development Status :: 5 - Production/Stable
10
10
  Classifier: Environment :: Console
11
11
  Classifier: Intended Audience :: Developers
@@ -23,9 +23,10 @@ Classifier: Programming Language :: Python :: 3.12
23
23
  Classifier: Programming Language :: Python :: 3.13
24
24
  Classifier: Topic :: Software Development :: Testing
25
25
  Classifier: Topic :: Utilities
26
- License-File: LICENSE
26
+ Requires-Python: >=3.9
27
27
  Requires-Dist: pytz>=2014.4
28
28
  Requires-Dist: requests>=2.3.0
29
+ Description-Content-Type: text/x-rst
29
30
 
30
31
  Jenkinsapi
31
32
  ==========
@@ -169,4 +170,3 @@ Project Contributors
169
170
  Please do not contact these contributors directly for support questions! Use the GitHub tracker instead.
170
171
 
171
172
  .. _Java: https://www.oracle.com/java/technologies/downloads/#java21
172
-
@@ -0,0 +1,6 @@
1
+ TODO:
2
+
3
+ * Clean up the fingerprint code
4
+ * Clean up the resultset and results code
5
+ * Add support for Jenkins 2.x features
6
+ * Improve speed for large Jenkins installations
@@ -0,0 +1,22 @@
1
+ #!/bin/bash
2
+ set -eo pipefail
3
+
4
+ INPUT=/dev/stdin
5
+ if [ -t 0 ]; then
6
+ if [ "$#" -ne 1 ]; then
7
+ echo "ERROR: Illegal number of parameters."
8
+ echo "INFO: Use 'pipefail Jenkinsfile' or 'cat Jenkinsfile | pipefail'"
9
+ exit 1
10
+ fi
11
+ INPUT=$1
12
+ fi
13
+ # put credentials inside ~/.netrc
14
+ # define JENKINS_URL in your user profile
15
+ JENKINS_URL=${JENKINS_URL:-http://localhost:8080}
16
+
17
+ # failure to get crumb is ignored as this may be diabled on the server side
18
+ CRUMB="-H `curl -nfs "$JENKINS_URL/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,%22:%22,//crumb)"`" || CRUMB=''
19
+
20
+ # The tee+grep trick assures that the exit code is 0 only if the server replied with "successfully validated"
21
+ curl -nfs -X POST $CRUMB -F "jenkinsfile=<-" $JENKINS_URL/pipeline-model-converter/validate <$INPUT \
22
+ | tee >(cat 1>&2) | grep 'successfully validated' >/dev/null
@@ -0,0 +1,4 @@
1
+ /**/html
2
+ /docs_html.zip
3
+ / html
4
+ /build
@@ -0,0 +1,43 @@
1
+ Contributing
2
+ ============
3
+
4
+ The JenkinsAPI project welcomes contributions via GitHub. Please bear in mind the following guidelines when preparing your pull-request.
5
+
6
+ Pre-commit
7
+ ----------
8
+ Ensure pre-commit has been setup prior to comitting
9
+
10
+ Build the Docs
11
+ --------------
12
+ From within doc: make && python -m http.server --directory html
13
+
14
+ Python compatibility
15
+ --------------------
16
+
17
+ The project currently targets Python 3.9+.
18
+
19
+ Code formatting
20
+ ---------------
21
+
22
+ 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).
23
+
24
+ Test Driven Development
25
+ -----------------------
26
+
27
+ 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!
28
+
29
+ You might want to follow a typical test driven development cycle: http://en.wikipedia.org/wiki/Test-driven_development
30
+
31
+ Put simply: Write your tests first and only implement features required to make your tests pass. Do not let your implementation get ahead of your tests.
32
+
33
+ Features implemented without tests will be removed. Unmaintained features (which break because of changes in Jenkins) will also be removed.
34
+
35
+ Check the CI status before comitting
36
+ ------------------------------------
37
+
38
+ Project uses Github Actions, please verify that your branch passes all tests before making a pull request.
39
+
40
+ Any problems?
41
+ -------------
42
+
43
+ If you are stuck on something, please post to the issue tracker. Do not contact the developers directly.
@@ -0,0 +1,17 @@
1
+ SPHINXBUILD ?= uv run sphinx-build
2
+ SOURCEDIR = .
3
+ BUILDDIR = html
4
+
5
+ .PHONY: all clean html
6
+
7
+ all: clean html
8
+
9
+ html:
10
+ uv sync --group docs
11
+ @$(SPHINXBUILD) -b html "$(SOURCEDIR)" "$(BUILDDIR)"
12
+
13
+ clean:
14
+ rm -rf ${BUILDDIR}/*
15
+
16
+ run:
17
+ uv run python -m http.server --directory "${BUILDDIR}"
File without changes