Capability library / Application package

Jenkins package v1.0.0

List Jenkins top-level jobs and agents, read a job record with its build list, and schedule a build. A build can deploy code; on folders or multibranch projects the trigger can start scanning or indexing.

Review state: Reviewed · Distributable: yes, digest matches the release manifest

This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern

Before you enable this package

The endpoint host 'jenkins-instance.invalid' is a reserved .invalid placeholder that fails closed until you substitute the real host in both the endpoint URLs and the egress allowlist.

Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.

Capabilities (4)

Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/jenkins.json and embeds a copy in the release binary.

Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.

On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.

Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.

jenkins.jobs.read v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://jenkins-instance.invalid/api/json
Connector
http
Custody
customer_vault
Credential ref
secret-ref-jenkins-api-token
Data class
internal

Read jobs.

List the controller's top-level items via GET /api/json on the Jenkins remote API, which documents the generic .../api/ pattern (JSON, XML and Python flavors) on every object. The registered path covers the top-level listing only — folder traversal, views, and queue reads are not registered by this pack.

jenkins.builds.read v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://jenkins-instance.invalid/job/JOB_NAME/api/json
Connector
http
Custody
customer_vault
Credential ref
secret-ref-jenkins-api-token
Data class
internal

Read a job and its build list.

Read one job's record — including its documented build list — via GET /job/JOB_NAME/api/json. The registered path covers the job record only — single-build records, console output, and test results are not registered by this pack. JOB_NAME is exactly one URL-encoded job-name segment — a top-level job; a job nested in folders lives at the explicit shape /job/FOLDER/job/JOB/api/json (each segment individually encoded), which a deployment substitutes as its own reviewed pack change, never by encoding a folder hierarchy into this segment.

jenkins.nodes.read v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://jenkins-instance.invalid/computer/api/json
Connector
http
Custody
customer_vault
Credential ref
secret-ref-jenkins-api-token
Data class
internal

Read nodes.

List the controller's agents via GET /computer/api/json. The /computer/ URL hierarchy is served by Jenkins' ComputerSet object, whose published API exports the computer list (as 'computer') together with executor counts, and whose node monitors (disk space, swap space, clock and similar) can appear in the same response — this pack does not claim to exclude the monitoring data the registered call can return. Single-node records (/computer/{name}/api/json) are not registered by this pack.

Jenkins documentation is instance-version-dependent and the instance's own .../api/ pages are definitive; confirm this path against the instance's /computer/api/ page before enablement.

jenkins.job.build.trigger v1.0.0R3

Kind
tool
Action
deploy
Endpoint
POST https://jenkins-instance.invalid/job/JOB_NAME/build
Connector
http
Custody
customer_vault
Credential ref
secret-ref-jenkins-api-token
Data class
internal

Trigger a job build or multibranch indexing.

Schedule a build of one job via POST /job/JOB_NAME/build, which Jenkins documents as the build trigger (on multibranch projects and folders it triggers indexing or scanning instead). A build runs the job's configured pipeline, which commonly performs deployments — the capability is registered as deploy at the minimum R3 tier, and deploy is one of the designated actions requiring human approval.

On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths. The parameterized variant buildWithParameters is deliberately not registered, because it would let the caller inject build parameters beyond what the job defines; a triggered build is outwardly visible and any deployment it performs cannot be undone by this pack.

JOB_NAME is exactly one URL-encoded job-name segment — a top-level job; a job nested in folders lives at the explicit shape /job/FOLDER/job/JOB/build (each segment individually encoded), which a deployment substitutes as its own reviewed pack change, never by encoding a folder hierarchy into this segment.

Credential reference

The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.

Reference
secret-ref-jenkins-api-token
Custody
customer_vault
Injection
header (Authorization)

Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.

Complete credential requirements

A Jenkins API token for a dedicated service user on the customer's own controller, held in the client's own secret manager. The stored material must be the complete Authorization header value: the word Basic, one separating space, then the base64 encoding of <jenkins-username>:<api-token>.

Jenkins documents HTTP Basic authentication with a username and that user's API token for scripted clients, that requests must send the header preemptively because the controller answers unauthenticated requests with 403 rather than challenging with 401, and that tokens are created, revoked and regenerated on the user's own security page ($root/me/security) — revoking a token, or regenerating it, invalidates the previously issued value; Jenkins documents no built-in token expiry, and creating another token does not invalidate existing ones, so the invalidation paths are explicit revocation, regeneration, or removal of the owning user.

Jenkins also documents that requests authenticated with a username and API token are exempt from CSRF crumb requirements, which is why this pack registers the API-token scheme rather than session authentication. Use a dedicated least-privilege service user: Overall/Read and Job/Read cover the three read capabilities; job.build.trigger additionally needs Job/Build on the specific jobs only — grant it only where the trigger is enabled, and nothing broader.

Renewal ownership sits with an external deployment process: the executor injects the stored value verbatim and performs no token lifecycle itself, and it must never substitute a different credential without an approved pack change.

Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.

Resources

  • jenkins-controller (api, internal): https://jenkins-instance.invalid/

Technical package and review record

Complete provider requirements and exclusions

The endpoint host 'jenkins-instance.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): the installer must substitute the real controller host into the endpoints, the resource locator and the egress allowlist together — the allowlist matches exactly, so all three must be substituted as one — and re-review the pack before enablement; allowlisting the reserved host does not make an unsubstituted pack safe.

The registered shapes assume a controller mounted at the root of its host; a controller mounted under a context path (for example https://host/jenkins) requires substituting that path prefix into every endpoint and the resource locator as part of the host substitution — changing only the authority is not enough. JOB_NAME in the endpoint paths is a placeholder the deployment substitutes at registration time, before enabling, with exactly one URL-encoded job-name segment — a top-level job name.

Jobs nested in folders live under the explicit nested shape /job/FOLDER/job/JOB/... with each segment individually encoded; do not encode a folder hierarchy into the JOB_NAME segment, and a deployment that needs a nested job substitutes the full nested path as its own reviewed pack change. Jenkins documentation is instance-version-dependent: the remote API is documented as a generic .../api/ pattern on every object, and the instance's own .../api/ pages are the definitive reference for what each object exposes — confirm the registered paths against the instance before enablement.

The CSRF exemption for API-token authentication is documented for Jenkins 2.222 and later. This pack registers only endpoints the Jenkins documentation describes: the top-level /api/json listing, a job's /api/json record, the /computer/api/json agent list, and POST /job/JOB_NAME/build.

Documented exclusions: buildWithParameters (which would let the caller inject build parameters beyond what the job defines), build stop and abort, console output and log fetch, job create, delete, copy and configuration, credentials domains, script console, node and agent management, crumb issuance, and every endpoint outside the registered list; each addition is a pack change and requires its own review.

Approval classification: reads sit at the minimum R0 tier. job.build.trigger is registered as deploy at the minimum R3 tier because scheduling a build runs the job's configured pipeline, which commonly performs deployments, and deploy is one of the designated actions requiring human approval. AAES has not been certified by the Jenkins project; reviewable default, not a vendor guarantee.

Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.

The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.

Review block

This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.

Review completed: 2026-09-22

4 sources, retrieved 2026-09-21

Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.

Release identity

SHA-256 of the pack file bytes: 369546f660ed12f9453a3a5fd356748ac75fa0f2923ba232585052492442efc9

Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.