Skip to content

feat(jenkins): consolidate admin API additions#1114

Merged
clintonsteiner merged 7 commits intopycontribs:masterfrom
clintonsteiner:block/jenkins-admin-api
Mar 31, 2026
Merged

feat(jenkins): consolidate admin API additions#1114
clintonsteiner merged 7 commits intopycontribs:masterfrom
clintonsteiner:block/jenkins-admin-api

Conversation

@clintonsteiner
Copy link
Copy Markdown
Collaborator

This consolidates the overlapping Jenkins admin/API additions into one merge block to reduce repeated conflicts on jenkinsapi/jenkins.py.

Supersedes: #1106, #1109, #1097, #1094

Port from jenkins_api_client (Ruby):
- Jenkins.get_jobs_by_status(status): filter jobs by build result.
  Accepts 'success', 'failure', 'unstable', 'aborted', 'disabled',
  or 'notbuilt'; handles animated color variants (_anime suffix)
Port from jenkins_api_client (Ruby):
- Jenkins.reload(): POST /reload to reload all configuration from disk
  without a full Jenkins restart
POST to ApiTokenProperty/revoke with tokenUuid, and
ApiTokenProperty/revokeAll to revoke all tokens for the current user.
Mirrors the pattern of generate_new_api_token().

Systests verify a specific token UUID is removed and that revokeAll
leaves an empty token list.
POST to securityRealm/createAccountByAdmin and
securityRealm/user/{username}/doDelete to manage local Jenkins users.

Systest creates a user and verifies it can be deleted, using the
jenkins_admin_admin fixture (HudsonPrivateSecurityRealm required).
@clintonsteiner clintonsteiner force-pushed the block/jenkins-admin-api branch from 06f04af to 9dc074a Compare March 31, 2026 04:03
@clintonsteiner clintonsteiner merged commit 9dccb47 into pycontribs:master Mar 31, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant