API reference

class api4jenkins.AsyncJenkins(url: str, **kwargs: Any)[source]
async aiter(depth: int = 0) AsyncIterator[AsyncItem][source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build_job(full_name: str, **params: Any) Any[source]
async copy_job(full_name: str, dest: str) Any[source]
async create_job(full_name: str, xml: str, recursive: bool = False) Any[source]
property credentials: AsyncCredentials
property crumb: dict[str, str]
async delete_job(full_name: str) None[source]
async duplicate_job(full_name: str, new_name: str, recursive: bool = False) None[source]
property dynamic_attrs: list[str]
async exists() bool
async get_job(full_name: str) AsyncItem | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async is_name_safe(name: str) bool[source]
property me: AsyncUser | None
async move_job(full_name: str, new_full_name: str) Any[source]
property nodes: AsyncNodes
property plugins: AsyncPluginsManager
property queue: AsyncQueue
async rename_job(full_name: str, new_name: str) Any[source]
property system: AsyncSystem
property users: AsyncUsers
async validate_jenkinsfile(content: str) str[source]
property version: str
property views: AsyncViews
class api4jenkins.Jenkins(url: str, **kwargs: Any)[source]

Constructs Jenkins.

Parameters:
  • url – URL of Jenkins server, str

  • auth – (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.

  • **kwargs – other kwargs are same as httpx.Client

Usage:

>>> from api4jenkins import Jenkins
>>> j = Jenkins('http://127.0.0.1:8080/', auth=('admin', 'admin'))
>>> print(j)
<Jenkins: http://127.0.0.1:8080/>
>>> j.version
'2.176.2'
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build_job(full_name: str, **params: Any) Any[source]

Build job with/without params

Parameters:
  • full_namestr, full name of job

  • params – parameters for building, support delay and remote token

Returns:

QueueItem

Usage:

>>> from api4jenkins import Jenkins
>>> j = Jenkins('http://127.0.0.1:8080/', auth=('admin', 'admin'))
>>> item = j.build_job('freestylejob')
>>> import time
>>> while not item.get_build():
...      time.sleep(1)
>>> build = item.get_build()
>>> print(build)
<FreeStyleBuild: http://127.0.0.1:8080/job/freestylejob/1/>
>>> for line in build.progressive_output():
...     print(line)
...
copy_job(full_name: str, dest: str) Any[source]

Create job by copying other job, the source job and dest job are in same folder.

Parameters:
  • full_name – full name of source job

  • dest – name of new job

Usage:

>>> from api4jenkins import Jenkins
>>> j = Jenkins('http://127.0.0.1:8080/', auth=('admin', 'admin'))
>>> j.copy_job('folder/freestylejob', 'newjob')
>>> j.get_job('folder/newjob')
>>> print(job)
<FreeStyleProject: http://127.0.0.1:8080/job/folder/job/newjob/>
create_job(full_name: str, xml: str, recursive: bool = False) Any[source]

Create new jenkins job with given xml configuration

Parameters:
  • full_namestr, full name of job

  • xml – xml configuration string

  • recursive – (optional) Boolean, recursively create folder if not existed

Usage:

>>> from api4jenkins import Jenkins
>>> j = Jenkins('http://127.0.0.1:8080/', auth=('admin', 'admin'))
>>> xml = """<?xml version='1.1' encoding='UTF-8'?>
... <project>
...   <builders>
...     <hudson.tasks.Shell>
...       <command>echo $JENKINS_VERSION</command>
...     </hudson.tasks.Shell>
...   </builders>
... </project>"""
>>> j.create_job('freestylejob', xml)
>>> job = j.get_job('freestylejob')
>>> print(job)
<FreeStyleProject: http://127.0.0.1:8080/job/freestylejob/>
property credentials: Credentials
property crumb: dict[str, str]
delete_job(full_name: str) None[source]

Delete job

Parameters:

full_namestr, full name of job

Usage:

>>> from api4jenkins import Jenkins
>>> j = Jenkins('http://127.0.0.1:8080/', auth=('admin', 'admin'))
>>> job = j.get_job('freestylejob')
>>> print(job)
<FreeStyleProject: http://127.0.0.1:8080/job/freestylejob/>
>>> j.delete_job('freestylejob')
>>> job = j.get_job('freestylejob')
>>> print(job)
None
duplicate_job(full_name: str, new_name: str, recursive: bool = False) None[source]
property dynamic_attrs: list[str]
exists() bool
get_job(full_name: str) Item | None[source]

Get job by full name

Parameters:

full_namestr, full name of job

Returns:

Corresponding Job object or None

Usage:

>>> from api4jenkins import Jenkins
>>> j = Jenkins('http://127.0.0.1:8080/', auth=('admin', 'admin'))
>>> job = j.get_job('freestylejob')
>>> print(job)
<FreeStyleProject: http://127.0.0.1:8080/job/freestylejob/>
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
is_name_safe(name: str) bool[source]
iter(depth: int = 0) Iterator[Item][source]

Iterate jobs with depth

Parameters:

depthint, depth to iterate, default is 0

Returns:

iterator of jobs

Usage:

>>> from api4jenkins import Jenkins
>>> j = Jenkins('http://127.0.0.1:8080/', auth=('admin', 'admin'))
>>> for job in j.iter():
...     print(job)
<FreeStyleProject: http://127.0.0.1:8080/job/freestylejob/>
...
property me: User | None
move_job(full_name: str, new_full_name: str) Any[source]
property nodes: Nodes
property plugins: PluginsManager
property queue: Queue
rename_job(full_name: str, new_name: str) Any[source]
property system: System
user: User | None
property users: Users
validate_jenkinsfile(content: str) str[source]

validate Jenkinsfile, see https://www.jenkins.io/doc/book/pipeline/development/#linter

Args:

content (str): content of Jenkinsfile

Returns:

str: ‘Jenkinsfile successfully validated.’ if validate successful or error message

property version: str
property views: Views
class api4jenkins.job.AsyncBitbucketSCMNavigator(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncExternalJob(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncFolder(jenkins: Any, url: str)[source]
async aiter(depth: int = 0) AsyncIterator[Any][source]

Override base AsyncItem.aiter() to provide async job iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async copy(src: str, dest: str) Response[source]
async create(name: str, xml: str) Response[source]
property credentials: AsyncCredentials
async delete() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async exists() bool
property full_display_name: str
property full_name: str
async get(name: str) Any | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
jenkins: Any
async move(path: str) Response
property name: str
property parent
async reload() Response[source]
async rename(name: str) Response
async set_description(text: str) Any
url: str
property views: Views
class api4jenkins.job.AsyncFreeStyleProject(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncGitHubSCMNavigator(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncIvyModuleSet(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncJob(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
async duplicate(path: str, recursive: bool = False) None[source]
property dynamic_attrs: list[str]
async exists() bool
property full_display_name: str
property full_name: str
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
jenkins: Any
async move(path: str) Response[source]
property name: str
property parent
async rename(name: str) Response[source]
async set_description(text: str) Any
url: str
class api4jenkins.job.AsyncMatrixProject(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncMavenModuleSet(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncMultiJobProject(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncOrganizationFolder(jenkins: Any, url: str)[source]
async aiter(depth: int = 0) AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async job iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property buildable: bool
async configure(xml: str | None = None) Any
async copy(src: str, dest: str) Response
async create(name: str, xml: str) Response
property credentials: AsyncCredentials
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
property full_display_name: str
property full_name: str
async get(name: str) Any | None
async get_scan_log() AsyncIterator[str][source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
jenkins: Any
async move(path: str) Response
property name: str
property parent
async reload() Response
async rename(name: str) Response
async scan(delay: int = 0) Response
async set_description(text: str) Any
url: str
property views: Views
class api4jenkins.job.AsyncPipelineMultiBranchDefaultsProject(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncProject(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any][source]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem[source]
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any][source]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None[source]
async get_parameters() list[dict[str, Any]][source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any][source]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None[source]
url: str
class api4jenkins.job.AsyncWorkflowJob(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async build iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async build(**params: Any) AsyncQueueItem
property building: bool
async configure(xml: str | None = None) Any
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
async filter_builds_by_result(*, result: str) AsyncIterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
async get(number: int | str) Any | None
async get_parameters() list[dict[str, Any]]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_all_builds() AsyncIterator[Any]
jenkins: Any
async move(path: str) Response
property name: str
property parent
async rename(name: str) Response
async set_description(text: str) Any
async set_next_build_number(number: int) None
url: str
class api4jenkins.job.AsyncWorkflowMultiBranchProject(jenkins: Any, url: str)[source]
async aiter(depth: int = 0) AsyncIterator[Any]

Override base AsyncItem.aiter() to provide async job iteration. Note: This intentionally changes the return type from Coroutine to AsyncIterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property buildable: bool
async configure(xml: str | None = None) Any
async copy(src: str, dest: str) Response
async create(name: str, xml: str) Response
property credentials: AsyncCredentials
async delete() Any
async disable() Any
async duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
async enable() Any
async exists() bool
property full_display_name: str
property full_name: str
async get(name: str) Any | None
async get_scan_log() AsyncIterator[str][source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
jenkins: Any
async move(path: str) Response
property name: str
property parent
async reload() Response
async rename(name: str) Response
async scan(delay: int = 0) Response[source]
async set_description(text: str) Any
url: str
property views: Views
class api4jenkins.job.BitbucketSCMNavigator(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.ExternalJob(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.Folder(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
copy(src: str, dest: str) Response[source]
create(name: str, xml: str) Response[source]
property credentials: Credentials
delete() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
exists() bool
property full_display_name: str
property full_name: str
get(name: str) Any | None[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter(depth: int = 0) Iterator[Any][source]

Override base Item.iter() to provide job iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

jenkins: Any
move(path: str) Response
property name: str
property parent: Any
reload() Response[source]
rename(name: str) Response
set_description(text: str) Any
url: str
property views: Views
class api4jenkins.job.FreeStyleProject(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.GitHubSCMNavigator(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.IvyModuleSet(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.Job(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
duplicate(path: str, recursive: bool = False) None[source]
property dynamic_attrs: list[str]
exists() bool
property full_display_name: str
property full_name: str
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
jenkins: Any
move(path: str) Response[source]
property name: str
property parent: Any
rename(name: str) Response[source]
set_description(text: str) Any
url: str
class api4jenkins.job.MatrixProject(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.MavenModuleSet(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.MultiJobProject(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.NameMixIn[source]
property full_display_name: str
property full_name: str
jenkins: Any
url: str
class api4jenkins.job.OrganizationFolder(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
property buildable: bool
configure(xml: str | None = None) Any
copy(src: str, dest: str) Response
create(name: str, xml: str) Response
property credentials: Credentials
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
property full_display_name: str
property full_name: str
get(name: str) Any | None
get_scan_log() Iterator[str][source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter(depth: int = 0) Iterator[Any]

Override base Item.iter() to provide job iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

jenkins: Any
move(path: str) Response
property name: str
property parent: Any
reload() Response
rename(name: str) Response
scan(delay: int = 0) Response
set_description(text: str) Any
url: str
property views: Views
class api4jenkins.job.PipelineMultiBranchDefaultsProject(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.Project(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem[source]
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any][source]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None[source]
get_parameters() list[dict[str, Any]][source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any][source]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any][source]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None[source]
url: str
class api4jenkins.job.WorkflowJob(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
build(**params) QueueItem
property building: bool
configure(xml: str | None = None) Any
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
filter_builds_by_result(*, result: str) Iterator[Any]

filter build by build results, avaliable results are: ‘SUCCESS’, ‘UNSTABLE’, ‘FAILURE’, ‘NOT_BUILT’, ‘ABORTED’ see: https://javadoc.jenkins-ci.org/hudson/model/Result.html

property full_display_name: str
property full_name: str
get(number: int | str) Any | None
get_parameters() list[dict[str, Any]]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Any]

Override base Item.iter() to provide build iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

iter_all_builds() Iterator[Any]
jenkins: Any
move(path: str) Response
property name: str
property parent: Any
rename(name: str) Response
set_description(text: str) Any
set_next_build_number(number: int) None
url: str
class api4jenkins.job.WorkflowMultiBranchProject(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
property buildable: bool
configure(xml: str | None = None) Any
copy(src: str, dest: str) Response
create(name: str, xml: str) Response
property credentials: Credentials
delete() Any
disable() Any
duplicate(path: str, recursive: bool = False) None
property dynamic_attrs: list[str]
enable() Any
exists() bool
property full_display_name: str
property full_name: str
get(name: str) Any | None
get_scan_log() Iterator[str][source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter(depth: int = 0) Iterator[Any]

Override base Item.iter() to provide job iteration. Note: This intentionally changes the return type from NoReturn to Iterator as part of the design pattern where base class prohibits iteration but concrete implementations enable it.

jenkins: Any
move(path: str) Response
property name: str
property parent: Any
reload() Response
rename(name: str) Response
scan(delay: int = 0) Response[source]
set_description(text: str) Any
url: str
property views: Views
class api4jenkins.build.AsyncBuild(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async console_text() AsyncIterator[str][source]
async delete() Any
property dynamic_attrs: list[str]
async exists() bool
async get_causes() list[dict[str, Any]]
async get_coverage_report() AsyncCoverageReport | None[source]

Access coverage report generated by JaCoCo

async get_coverage_result() AsyncCoverageResult | None[source]

Access coverage result generated by Code Coverage API

async get_next_build() AsyncBuild | None[source]
async get_parameters() list[Parameter]
async get_previous_build() AsyncBuild | None[source]
async get_test_report() AsyncTestReport | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async kill() Response[source]
async progressive_output(html: bool = False) AsyncIterator[str][source]
property project: Any
async set_description(text: str) Any
async stop() Response[source]
async term() Response[source]
class api4jenkins.build.AsyncFreeStyleBuild(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async console_text() AsyncIterator[str]
async delete() Any
property dynamic_attrs: list[str]
async exists() bool
async get_causes() list[dict[str, Any]]
async get_coverage_report() AsyncCoverageReport | None

Access coverage report generated by JaCoCo

async get_coverage_result() AsyncCoverageResult | None

Access coverage result generated by Code Coverage API

async get_next_build() AsyncBuild | None
async get_parameters() list[Parameter]
async get_previous_build() AsyncBuild | None
async get_test_report() AsyncTestReport | None
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async kill() Response
async progressive_output(html: bool = False) AsyncIterator[str]
property project: Any
async set_description(text: str) Any
async stop() Response
async term() Response
class api4jenkins.build.AsyncMatrixBuild(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async console_text() AsyncIterator[str]
async delete() Any
property dynamic_attrs: list[str]
async exists() bool
async get_causes() list[dict[str, Any]]
async get_coverage_report() AsyncCoverageReport | None

Access coverage report generated by JaCoCo

async get_coverage_result() AsyncCoverageResult | None

Access coverage result generated by Code Coverage API

async get_next_build() AsyncBuild | None
async get_parameters() list[Parameter]
async get_previous_build() AsyncBuild | None
async get_test_report() AsyncTestReport | None
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async kill() Response
async progressive_output(html: bool = False) AsyncIterator[str]
property project: Any
async set_description(text: str) Any
async stop() Response
async term() Response
class api4jenkins.build.AsyncStage(jenkins: Any, raw: dict[str, Any])[source]

Async variant of Stage.

Access stage attributes as snake_case async properties (e.g. await stage.name, await stage.status). Iterate to get AsyncStep objects within the stage.

async aiter() AsyncIterator[AsyncStep][source]

Iterate async steps in this stage. Always fetches fresh detail.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.build.AsyncStep(jenkins: Any, raw: dict[str, Any])[source]

Async variant of Step.

Access step attributes as snake_case async properties (e.g. await step.name, await step.status).

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async get_log() dict[str, Any] | None[source]

Return step log output as a dict, or None if no log link exists.

async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.build.AsyncWorkflowRun(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[AsyncStage][source]

async iterate pipeline stages

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property artifacts: list[Artifact]
async console_text() AsyncIterator[str]
async delete() Any
property dynamic_attrs: list[str]
async exists() bool
async get_causes() list[dict[str, Any]]
async get_coverage_report() AsyncCoverageReport | None

Access coverage report generated by JaCoCo

async get_coverage_result() AsyncCoverageResult | None

Access coverage result generated by Code Coverage API

async get_next_build() AsyncBuild | None
async get_parameters() list[Parameter]
async get_pending_input() PendingInputAction | None[source]

get current pending input step

async get_previous_build() AsyncBuild | None
async get_test_report() AsyncTestReport | None
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async kill() Response
async progressive_output(html: bool = False) AsyncIterator[str]
property project: Any
async save_artifacts(filename: str = 'archive.zip') None[source]
async set_description(text: str) Any
async stop() Response
async term() Response
class api4jenkins.build.Build(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
console_text() Iterator[str][source]
delete() Any
property dynamic_attrs: list[str]
exists() bool
get_causes() list[dict[str, Any]]
get_coverage_report() CoverageReport | None[source]

Access coverage report generated by JaCoCo

get_coverage_result() CoverageResult | None[source]

Access coverage result generated by Code Coverage API

get_next_build() Build | None[source]
get_parameters() list[Parameter]
get_previous_build() Build | None[source]
get_test_report() TestReport | None[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
kill() Response[source]
progressive_output(html: bool = False) Iterator[str][source]
property project: Any
set_description(text: str) Any
stop() Response[source]
term() Response[source]
class api4jenkins.build.FreeStyleBuild(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
console_text() Iterator[str]
delete() Any
property dynamic_attrs: list[str]
exists() bool
get_causes() list[dict[str, Any]]
get_coverage_report() CoverageReport | None

Access coverage report generated by JaCoCo

get_coverage_result() CoverageResult | None

Access coverage result generated by Code Coverage API

get_next_build() Build | None
get_parameters() list[Parameter]
get_previous_build() Build | None
get_test_report() TestReport | None
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
kill() Response
progressive_output(html: bool = False) Iterator[str]
property project: Any
set_description(text: str) Any
stop() Response
term() Response
class api4jenkins.build.MatrixBuild(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
console_text() Iterator[str]
delete() Any
property dynamic_attrs: list[str]
exists() bool
get_causes() list[dict[str, Any]]
get_coverage_report() CoverageReport | None

Access coverage report generated by JaCoCo

get_coverage_result() CoverageResult | None

Access coverage result generated by Code Coverage API

get_next_build() Build | None
get_parameters() list[Parameter]
get_previous_build() Build | None
get_test_report() TestReport | None
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
kill() Response
progressive_output(html: bool = False) Iterator[str]
property project: Any
set_description(text: str) Any
stop() Response
term() Response
class api4jenkins.build.Stage(jenkins: Any, raw: dict[str, Any])[source]

Represents a stage in a pipeline build.

Access stage attributes as snake_case properties (e.g. stage.name, stage.status). Iterate to get Step objects within the stage. Each iteration fetches fresh detail from the stage endpoint because pipeline data may change during a running build.

api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Step][source]

Iterate steps in this stage. Always fetches fresh detail.

class api4jenkins.build.Step(jenkins: Any, raw: dict[str, Any])[source]

Represents a step within a pipeline stage.

Access step attributes as snake_case properties (e.g. step.name, step.status). Use get_log() to retrieve step log output if available.

api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
get_log() dict[str, Any] | None[source]

Return step log output as a dict, or None if no log link exists.

handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.build.WorkflowRun(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
property artifacts: list[Artifact]
console_text() Iterator[str]
delete() Any
property dynamic_attrs: list[str]
exists() bool
get_causes() list[dict[str, Any]]
get_coverage_report() CoverageReport | None

Access coverage report generated by JaCoCo

get_coverage_result() CoverageResult | None

Access coverage result generated by Code Coverage API

get_next_build() Build | None
get_parameters() list[Parameter]
get_pending_input() PendingInputAction | None[source]

get current pending input step

get_previous_build() Build | None
get_test_report() TestReport | None
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Stage][source]

iterate pipeline stages

kill() Response
progressive_output(html: bool = False) Iterator[str]
property project: Any
save_artifacts(filename: str = 'archive.zip') None[source]
set_description(text: str) Any
stop() Response
term() Response
class api4jenkins.input.AsyncPendingInputAction(jenkins: Any, raw: dict[str, Any])[source]
async abort() Any[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async submit(**params: Any) Any[source]
class api4jenkins.input.PendingInputAction(jenkins: Any, raw: dict[str, Any])[source]

this class implement functionality to process input step

abort() Any[source]

submit input step

api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
submit(**params: Any) Any[source]

submit input step

  • if input requires parameters:
    • if submit without parameters, it will use default value of parameters

    • if submit with wrong parameters, exception raised

  • if input does not requires parameters, but submit with parameters, exception raised

class api4jenkins.queue.AsyncBlockedItem(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async cancel() Response
property dynamic_attrs: list[str]
async exists() bool
async get_build() AsyncBuild | None
async get_causes() list[dict[str, Any]]
async get_job() AsyncJob
async get_parameters() list[Parameter]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.queue.AsyncBuildableItem(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async cancel() Response
property dynamic_attrs: list[str]
async exists() bool
async get_build() AsyncBuild | None
async get_causes() list[dict[str, Any]]
async get_job() AsyncJob
async get_parameters() list[Parameter]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.queue.AsyncLeftItem(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async cancel() Response
property dynamic_attrs: list[str]
async exists() bool
async get_build() AsyncBuild | None
async get_causes() list[dict[str, Any]]
async get_job() AsyncJob
async get_parameters() list[Parameter]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.queue.AsyncQueue(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async cancel(id: str) Response[source]
property dynamic_attrs: list[str]
async exists() bool
async get(id: str) AsyncQueueItem | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.queue.AsyncQueueItem(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async cancel() Response[source]
property dynamic_attrs: list[str]
async exists() bool
async get_build() AsyncBuild | None[source]
async get_causes() list[dict[str, Any]]
async get_job() AsyncJob[source]
async get_parameters() list[Parameter]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.queue.AsyncWaitingItem(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async cancel() Response
property dynamic_attrs: list[str]
async exists() bool
async get_build() AsyncBuild | None
async get_causes() list[dict[str, Any]]
async get_job() AsyncJob
async get_parameters() list[Parameter]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.queue.BlockedItem(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
cancel() Response
property dynamic_attrs: list[str]
exists() bool
get_build() Build | None
get_causes() list[dict[str, Any]]
get_job() Job
get_parameters() list[Parameter]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.queue.BuildableItem(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
cancel() Response
property dynamic_attrs: list[str]
exists() bool
get_build() Build | None
get_causes() list[dict[str, Any]]
get_job() Job
get_parameters() list[Parameter]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.queue.LeftItem(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
cancel() Response
property dynamic_attrs: list[str]
exists() bool
get_build() Build | None
get_causes() list[dict[str, Any]]
get_job() Job
get_parameters() list[Parameter]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.queue.Queue(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
cancel(id: str) Response[source]
property dynamic_attrs: list[str]
exists() bool
get(id: str) QueueItem | None[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.queue.QueueItem(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
cancel() Response[source]
property dynamic_attrs: list[str]
exists() bool
get_build() Build | None[source]
get_causes() list[dict[str, Any]]
get_job() Job[source]
get_parameters() list[Parameter]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.queue.WaitingItem(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
cancel() Response
property dynamic_attrs: list[str]
exists() bool
get_build() Build | None
get_causes() list[dict[str, Any]]
get_job() Job
get_parameters() list[Parameter]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.credential.AsyncCredential(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
property dynamic_attrs: list[str]
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
property name: str
class api4jenkins.credential.AsyncCredentials(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[AsyncDomain][source]

Override AsyncItem.aiter() to provide async domain iteration. Note: This intentionally changes the return type from None to AsyncIterator.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async create(xml: str) Response[source]
property dynamic_attrs: list[str]
async exists() bool
async get(name: str) AsyncDomain | None[source]
property global_domain: AsyncDomain
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.credential.AsyncDomain(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[AsyncCredential][source]

Override AsyncItem.aiter() to provide async credential iteration. Note: This intentionally changes the return type from None to AsyncIterator.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async create(xml: str) Response[source]
async delete() Any
property dynamic_attrs: list[str]
async exists() bool
async get(id: str) AsyncCredential | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
property name: str
class api4jenkins.credential.Credential(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
property dynamic_attrs: list[str]
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
property name: str
class api4jenkins.credential.Credentials(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
create(xml: str) Response[source]
property dynamic_attrs: list[str]
exists() bool
get(name: str) Domain | None[source]
property global_domain: Domain
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Domain][source]

Override Item.iter() to provide domain iteration. Note: This intentionally changes the return type from None to Iterator.

class api4jenkins.credential.Domain(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
create(xml: str) Response[source]
delete() Any
property dynamic_attrs: list[str]
exists() bool
get(id: str) Credential | None[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Credential][source]

Override Item.iter() to provide credential iteration. Note: This intentionally changes the return type from None to Iterator.

property name: str
class api4jenkins.node.AsyncDockerComputer(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
async disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
async enable() Response | None
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_building_builds() AsyncIterator[AsyncBuild]
async iter_builds() AsyncIterator[AsyncBuild]

Override AsyncItem.iter_builds() to provide async build iteration. Note: This intentionally changes the return type.

property name: str
async run_script(script: str) str
class api4jenkins.node.AsyncEC2Computer(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
async disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
async enable() Response | None
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_building_builds() AsyncIterator[AsyncBuild]
async iter_builds() AsyncIterator[AsyncBuild]

Override AsyncItem.iter_builds() to provide async build iteration. Note: This intentionally changes the return type.

property name: str
async run_script(script: str) str
class api4jenkins.node.AsyncIterBuildingBuildsMixIn[source]
async iter_building_builds() AsyncIterator[AsyncBuild][source]
abstractmethod async iter_builds() AsyncIterator[AsyncBuild][source]
class api4jenkins.node.AsyncKubernetesComputer(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
async disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
async enable() Response | None
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_building_builds() AsyncIterator[AsyncBuild]
async iter_builds() AsyncIterator[AsyncBuild]

Override AsyncItem.iter_builds() to provide async build iteration. Note: This intentionally changes the return type.

property name: str
async run_script(script: str) str
class api4jenkins.node.AsyncMasterComputer(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
async disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
async enable() Response | None
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_building_builds() AsyncIterator[AsyncBuild]
async iter_builds() AsyncIterator[AsyncBuild]

Override AsyncItem.iter_builds() to provide async build iteration. Note: This intentionally changes the return type.

property name: str
async run_script(script: str) str
class api4jenkins.node.AsyncNode(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
async disable(msg: str = '') Response | None[source]
property dynamic_attrs: list[str]
async enable() Response | None[source]
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_building_builds() AsyncIterator[AsyncBuild]
async iter_builds() AsyncIterator[AsyncBuild][source]

Override AsyncItem.iter_builds() to provide async build iteration. Note: This intentionally changes the return type.

property name: str
async run_script(script: str) str
class api4jenkins.node.AsyncNodes(jenkins: Any, url: str)[source]
async aiter() AsyncIterator[AsyncNode][source]

Override AsyncItem.aiter() to provide async node iteration. Note: This intentionally changes the return type.

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async create(name: str, **kwargs: Any) Response[source]
property dynamic_attrs: list[str]
async exists() bool
async filter_node_by_label(*labels: str) AsyncIterator[AsyncNode][source]
async filter_node_by_status(*, online: bool) AsyncIterator[AsyncNode][source]
async get(name: str) AsyncNode | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_building_builds() AsyncIterator[AsyncBuild]
async iter_builds() AsyncIterator[AsyncBuild][source]

Override AsyncItem.iter_builds() to provide async build iteration. Note: This intentionally changes the return type.

class api4jenkins.node.AsyncSlaveComputer(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
async disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
async enable() Response | None
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async iter_building_builds() AsyncIterator[AsyncBuild]
async iter_builds() AsyncIterator[AsyncBuild]

Override AsyncItem.iter_builds() to provide async build iteration. Note: This intentionally changes the return type.

property name: str
async run_script(script: str) str
class api4jenkins.node.DockerComputer(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
enable() Response | None
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
iter_building_builds() Iterator[Build]
iter_builds() Iterator[Build]

Override Item.iter_builds() to provide build iteration. Note: This intentionally changes the return type.

property name: str
run_script(script: str) str
class api4jenkins.node.EC2Computer(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
enable() Response | None
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
iter_building_builds() Iterator[Build]
iter_builds() Iterator[Build]

Override Item.iter_builds() to provide build iteration. Note: This intentionally changes the return type.

property name: str
run_script(script: str) str
class api4jenkins.node.IterBuildingBuildsMixIn[source]
iter_building_builds() Iterator[Build][source]
abstractmethod iter_builds() Iterator[Build][source]
class api4jenkins.node.KubernetesComputer(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
enable() Response | None
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
iter_building_builds() Iterator[Build]
iter_builds() Iterator[Build]

Override Item.iter_builds() to provide build iteration. Note: This intentionally changes the return type.

property name: str
run_script(script: str) str
class api4jenkins.node.MasterComputer(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
enable() Response | None
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
iter_building_builds() Iterator[Build]
iter_builds() Iterator[Build]

Override Item.iter_builds() to provide build iteration. Note: This intentionally changes the return type.

property name: str
run_script(script: str) str
class api4jenkins.node.MasterComputerMixIn(jenkins: Any, url: str)[source]
class api4jenkins.node.Node(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
disable(msg: str = '') Response | None[source]
property dynamic_attrs: list[str]
enable() Response | None[source]
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
iter_building_builds() Iterator[Build]
iter_builds() Iterator[Build][source]

Override Item.iter_builds() to provide build iteration. Note: This intentionally changes the return type.

property name: str
run_script(script: str) str
class api4jenkins.node.Nodes(jenkins: Any, url: str)[source]

classdocs

api_json(tree: str = '', depth: int = 0) dict[str, Any]
create(name: str, **kwargs: Any) Response[source]
property dynamic_attrs: list[str]
exists() bool
filter_node_by_label(*labels: str) Iterator[Node][source]
filter_node_by_status(*, online: bool) Iterator[Node][source]
get(name: str) Node | None[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() Iterator[Node][source]
iter_building_builds() Iterator[Build]
iter_builds() Iterator[Build][source]
class api4jenkins.node.SlaveComputer(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
disable(msg: str = '') Response | None
property dynamic_attrs: list[str]
enable() Response | None
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
iter_building_builds() Iterator[Build]
iter_builds() Iterator[Build]

Override Item.iter_builds() to provide build iteration. Note: This intentionally changes the return type.

property name: str
run_script(script: str) str
class api4jenkins.plugin.AsyncPlugin(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async uninstall() Response[source]
class api4jenkins.plugin.AsyncPluginsManager(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async check_updates_server() None[source]
property dynamic_attrs: list[str]
async exists() bool
async get(name: str) AsyncPlugin | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async install(*names: str, block: bool = False) None[source]
property installation_done: bool
property restart_required: bool
async set_proxy(name: str, port: int, *, username: str = '', password: str = '', no_proxy: str = '', test_url: str = '') Response[source]
async set_site(url: str) None[source]
property site: str | None
async uninstall(*names: str) None[source]
property update_center: AsyncUpdateCenter
class api4jenkins.plugin.AsyncUpdateCenter(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
property installation_done: bool
property restart_required: bool
property site: str | None
class api4jenkins.plugin.Plugin(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
uninstall() Response[source]
class api4jenkins.plugin.PluginsManager(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
check_updates_server() Response[source]
property dynamic_attrs: list[str]
exists() bool
get(name: str) Plugin | None[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
install(*names: str, block: bool = False) Response[source]
property installation_done: bool
iter() None
property restart_required: bool
set_proxy(name: str, port: int, *, username: str = '', password: str = '', no_proxy: str = '', test_url: str = '') Response[source]
set_site(url: str) Response[source]
property site: str | None
uninstall(*names: str) list[Response][source]
property update_center: UpdateCenter
class api4jenkins.plugin.UpdateCenter(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
property installation_done: bool
iter() None
property restart_required: bool
property site: str | None
class api4jenkins.view.AllView(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
property dynamic_attrs: list[str]
exclude(name: str) Response
exists() bool
get(name: str) Job | None
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
include(name: str) Response
iter() None
property name: str
set_description(text: str) Any
class api4jenkins.view.AsyncAllView(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
property dynamic_attrs: list[str]
async exclude(name: str) Response
async exists() bool
async get(name: str) AsyncJob | None
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async include(name: str) Response
property name: str
async set_description(text: str) Any
class api4jenkins.view.AsyncDashboard(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
property dynamic_attrs: list[str]
async exclude(name: str) Response
async exists() bool
async get(name: str) AsyncJob | None
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async include(name: str) Response
property name: str
async set_description(text: str) Any
class api4jenkins.view.AsyncListView(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
property dynamic_attrs: list[str]
async exclude(name: str) Response
async exists() bool
async get(name: str) AsyncJob | None
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async include(name: str) Response
property name: str
async set_description(text: str) Any
class api4jenkins.view.AsyncMyView(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
property dynamic_attrs: list[str]
async exclude(name: str) Response
async exists() bool
async get(name: str) AsyncJob | None
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async include(name: str) Response
property name: str
async set_description(text: str) Any
class api4jenkins.view.AsyncNestedView(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
property dynamic_attrs: list[str]
async exclude(name: str) Response
async exists() bool
async get(name: str) AsyncJob | None
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async include(name: str) Response
property name: str
async set_description(text: str) Any
property views: AsyncViews
class api4jenkins.view.AsyncSectionedView(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
property dynamic_attrs: list[str]
async exclude(name: str) Response
async exists() bool
async get(name: str) AsyncJob | None
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async include(name: str) Response
property name: str
async set_description(text: str) Any
class api4jenkins.view.AsyncView(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async configure(xml: str | None = None) Any
async delete() Any
property dynamic_attrs: list[str]
async exclude(name: str) Response[source]
async exists() bool
async get(name: str) AsyncJob | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async include(name: str) Response[source]
property name: str
async set_description(text: str) Any
class api4jenkins.view.AsyncViews(owner: Any)[source]

classdocs

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async create(name: str, xml: str) Response[source]
property dynamic_attrs: list[str]
async exists() bool
async get(name: str) AsyncView | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.view.Dashboard(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
property dynamic_attrs: list[str]
exclude(name: str) Response
exists() bool
get(name: str) Job | None
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
include(name: str) Response
iter() None
property name: str
set_description(text: str) Any
class api4jenkins.view.ListView(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
property dynamic_attrs: list[str]
exclude(name: str) Response
exists() bool
get(name: str) Job | None
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
include(name: str) Response
iter() None
property name: str
set_description(text: str) Any
class api4jenkins.view.MyView(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
property dynamic_attrs: list[str]
exclude(name: str) Response
exists() bool
get(name: str) Job | None
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
include(name: str) Response
iter() None
property name: str
set_description(text: str) Any
class api4jenkins.view.NestedView(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
property dynamic_attrs: list[str]
exclude(name: str) Response
exists() bool
get(name: str) Job | None
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
include(name: str) Response
iter() None
property name: str
set_description(text: str) Any
property views: Views
class api4jenkins.view.SectionedView(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
property dynamic_attrs: list[str]
exclude(name: str) Response
exists() bool
get(name: str) Job | None
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
include(name: str) Response
iter() None
property name: str
set_description(text: str) Any
class api4jenkins.view.View(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
configure(xml: str | None = None) Any
delete() Any
property dynamic_attrs: list[str]
exclude(name: str) Response[source]
exists() bool
get(name: str) Job | None[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
include(name: str) Response[source]
iter() None
property name: str
set_description(text: str) Any
class api4jenkins.view.Views(owner: Any)[source]

classdocs

api_json(tree: str = '', depth: int = 0) dict[str, Any]
create(name: str, xml: str) Response[source]
property dynamic_attrs: list[str]
exists() bool
get(name: str) View | None[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.system.AsyncSystem(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async apply_jcasc(content: str) Response[source]
async decrypt_secret(text: str) str[source]
property dynamic_attrs: list[str]
async exists() bool
async export_jcasc() str[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async reload_jcasc() Response[source]
async run_script(script: str) str
class api4jenkins.system.System(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
apply_jcasc(content: str) Response[source]
decrypt_secret(text: str) str[source]
property dynamic_attrs: list[str]
exists() bool
export_jcasc() str[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
reload_jcasc() Response[source]
run_script(script: str) str
class api4jenkins.user.ApiToken(name, uuid, value)
count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

name

Alias for field number 0

uuid

Alias for field number 1

value

Alias for field number 2

class api4jenkins.user.AsyncUser(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
async delete() Any
property dynamic_attrs: list[str]
async exists() bool
async generate_token(name: str = '') ApiToken[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
async revoke_token(uuid: str) Any[source]
async set_description(text: str) Any
class api4jenkins.user.AsyncUsers(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async get(name: str) AsyncUser | None[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.user.User(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
delete() Any
property dynamic_attrs: list[str]
exists() bool
generate_token(name: str = '') ApiToken[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
revoke_token(uuid: str) Any[source]
set_description(text: str) Any
class api4jenkins.user.Users(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
get(name: str) User | None[source]
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.report.AsyncCoverageReport(jenkins: Any, url: str)[source]

Access coverage report generated by JaCoCo

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async get(name: str) T

Get an item by name from the async iterable.

async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
report_types: ClassVar[list[str]] = ['branchCoverage', 'classCoverage', 'complexityScore', 'instructionCoverage', 'lineCoverage', 'methodCoverage']
async trends(count: int = 2) AsyncIterator[Coverage][source]
class api4jenkins.report.AsyncCoverageResult(jenkins: Any, url: str)[source]

Access coverage result generated by Code Coverage API

async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async get(name: str) T

Get an item by name from the async iterable.

async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.report.AsyncCoverageTrends(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async get(name: str) T

Get an item by name from the async iterable.

async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.report.AsyncGetMixIn[source]

Base class providing async iteration and item lookup functionality.

Note: Uses async generators which may show type checking limitations in Pylance. The implementation is correct and works at runtime despite type checker warnings.

async get(name: str) T[source]

Get an item by name from the async iterable.

class api4jenkins.report.AsyncIterableMixIn(*args, **kwargs)[source]
class api4jenkins.report.AsyncTestReport(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
async exists() bool
async get(name: str) T

Get an item by name from the async iterable.

async handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
property suites: AsyncIterator[TestSuite]
class api4jenkins.report.Coverage(raw: dict[str, Any])[source]
class api4jenkins.report.CoverageElement(raw: dict[str, Any])[source]
class api4jenkins.report.CoverageReport(jenkins: Any, url: str)[source]

Access coverage report generated by JaCoCo

api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
get(name: str) Any
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
report_types: ClassVar[list[str]] = ['branchCoverage', 'classCoverage', 'complexityScore', 'instructionCoverage', 'lineCoverage', 'methodCoverage']
trends(count: int = 2) Generator[Coverage, None, None][source]
class api4jenkins.report.CoverageResult(jenkins: Any, url: str)[source]

Access coverage result generated by Code Coverage API

api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
get(name: str) Any
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.report.CoverageTrend(raw: dict[str, Any])[source]
class api4jenkins.report.CoverageTrends(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
get(name: str) Any
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
class api4jenkins.report.GetMixIn[source]
get(name: str) Any[source]
class api4jenkins.report.ResultBase(raw: dict[str, Any])[source]
class api4jenkins.report.TestCase(raw: dict[str, Any])[source]
class api4jenkins.report.TestReport(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any]
property dynamic_attrs: list[str]
exists() bool
get(name: str) Any
handle_req(method: str, entry: str, **kwargs: Any) Response
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None
property suites: Generator[TestSuite, None, None]
class api4jenkins.report.TestSuite(raw: dict[str, Any])[source]
property cases: Generator[TestCase, None, None]
get(name: str) Any
class api4jenkins.item.AsyncItem(jenkins: Any, url: str)[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any][source]
property dynamic_attrs: list[str]
async exists() bool[source]
async handle_req(method: str, entry: str, **kwargs: Any) Response[source]
handle_stream(method: str, entry: str, **kwargs: Any) AsyncIterator[Response][source]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.item.BaseItem(jenkins: Any, url: str)[source]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
class api4jenkins.item.Item(jenkins: Any, url: str)[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any][source]
property dynamic_attrs: list[str]
exists() bool[source]
handle_req(method: str, entry: str, **kwargs: Any) Response[source]
handle_stream(method: str, entry: str, **kwargs: Any) Iterator[Response][source]
headers: ClassVar[dict[str, str]] = {'Content-Type': 'text/xml; charset=utf-8'}
iter() None[source]
api4jenkins.item.append_slash(url: str) str[source]
api4jenkins.item.camel(s: str) str[source]
api4jenkins.item.new_item(jenkins: Any, module: str, item: dict[str, Any]) Any
api4jenkins.item.snake(name: str) str
class api4jenkins.mix.ActionsMixIn[source]
get_causes() list[dict[str, Any]][source]
get_parameters() list[Parameter][source]
class api4jenkins.mix.AsyncActionsMixIn[source]
async get_causes() list[dict[str, Any]][source]
async get_parameters() list[Parameter][source]
class api4jenkins.mix.AsyncConfigurationMixIn[source]
async configure(xml: str | None = None) Any[source]
property name: str
class api4jenkins.mix.AsyncDeletionMixIn[source]
async delete() Any[source]
class api4jenkins.mix.AsyncDescriptionMixIn[source]
async set_description(text: str) Any[source]
class api4jenkins.mix.AsyncEnableMixIn[source]
async disable() Any[source]
async enable() Any[source]
class api4jenkins.mix.AsyncRawJsonMixIn[source]
async api_json(tree: str = '', depth: int = 0) dict[str, Any][source]
class api4jenkins.mix.AsyncRunScriptMixIn[source]
async run_script(script: str) str[source]
class api4jenkins.mix.ConfigurationMixIn[source]
configure(xml: str | None = None) Any[source]
property name: str
class api4jenkins.mix.DeletionMixIn[source]
delete() Any[source]
class api4jenkins.mix.DescriptionMixIn[source]
set_description(text: str) Any[source]
class api4jenkins.mix.EnableMixIn[source]
disable() Any[source]
enable() Any[source]
class api4jenkins.mix.Parameter(class_name, name, value)
class_name

Alias for field number 0

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

name

Alias for field number 1

value

Alias for field number 2

class api4jenkins.mix.RawJsonMixIn[source]
api_json(tree: str = '', depth: int = 0) dict[str, Any][source]
class api4jenkins.mix.RunScriptMixIn[source]
run_script(script: str) str[source]
class api4jenkins.mix.UrlMixIn[source]
async api4jenkins.http.async_check_response(response: Response) None[source]
async api4jenkins.http.async_log_request(request: Request) None[source]
api4jenkins.http.check_response(response: Response) None[source]
api4jenkins.http.log_request(request: Request) None[source]
api4jenkins.http.new_async_http_client(**kwargs) AsyncClient[source]
api4jenkins.http.new_http_client(**kwargs) Client[source]
exception api4jenkins.exceptions.AuthenticationError[source]
add_note(note, /)

Add a note to the exception

args
with_traceback(tb, /)

Set self.__traceback__ to tb and return self.

exception api4jenkins.exceptions.BadRequestError[source]
add_note(note, /)

Add a note to the exception

args
with_traceback(tb, /)

Set self.__traceback__ to tb and return self.

exception api4jenkins.exceptions.ItemExistsError[source]
add_note(note, /)

Add a note to the exception

args
with_traceback(tb, /)

Set self.__traceback__ to tb and return self.

exception api4jenkins.exceptions.ItemNotFoundError[source]
add_note(note, /)

Add a note to the exception

args
with_traceback(tb, /)

Set self.__traceback__ to tb and return self.

exception api4jenkins.exceptions.JenkinsAPIException[source]
add_note(note, /)

Add a note to the exception

args
with_traceback(tb, /)

Set self.__traceback__ to tb and return self.

exception api4jenkins.exceptions.ServerError[source]
add_note(note, /)

Add a note to the exception

args
with_traceback(tb, /)

Set self.__traceback__ to tb and return self.

exception api4jenkins.exceptions.UnsafeCharacterError[source]
add_note(note, /)

Add a note to the exception

args
with_traceback(tb, /)

Set self.__traceback__ to tb and return self.