diff --git a/Jenkins/OpenAPIs/jenkins-2026-09-14.json b/Jenkins/OpenAPIs/jenkins-2026-09-14.json new file mode 100644 index 0000000..6a65f87 --- /dev/null +++ b/Jenkins/OpenAPIs/jenkins-2026-09-14.json @@ -0,0 +1,4692 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "Jenkins", + "description": "Jenkins is an open source automation server used to build, test, and deploy software. This spec covers Jenkins' classic remote access API for managing jobs, builds, the build queue, views, and agent/computer status.", + "version": "3.4.1-pre.0", + "x-vendor-api-version": "2026-09-14" + }, + "servers": [ + { + "url": "https://{host}", + "variables": { + "host": { + "default": "jenkins.example.com" + } + } + } + ], + "paths": { + "/api/json": { + "head": { + "description": "Retrieve Jenkins headers", + "operationId": "headJenkins", + "responses": { + "200": { + "description": "Successfully retrieved Jenkins headers", + "headers": { + "x-jenkins": { + "description": "Jenkins version number", + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + }, + "get": { + "description": "Retrieve Jenkins details", + "operationId": "getJenkins", + "responses": { + "200": { + "description": "Successfully retrieved Jenkins details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Hudson" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/computer/api/json": { + "get": { + "description": "Retrieve computer details", + "operationId": "getComputer", + "parameters": [ + { + "name": "depth", + "description": "Recursion depth in response model", + "in": "query", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved computer details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ComputerSet" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/createItem": { + "post": { + "description": "Create a new job using job configuration, or copied from an existing job", + "operationId": "postCreateItem", + "parameters": [ + { + "name": "name", + "description": "Name of the new job", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "from", + "description": "Existing job to copy from", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "mode", + "description": "Set to 'copy' for copying an existing job", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/crumb" + }, + { + "name": "Content-Type", + "description": "Content type header application/xml", + "in": "header", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully created a new job" + }, + "400": { + "$ref": "#/components/responses/errorInHtml" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ], + "requestBody": { + "content": { + "application/xml": { + "schema": { + "type": "string" + } + } + }, + "description": "Job configuration in config.xml format" + } + } + }, + "/createView": { + "post": { + "description": "Create a new view using view configuration", + "operationId": "postCreateView", + "parameters": [ + { + "name": "name", + "description": "Name of the new view", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/crumb" + }, + { + "name": "Content-Type", + "description": "Content type header application/xml", + "in": "header", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the view" + }, + "400": { + "$ref": "#/components/responses/errorInHtml" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ], + "requestBody": { + "content": { + "application/xml": { + "schema": { + "type": "string" + } + } + }, + "description": "View configuration in config.xml format" + } + } + }, + "/crumbIssuer/api/json": { + "get": { + "description": "Retrieve CSRF protection token", + "operationId": "getCrumb", + "responses": { + "200": { + "description": "Successfully retrieved CSRF protection token", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DefaultCrumbIssuer" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "base" + ] + } + }, + "/job/{name}/api/json": { + "get": { + "description": "Retrieve job details", + "operationId": "getJob", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FreeStyleProject" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/build": { + "post": { + "description": "Build a job", + "operationId": "postJobBuild", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "name": "json", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "token", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully built the job (backward compatibility for older versions of Jenkins)" + }, + "201": { + "description": "Successfully built the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/config.xml": { + "get": { + "description": "Retrieve job configuration", + "operationId": "getJobConfig", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job configuration in config.xml format", + "content": { + "text/xml": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + }, + "post": { + "description": "Update job configuration", + "operationId": "postJobConfig", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job configuration in config.xml format" + }, + "400": { + "$ref": "#/components/responses/errorInHtml" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ], + "requestBody": { + "content": { + "application/xml": { + "schema": { + "type": "string" + } + } + }, + "description": "Job configuration in config.xml format", + "required": true + } + } + }, + "/job/{name}/doDelete": { + "post": { + "description": "Delete a job", + "operationId": "postJobDelete", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/disable": { + "post": { + "description": "Disable a job", + "operationId": "postJobDisable", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully disabled the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/enable": { + "post": { + "description": "Enable a job", + "operationId": "postJobEnable", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully enabled the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/lastBuild/api/json": { + "get": { + "description": "Retrieve job's last build details", + "operationId": "getJobLastBuild", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job's last build details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FreeStyleBuild" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/lastBuild/stop": { + "post": { + "description": "Stop a job", + "operationId": "postJobLastBuildStop", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully stopped the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/{number}/logText/progressiveText": { + "get": { + "description": "Retrieve job's build progressive text output", + "operationId": "getJobProgressiveText", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "name": "number", + "description": "Build number", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start", + "description": "Starting point of progressive text output", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job's build progressive text output" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/queue/api/json": { + "get": { + "description": "Retrieve queue details", + "operationId": "getQueue", + "responses": { + "200": { + "description": "Successfully retrieved queue details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Queue" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/queue/item/{number}/api/json": { + "get": { + "description": "Retrieve queued item details", + "operationId": "getQueueItem", + "parameters": [ + { + "name": "number", + "description": "Queue number", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved queued item details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Queue" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/view/{name}/api/json": { + "get": { + "description": "Retrieve view details", + "operationId": "getView", + "parameters": [ + { + "$ref": "#/components/parameters/viewName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved view details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListView" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/viewNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/view/{name}/config.xml": { + "get": { + "description": "Retrieve view configuration", + "operationId": "getViewConfig", + "parameters": [ + { + "$ref": "#/components/parameters/viewName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved view configuration in config.xml format", + "content": { + "text/xml": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/viewNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + }, + "post": { + "description": "Update view configuration", + "operationId": "postViewConfig", + "parameters": [ + { + "$ref": "#/components/parameters/viewName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully updated view configuration" + }, + "400": { + "$ref": "#/components/responses/errorInHtml" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/viewNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ], + "requestBody": { + "content": { + "application/xml": { + "schema": { + "type": "string" + } + } + }, + "description": "View configuration in config.xml format", + "required": true + } + } + }, + "/jwt-auth/token": { + "get": { + "description": "Retrieve JSON Web Token", + "operationId": "getJsonWebToken", + "parameters": [ + { + "name": "expiryTimeInMins", + "description": "Token expiry time in minutes, default: 30 minutes", + "in": "query", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "maxExpiryTimeInMins", + "description": "Maximum token expiry time in minutes, default: 480 minutes", + "in": "query", + "required": false, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved JWT token", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "tags": [ + "blueOcean" + ], + "security": [ + { + "jenkins_auth": [] + } + ] + } + }, + "/jwt-auth/jwks/{key}": { + "get": { + "description": "Retrieve JSON Web Key", + "operationId": "getJsonWebKey", + "parameters": [ + { + "name": "key", + "description": "Key ID received as part of JWT header field kid", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved JWT token", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "tags": [ + "blueOcean" + ], + "security": [ + { + "jenkins_auth": [] + } + ] + } + }, + "/blue/rest/classes/": { + "get": { + "description": "Get classes details", + "operationId": "searchClasses", + "parameters": [ + { + "name": "q", + "description": "Query string containing an array of class names", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved search result", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/classes/{class}": { + "get": { + "description": "Get a list of class names supported by a given class", + "operationId": "getClasses", + "parameters": [ + { + "$ref": "#/components/parameters/className" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved class names", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/search/": { + "get": { + "description": "Search for any resource details", + "operationId": "search", + "parameters": [ + { + "name": "q", + "description": "Query string", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved search result", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/": { + "get": { + "description": "Retrieve all organizations details", + "operationId": "getOrganisations", + "responses": { + "200": { + "description": "Successfully retrieved pipelines details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Organisations" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}": { + "get": { + "description": "Retrieve organization details", + "operationId": "getOrganisation", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved pipeline details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Organisation" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/pipelineNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/": { + "get": { + "description": "Retrieve all pipelines details for an organization", + "operationId": "getPipelines", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved pipelines details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pipelines" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}": { + "get": { + "description": "Retrieve pipeline details for an organization", + "operationId": "getPipeline", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved pipeline details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pipeline" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/pipelineNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/activities": { + "get": { + "description": "Retrieve all activities details for an organization pipeline", + "operationId": "getPipelineActivities", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all activities details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineActivities" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/branches": { + "get": { + "description": "Retrieve all branches details for an organization pipeline", + "operationId": "getPipelineBranches", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all branches details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MultibranchPipeline" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/branches/{branch}/": { + "get": { + "description": "Retrieve branch details for an organization pipeline", + "operationId": "getPipelineBranch", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/branchName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved branch details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BranchImpl" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/branches/{branch}/runs/{run}": { + "get": { + "description": "Retrieve branch run details for an organization pipeline", + "operationId": "getPipelineBranchRun", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/branchName" + }, + { + "$ref": "#/components/parameters/runName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved run details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineRun" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{folder}/": { + "get": { + "description": "Retrieve pipeline folder for an organization", + "operationId": "getPipelineFolder", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/folderName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved folder details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineFolderImpl" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{folder}/pipelines/{pipeline}": { + "get": { + "description": "Retrieve pipeline details for an organization folder", + "operationId": "getPipelineFolderPipeline", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/folderName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved pipeline details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineImpl" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/favorite": { + "put": { + "description": "Favorite/unfavorite a pipeline", + "operationId": "putPipelineFavorite", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + } + ], + "responses": { + "200": { + "description": "Successfully favorited/unfavorited a pipeline", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FavoriteImpl" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + }, + "description": "Set JSON string body to {\"favorite\": true} to favorite, set value to false to unfavorite", + "required": true + } + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/queue": { + "get": { + "description": "Retrieve queue details for an organization pipeline", + "operationId": "getPipelineQueue", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved queue details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineQueue" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/queue/{queue}": { + "delete": { + "description": "Delete queue item from an organization pipeline queue", + "operationId": "deletePipelineQueueItem", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/queueItemName" + } + ], + "responses": { + "200": { + "description": "Successfully deleted queue item" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs": { + "get": { + "description": "Retrieve all runs details for an organization pipeline", + "operationId": "getPipelineRuns", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved runs details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineRuns" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + }, + "post": { + "description": "Start a build for an organization pipeline", + "operationId": "postPipelineRuns", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + } + ], + "responses": { + "200": { + "description": "Successfully started a build", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueItemImpl" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}": { + "get": { + "description": "Retrieve run details for an organization pipeline", + "operationId": "getPipelineRun", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/runName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved run details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineRun" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes": { + "get": { + "description": "Retrieve run nodes details for an organization pipeline", + "operationId": "getPipelineRunNodes", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/runName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved run nodes details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineRunNodes" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes/{node}": { + "get": { + "description": "Retrieve run node details for an organization pipeline", + "operationId": "getPipelineRunNode", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/runName" + }, + { + "$ref": "#/components/parameters/nodeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved run node details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineRunNode" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes/{node}/steps": { + "get": { + "description": "Retrieve run node steps details for an organization pipeline", + "operationId": "getPipelineRunNodeSteps", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/runName" + }, + { + "$ref": "#/components/parameters/nodeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved run node steps details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineRunNodeSteps" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes/{node}/steps/{step}": { + "get": { + "description": "Retrieve run node details for an organization pipeline", + "operationId": "getPipelineRunNodeStep", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/runName" + }, + { + "$ref": "#/components/parameters/nodeName" + }, + { + "$ref": "#/components/parameters/stepName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved run node step details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineStepImpl" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/nodes/{node}/steps/{step}/log": { + "get": { + "description": "Get log for a pipeline run node step", + "operationId": "getPipelineRunNodeStepLog", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/runName" + }, + { + "$ref": "#/components/parameters/nodeName" + }, + { + "$ref": "#/components/parameters/stepName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved pipeline run node step log", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/log": { + "get": { + "description": "Get log for a pipeline run", + "operationId": "getPipelineRunLog", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/runName" + }, + { + "name": "start", + "description": "Start position of the log", + "in": "query", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "download", + "description": "Set to true in order to download the file, otherwise it's passed as a response body", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved pipeline run log", + "content": { + "application/json": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/replay": { + "post": { + "description": "Replay an organization pipeline run", + "operationId": "postPipelineRun", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/runName" + } + ], + "responses": { + "200": { + "description": "Successfully replayed a pipeline run", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueueItemImpl" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/pipelines/{pipeline}/runs/{run}/stop": { + "put": { + "description": "Stop a build of an organization pipeline", + "operationId": "putPipelineRun", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/pipelineName" + }, + { + "$ref": "#/components/parameters/runName" + }, + { + "name": "blocking", + "description": "Set to true to make blocking stop, default: false", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "timeOutInSecs", + "description": "Timeout in seconds, default: 10 seconds", + "in": "query", + "required": false, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Successfully stopped a build", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PipelineRun" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/scm/{scm}": { + "get": { + "description": "Retrieve SCM details for an organization", + "operationId": "getSCM", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/scmName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved SCM details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GithubScm" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/scm/{scm}/organizations": { + "get": { + "description": "Retrieve SCM organizations details for an organization", + "operationId": "getSCMOrganisations", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/scmName" + }, + { + "name": "credentialId", + "description": "Credential ID", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved SCM organizations details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScmOrganisations" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/scm/{scm}/organizations/{scmOrganisation}/repositories": { + "get": { + "description": "Retrieve SCM organization repositories details for an organization", + "operationId": "getSCMOrganisationRepositories", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/scmName" + }, + { + "$ref": "#/components/parameters/scmOrgName" + }, + { + "name": "credentialId", + "description": "Credential ID", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "description": "Number of items in a page", + "in": "query", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "pageNumber", + "description": "Page number", + "in": "query", + "required": false, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved SCM organization repositories details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScmOrganisations" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/scm/{scm}/organizations/{scmOrganisation}/repositories/{repository}": { + "get": { + "description": "Retrieve SCM organization repository details for an organization", + "operationId": "getSCMOrganisationRepository", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/scmName" + }, + { + "$ref": "#/components/parameters/scmOrgName" + }, + { + "$ref": "#/components/parameters/repositoryName" + }, + { + "name": "credentialId", + "description": "Credential ID", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved SCM organizations details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScmOrganisations" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/user/": { + "get": { + "description": "Retrieve authenticated user details for an organization", + "operationId": "getAuthenticatedUser", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved authenticated user details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/users/": { + "get": { + "description": "Retrieve users details for an organization", + "operationId": "getUsers", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved users details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/organizations/{organization}/users/{user}": { + "get": { + "description": "Retrieve user details for an organization", + "operationId": "getUser", + "parameters": [ + { + "$ref": "#/components/parameters/orgName" + }, + { + "$ref": "#/components/parameters/userName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved users details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + }, + "/blue/rest/users/{user}/favorites": { + "get": { + "description": "Retrieve user favorites details for an organization", + "operationId": "getUserFavorites", + "parameters": [ + { + "$ref": "#/components/parameters/userName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved users favorites details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserFavorites" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "blueOcean" + ] + } + } + }, + "components": { + "securitySchemes": { + "jenkins_auth": { + "type": "http", + "scheme": "basic" + } + }, + "parameters": { + "jobName": { + "name": "name", + "description": "Name of the job", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "viewName": { + "name": "name", + "description": "Name of the view", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "crumb": { + "name": "Jenkins-Crumb", + "description": "CSRF protection token", + "in": "header", + "required": false, + "schema": { + "type": "string" + } + }, + "orgName": { + "name": "organization", + "description": "Name of the organization", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "pipelineName": { + "name": "pipeline", + "description": "Name of the pipeline", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "branchName": { + "name": "branch", + "description": "Name of the branch", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "queueItemName": { + "name": "queue", + "description": "Name of the queue item", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "runName": { + "name": "run", + "description": "Name of the run", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "nodeName": { + "name": "node", + "description": "Name of the node", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "stepName": { + "name": "step", + "description": "Name of the step", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "scmName": { + "name": "scm", + "description": "Name of SCM", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "scmOrgName": { + "name": "scmOrganisation", + "description": "Name of the SCM organization", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "repositoryName": { + "name": "repository", + "description": "Name of the SCM repository", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "className": { + "name": "class", + "description": "Name of the class", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "folderName": { + "name": "folder", + "description": "Name of the folder", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "userName": { + "name": "user", + "description": "Name of the user", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + }, + "responses": { + "unauthorized": { + "description": "Authentication failed - incorrect username and/or password" + }, + "forbidden": { + "description": "Jenkins requires authentication - please set username and password" + }, + "jobNotFound": { + "description": "Job cannot be found on Jenkins instance" + }, + "viewNotFound": { + "description": "View cannot be found on Jenkins instance" + }, + "pipelineNotFound": { + "description": "Pipeline cannot be found on Jenkins instance" + }, + "errorInHtml": { + "description": "An error has occurred - error message is embedded inside the HTML response", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + } + }, + "schemas": { + "FreeStyleBuild": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "number": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CauseAction" + } + }, + "building": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "duration": { + "type": "integer" + }, + "estimatedDuration": { + "type": "integer" + }, + "executor": { + "type": "string" + }, + "fullDisplayName": { + "type": "string" + }, + "id": { + "type": "string" + }, + "keepLog": { + "type": "boolean" + }, + "queueId": { + "type": "integer" + }, + "result": { + "type": "string" + }, + "timestamp": { + "type": "integer" + }, + "builtOn": { + "type": "string" + }, + "changeSet": { + "$ref": "#/components/schemas/EmptyChangeLogSet" + } + } + }, + "HudsonMasterComputerexecutors": { + "type": "object", + "properties": { + "currentExecutable": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "idle": { + "type": "boolean" + }, + "likelyStuck": { + "type": "boolean" + }, + "number": { + "type": "integer" + }, + "progress": { + "type": "integer" + }, + "_class": { + "type": "string" + } + } + }, + "Label1": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "SwapSpaceMonitorMemoryUsage2": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "availablePhysicalMemory": { + "type": "integer" + }, + "availableSwapSpace": { + "type": "integer" + }, + "totalPhysicalMemory": { + "type": "integer" + }, + "totalSwapSpace": { + "type": "integer" + } + } + }, + "DiskSpaceMonitorDescriptorDiskSpace": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "timestamp": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "size": { + "type": "integer" + } + } + }, + "ResponseTimeMonitorData": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "timestamp": { + "type": "integer" + }, + "average": { + "type": "integer" + } + } + }, + "ClockDifference": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "diff": { + "type": "integer" + } + } + }, + "HudsonMasterComputermonitorData": { + "type": "object", + "properties": { + "hudson.node_monitors.SwapSpaceMonitor": { + "$ref": "#/components/schemas/SwapSpaceMonitorMemoryUsage2" + }, + "hudson.node_monitors.TemporarySpaceMonitor": { + "$ref": "#/components/schemas/DiskSpaceMonitorDescriptorDiskSpace" + }, + "hudson.node_monitors.DiskSpaceMonitor": { + "$ref": "#/components/schemas/DiskSpaceMonitorDescriptorDiskSpace" + }, + "hudson.node_monitors.ArchitectureMonitor": { + "type": "string" + }, + "hudson.node_monitors.ResponseTimeMonitor": { + "$ref": "#/components/schemas/ResponseTimeMonitorData" + }, + "hudson.node_monitors.ClockMonitor": { + "$ref": "#/components/schemas/ClockDifference" + }, + "_class": { + "type": "string" + } + } + }, + "HudsonMasterComputer": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "executors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HudsonMasterComputerexecutors" + } + }, + "icon": { + "type": "string" + }, + "iconClassName": { + "type": "string" + }, + "idle": { + "type": "boolean" + }, + "jnlpAgent": { + "type": "boolean" + }, + "launchSupported": { + "type": "boolean" + }, + "loadStatistics": { + "$ref": "#/components/schemas/Label1" + }, + "manualLaunchAllowed": { + "type": "boolean" + }, + "monitorData": { + "$ref": "#/components/schemas/HudsonMasterComputermonitorData" + }, + "numExecutors": { + "type": "integer" + }, + "offline": { + "type": "boolean" + }, + "offlineCause": { + "type": "string" + }, + "offlineCauseReason": { + "type": "string" + }, + "temporarilyOffline": { + "type": "boolean" + } + } + }, + "ComputerSet": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "busyExecutors": { + "type": "integer" + }, + "computer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HudsonMasterComputer" + } + }, + "displayName": { + "type": "string" + }, + "totalExecutors": { + "type": "integer" + } + } + }, + "DefaultCrumbIssuer": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "crumb": { + "type": "string" + }, + "crumbRequestField": { + "type": "string" + } + } + }, + "HudsonassignedLabels": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "FreeStyleProject": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "type": "string" + }, + "color": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleProjectactions" + } + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "displayNameOrNull": { + "type": "string" + }, + "fullDisplayName": { + "type": "string" + }, + "fullName": { + "type": "string" + }, + "buildable": { + "type": "boolean" + }, + "builds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleBuild" + } + }, + "firstBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "healthReport": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleProjecthealthReport" + } + }, + "inQueue": { + "type": "boolean" + }, + "keepDependencies": { + "type": "boolean" + }, + "lastBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "lastCompletedBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "lastFailedBuild": { + "type": "string" + }, + "lastStableBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "lastSuccessfulBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "lastUnstableBuild": { + "type": "string" + }, + "lastUnsuccessfulBuild": { + "type": "string" + }, + "nextBuildNumber": { + "type": "integer" + }, + "queueItem": { + "type": "string" + }, + "concurrentBuild": { + "type": "boolean" + }, + "scm": { + "$ref": "#/components/schemas/NullSCM" + } + } + }, + "AllView": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "UnlabeledLoadStatistics": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "Hudson": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "assignedLabels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HudsonassignedLabels" + } + }, + "mode": { + "type": "string" + }, + "nodeDescription": { + "type": "string" + }, + "nodeName": { + "type": "string" + }, + "numExecutors": { + "type": "integer" + }, + "description": { + "type": "string" + }, + "jobs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleProject" + } + }, + "primaryView": { + "$ref": "#/components/schemas/AllView" + }, + "quietingDown": { + "type": "boolean" + }, + "slaveAgentPort": { + "type": "integer" + }, + "unlabeledLoad": { + "$ref": "#/components/schemas/UnlabeledLoadStatistics" + }, + "useCrumbs": { + "type": "boolean" + }, + "useSecurity": { + "type": "boolean" + }, + "views": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AllView" + } + } + } + }, + "FreeStyleProjectactions": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "FreeStyleProjecthealthReport": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "iconClassName": { + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "score": { + "type": "integer" + }, + "_class": { + "type": "string" + } + } + }, + "NullSCM": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "CauseUserIdCause": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "shortDescription": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "CauseAction": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "causes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CauseUserIdCause" + } + } + } + }, + "EmptyChangeLogSet": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "kind": { + "type": "string" + } + } + }, + "QueueBlockedItem": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CauseAction" + } + }, + "blocked": { + "type": "boolean" + }, + "buildable": { + "type": "boolean" + }, + "id": { + "type": "integer" + }, + "inQueueSince": { + "type": "integer" + }, + "params": { + "type": "string" + }, + "stuck": { + "type": "boolean" + }, + "task": { + "$ref": "#/components/schemas/FreeStyleProject" + }, + "url": { + "type": "string" + }, + "why": { + "type": "string" + }, + "buildableStartMilliseconds": { + "type": "integer" + } + } + }, + "Queue": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueBlockedItem" + } + } + } + }, + "QueueLeftItem": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CauseAction" + } + }, + "blocked": { + "type": "boolean" + }, + "buildable": { + "type": "boolean" + }, + "id": { + "type": "integer" + }, + "inQueueSince": { + "type": "integer" + }, + "params": { + "type": "string" + }, + "stuck": { + "type": "boolean" + }, + "task": { + "$ref": "#/components/schemas/FreeStyleProject" + }, + "url": { + "type": "string" + }, + "why": { + "type": "string" + }, + "cancelled": { + "type": "boolean" + }, + "executable": { + "$ref": "#/components/schemas/FreeStyleBuild" + } + } + }, + "ListView": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "description": { + "type": "string" + }, + "jobs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleProject" + } + }, + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "Link": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "href": { + "type": "string" + } + } + }, + "ExtensionClassContainerImpl1links": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "ExtensionClassImpllinks": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "ExtensionClassImpl": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/ExtensionClassImpllinks" + }, + "classes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ExtensionClassContainerImpl1map": { + "type": "object", + "properties": { + "io.jenkins.blueocean.service.embedded.rest.PipelineImpl": { + "$ref": "#/components/schemas/ExtensionClassImpl" + }, + "io.jenkins.blueocean.service.embedded.rest.MultiBranchPipelineImpl": { + "$ref": "#/components/schemas/ExtensionClassImpl" + }, + "_class": { + "type": "string" + } + } + }, + "ExtensionClassContainerImpl1": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/ExtensionClassContainerImpl1links" + }, + "map": { + "$ref": "#/components/schemas/ExtensionClassContainerImpl1map" + } + } + }, + "ClassesByClass": { + "type": "object", + "properties": { + "classes": { + "type": "array", + "items": { + "type": "string" + } + }, + "_class": { + "type": "string" + } + } + }, + "MultibranchPipeline": { + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "latestRun": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "weatherScore": { + "type": "integer" + }, + "branchNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "numberOfFailingBranches": { + "type": "integer" + }, + "numberOfFailingPullRequests": { + "type": "integer" + }, + "numberOfSuccessfulBranches": { + "type": "integer" + }, + "numberOfSuccessfulPullRequests": { + "type": "integer" + }, + "totalNumberOfBranches": { + "type": "integer" + }, + "totalNumberOfPullRequests": { + "type": "integer" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineImpl": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "fullName": { + "type": "string" + }, + "latestRun": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "weatherScore": { + "type": "integer" + }, + "_links": { + "$ref": "#/components/schemas/PipelineImpllinks" + } + } + }, + "Organisation": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "Organisations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Organisation" + } + }, + "PipelinelatestRunartifacts": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "_class": { + "type": "string" + } + } + }, + "PipelinelatestRun": { + "type": "object", + "properties": { + "artifacts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PipelinelatestRunartifacts" + } + }, + "durationInMillis": { + "type": "integer" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "enQueueTime": { + "type": "string" + }, + "endTime": { + "type": "string" + }, + "id": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "pipeline": { + "type": "string" + }, + "result": { + "type": "string" + }, + "runSummary": { + "type": "string" + }, + "startTime": { + "type": "string" + }, + "state": { + "type": "string" + }, + "type": { + "type": "string" + }, + "commitId": { + "type": "string" + }, + "_class": { + "type": "string" + } + } + }, + "Pipeline": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "name": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "fullName": { + "type": "string" + }, + "weatherScore": { + "type": "integer" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "latestRun": { + "$ref": "#/components/schemas/PipelinelatestRun" + } + } + }, + "PipelineActivityartifacts": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineActivity": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "artifacts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PipelineActivityartifacts" + } + }, + "durationInMillis": { + "type": "integer" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "enQueueTime": { + "type": "string" + }, + "endTime": { + "type": "string" + }, + "id": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "pipeline": { + "type": "string" + }, + "result": { + "type": "string" + }, + "runSummary": { + "type": "string" + }, + "startTime": { + "type": "string" + }, + "state": { + "type": "string" + }, + "type": { + "type": "string" + }, + "commitId": { + "type": "string" + } + } + }, + "PipelineActivities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PipelineActivity" + } + }, + "StringParameterValue": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "StringParameterDefinition": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "defaultParameterValue": { + "$ref": "#/components/schemas/StringParameterValue" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "BranchImplpermissions": { + "type": "object", + "properties": { + "create": { + "type": "boolean" + }, + "read": { + "type": "boolean" + }, + "start": { + "type": "boolean" + }, + "stop": { + "type": "boolean" + }, + "_class": { + "type": "string" + } + } + }, + "BranchImpl": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "fullDisplayName": { + "type": "string" + }, + "fullName": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StringParameterDefinition" + } + }, + "permissions": { + "$ref": "#/components/schemas/BranchImplpermissions" + }, + "weatherScore": { + "type": "integer" + }, + "pullRequest": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/BranchImpllinks" + }, + "latestRun": { + "$ref": "#/components/schemas/PipelineRunImpl" + } + } + }, + "PipelineBranchesitemlatestRun": { + "type": "object", + "properties": { + "durationInMillis": { + "type": "integer" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "enQueueTime": { + "type": "string" + }, + "endTime": { + "type": "string" + }, + "id": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "pipeline": { + "type": "string" + }, + "result": { + "type": "string" + }, + "runSummary": { + "type": "string" + }, + "startTime": { + "type": "string" + }, + "state": { + "type": "string" + }, + "type": { + "type": "string" + }, + "commitId": { + "type": "string" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineBranchesitempullRequestlinks": { + "type": "object", + "properties": { + "self": { + "type": "string" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineBranchesitempullRequest": { + "type": "object", + "properties": { + "_links": { + "$ref": "#/components/schemas/PipelineBranchesitempullRequestlinks" + }, + "author": { + "type": "string" + }, + "id": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineBranchesitem": { + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "weatherScore": { + "type": "integer" + }, + "latestRun": { + "$ref": "#/components/schemas/PipelineBranchesitemlatestRun" + }, + "organization": { + "type": "string" + }, + "pullRequest": { + "$ref": "#/components/schemas/PipelineBranchesitempullRequest" + }, + "totalNumberOfPullRequests": { + "type": "integer" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineBranches": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PipelineBranchesitem" + } + }, + "FavoriteImpllinks": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineImpllinks": { + "type": "object", + "properties": { + "runs": { + "$ref": "#/components/schemas/Link" + }, + "self": { + "$ref": "#/components/schemas/Link" + }, + "queue": { + "$ref": "#/components/schemas/Link" + }, + "actions": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "FavoriteImpl": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/FavoriteImpllinks" + }, + "item": { + "$ref": "#/components/schemas/PipelineImpl" + } + } + }, + "PipelineFolderImpl": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "fullName": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "numberOfFolders": { + "type": "integer" + }, + "numberOfPipelines": { + "type": "integer" + } + } + }, + "QueueItemImpl": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "expectedBuildNumber": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "pipeline": { + "type": "string" + }, + "queuedTime": { + "type": "integer" + } + } + }, + "PipelineQueue": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueItemImpl" + } + }, + "PipelineRunartifacts": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineRun": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "artifacts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PipelineRunartifacts" + } + }, + "durationInMillis": { + "type": "integer" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "enQueueTime": { + "type": "string" + }, + "endTime": { + "type": "string" + }, + "id": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "pipeline": { + "type": "string" + }, + "result": { + "type": "string" + }, + "runSummary": { + "type": "string" + }, + "startTime": { + "type": "string" + }, + "state": { + "type": "string" + }, + "type": { + "type": "string" + }, + "commitId": { + "type": "string" + } + } + }, + "PipelineStepImpllinks": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "actions": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "InputStepImpllinks": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "InputStepImpl": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/InputStepImpllinks" + }, + "id": { + "type": "string" + }, + "message": { + "type": "string" + }, + "ok": { + "type": "string" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StringParameterDefinition" + } + }, + "submitter": { + "type": "string" + } + } + }, + "PipelineStepImpl": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/PipelineStepImpllinks" + }, + "displayName": { + "type": "string" + }, + "durationInMillis": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "input": { + "$ref": "#/components/schemas/InputStepImpl" + }, + "result": { + "type": "string" + }, + "startTime": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "PipelineRunNodeSteps": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PipelineStepImpl" + } + }, + "PipelineRunNodeedges": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineRunNode": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "durationInMillis": { + "type": "integer" + }, + "edges": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PipelineRunNodeedges" + } + }, + "id": { + "type": "string" + }, + "result": { + "type": "string" + }, + "startTime": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "PipelineRunNodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PipelineRunNode" + } + }, + "GenericResource": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "durationInMillis": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "result": { + "type": "string" + }, + "startTime": { + "type": "string" + } + } + }, + "PipelineRunSteps": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GenericResource" + } + }, + "PipelineRuns": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PipelineRun" + } + }, + "Pipelines": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Pipeline" + } + }, + "GithubScmlinks": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "GithubScm": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/GithubScmlinks" + }, + "credentialId": { + "type": "string" + }, + "id": { + "type": "string" + }, + "uri": { + "type": "string" + } + } + }, + "GithubContent": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "_class": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "owner": { + "type": "string" + }, + "path": { + "type": "string" + }, + "base64Data": { + "type": "string" + } + } + }, + "GithubFile": { + "type": "object", + "properties": { + "content": { + "$ref": "#/components/schemas/GithubContent" + }, + "_class": { + "type": "string" + } + } + }, + "GithubRespositoryContainerlinks": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "GithubRepositorieslinks": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "GithubRepositorylinks": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "GithubRepositorypermissions": { + "type": "object", + "properties": { + "admin": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "pull": { + "type": "boolean" + }, + "_class": { + "type": "string" + } + } + }, + "GithubRepository": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/GithubRepositorylinks" + }, + "defaultBranch": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permissions": { + "$ref": "#/components/schemas/GithubRepositorypermissions" + }, + "private": { + "type": "boolean" + }, + "fullName": { + "type": "string" + } + } + }, + "GithubRepositories": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/GithubRepositorieslinks" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GithubRepository" + } + }, + "lastPage": { + "type": "integer" + }, + "nextPage": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + } + }, + "GithubRespositoryContainer": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/GithubRespositoryContainerlinks" + }, + "repositories": { + "$ref": "#/components/schemas/GithubRepositories" + } + } + }, + "GithubOrganizationlinks": { + "type": "object", + "properties": { + "repositories": { + "$ref": "#/components/schemas/Link" + }, + "self": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "GithubOrganization": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/GithubOrganizationlinks" + }, + "jenkinsOrganizationPipeline": { + "type": "boolean" + }, + "name": { + "type": "string" + } + } + }, + "ScmOrganisations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GithubOrganization" + } + }, + "User": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "id": { + "type": "string" + }, + "fullName": { + "type": "string" + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "BranchImpllinks": { + "type": "object", + "properties": { + "self": { + "$ref": "#/components/schemas/Link" + }, + "actions": { + "$ref": "#/components/schemas/Link" + }, + "runs": { + "$ref": "#/components/schemas/Link" + }, + "queue": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineRunImpllinks": { + "type": "object", + "properties": { + "nodes": { + "$ref": "#/components/schemas/Link" + }, + "log": { + "$ref": "#/components/schemas/Link" + }, + "self": { + "$ref": "#/components/schemas/Link" + }, + "actions": { + "$ref": "#/components/schemas/Link" + }, + "steps": { + "$ref": "#/components/schemas/Link" + }, + "_class": { + "type": "string" + } + } + }, + "PipelineRunImpl": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "_links": { + "$ref": "#/components/schemas/PipelineRunImpllinks" + }, + "durationInMillis": { + "type": "integer" + }, + "enQueueTime": { + "type": "string" + }, + "endTime": { + "type": "string" + }, + "estimatedDurationInMillis": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "pipeline": { + "type": "string" + }, + "result": { + "type": "string" + }, + "runSummary": { + "type": "string" + }, + "startTime": { + "type": "string" + }, + "state": { + "type": "string" + }, + "type": { + "type": "string" + }, + "commitId": { + "type": "string" + } + } + }, + "UserFavorites": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FavoriteImpl" + } + }, + "Users": { + "type": "array", + "items": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "security": [ + { + "jenkins_auth": [] + } + ] +} \ No newline at end of file diff --git a/Jenkins/OpenAPIs/jenkins-latest.json b/Jenkins/OpenAPIs/jenkins-latest.json new file mode 100644 index 0000000..6f7d278 --- /dev/null +++ b/Jenkins/OpenAPIs/jenkins-latest.json @@ -0,0 +1,1606 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "Jenkins", + "description": "Jenkins is an open source automation server used to build, test, and deploy software. This spec covers Jenkins' classic remote access API for managing jobs, builds, the build queue, views, and agent/computer status.", + "version": "latest", + "x-vendor-api-version": "2026-09-14", + "x-itential-curated": "Trimmed to 21 of 58 upstream operations covering job CRUD, build trigger/status/console output, the build queue, view CRUD, computer/agent status, and CSRF crumb retrieval. See the repo README for the full scope and the full spec." + }, + "servers": [ + { + "url": "https://{host}", + "variables": { + "host": { + "default": "jenkins.example.com" + } + } + } + ], + "paths": { + "/api/json": { + "head": { + "description": "Retrieve Jenkins headers", + "operationId": "headJenkins", + "responses": { + "200": { + "description": "Successfully retrieved Jenkins headers", + "headers": { + "x-jenkins": { + "description": "Jenkins version number", + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + }, + "get": { + "description": "Retrieve Jenkins details", + "operationId": "getJenkins", + "responses": { + "200": { + "description": "Successfully retrieved Jenkins details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Hudson" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/computer/api/json": { + "get": { + "description": "Retrieve computer details", + "operationId": "getComputer", + "parameters": [ + { + "name": "depth", + "description": "Recursion depth in response model", + "in": "query", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved computer details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ComputerSet" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/createItem": { + "post": { + "description": "Create a new job using job configuration, or copied from an existing job", + "operationId": "postCreateItem", + "parameters": [ + { + "name": "name", + "description": "Name of the new job", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "from", + "description": "Existing job to copy from", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "mode", + "description": "Set to 'copy' for copying an existing job", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/crumb" + }, + { + "name": "Content-Type", + "description": "Content type header application/xml", + "in": "header", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully created a new job" + }, + "400": { + "$ref": "#/components/responses/errorInHtml" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ], + "requestBody": { + "content": { + "application/xml": { + "schema": { + "type": "string" + } + } + }, + "description": "Job configuration in config.xml format" + } + } + }, + "/createView": { + "post": { + "description": "Create a new view using view configuration", + "operationId": "postCreateView", + "parameters": [ + { + "name": "name", + "description": "Name of the new view", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/crumb" + }, + { + "name": "Content-Type", + "description": "Content type header application/xml", + "in": "header", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the view" + }, + "400": { + "$ref": "#/components/responses/errorInHtml" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ], + "requestBody": { + "content": { + "application/xml": { + "schema": { + "type": "string" + } + } + }, + "description": "View configuration in config.xml format" + } + } + }, + "/crumbIssuer/api/json": { + "get": { + "description": "Retrieve CSRF protection token", + "operationId": "getCrumb", + "responses": { + "200": { + "description": "Successfully retrieved CSRF protection token", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DefaultCrumbIssuer" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "base" + ] + } + }, + "/job/{name}/api/json": { + "get": { + "description": "Retrieve job details", + "operationId": "getJob", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FreeStyleProject" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/build": { + "post": { + "description": "Build a job", + "operationId": "postJobBuild", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "name": "json", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "token", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully built the job (backward compatibility for older versions of Jenkins)" + }, + "201": { + "description": "Successfully built the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/config.xml": { + "get": { + "description": "Retrieve job configuration", + "operationId": "getJobConfig", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job configuration in config.xml format", + "content": { + "text/xml": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + }, + "post": { + "description": "Update job configuration", + "operationId": "postJobConfig", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job configuration in config.xml format" + }, + "400": { + "$ref": "#/components/responses/errorInHtml" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ], + "requestBody": { + "content": { + "application/xml": { + "schema": { + "type": "string" + } + } + }, + "description": "Job configuration in config.xml format", + "required": true + } + } + }, + "/job/{name}/doDelete": { + "post": { + "description": "Delete a job", + "operationId": "postJobDelete", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/disable": { + "post": { + "description": "Disable a job", + "operationId": "postJobDisable", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully disabled the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/enable": { + "post": { + "description": "Enable a job", + "operationId": "postJobEnable", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully enabled the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/lastBuild/api/json": { + "get": { + "description": "Retrieve job's last build details", + "operationId": "getJobLastBuild", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job's last build details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FreeStyleBuild" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/lastBuild/stop": { + "post": { + "description": "Stop a job", + "operationId": "postJobLastBuildStop", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully stopped the job" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/job/{name}/{number}/logText/progressiveText": { + "get": { + "description": "Retrieve job's build progressive text output", + "operationId": "getJobProgressiveText", + "parameters": [ + { + "$ref": "#/components/parameters/jobName" + }, + { + "name": "number", + "description": "Build number", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "start", + "description": "Starting point of progressive text output", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved job's build progressive text output" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/jobNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/queue/api/json": { + "get": { + "description": "Retrieve queue details", + "operationId": "getQueue", + "responses": { + "200": { + "description": "Successfully retrieved queue details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Queue" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/queue/item/{number}/api/json": { + "get": { + "description": "Retrieve queued item details", + "operationId": "getQueueItem", + "parameters": [ + { + "name": "number", + "description": "Queue number", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved queued item details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Queue" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/view/{name}/api/json": { + "get": { + "description": "Retrieve view details", + "operationId": "getView", + "parameters": [ + { + "$ref": "#/components/parameters/viewName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved view details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListView" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/viewNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + } + }, + "/view/{name}/config.xml": { + "get": { + "description": "Retrieve view configuration", + "operationId": "getViewConfig", + "parameters": [ + { + "$ref": "#/components/parameters/viewName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved view configuration in config.xml format", + "content": { + "text/xml": { + "schema": { + "type": "string" + } + } + } + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/viewNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ] + }, + "post": { + "description": "Update view configuration", + "operationId": "postViewConfig", + "parameters": [ + { + "$ref": "#/components/parameters/viewName" + }, + { + "$ref": "#/components/parameters/crumb" + } + ], + "responses": { + "200": { + "description": "Successfully updated view configuration" + }, + "400": { + "$ref": "#/components/responses/errorInHtml" + }, + "401": { + "$ref": "#/components/responses/unauthorized" + }, + "403": { + "$ref": "#/components/responses/forbidden" + }, + "404": { + "$ref": "#/components/responses/viewNotFound" + } + }, + "security": [ + { + "jenkins_auth": [] + } + ], + "tags": [ + "remoteAccess" + ], + "requestBody": { + "content": { + "application/xml": { + "schema": { + "type": "string" + } + } + }, + "description": "View configuration in config.xml format", + "required": true + } + } + } + }, + "components": { + "securitySchemes": { + "jenkins_auth": { + "type": "http", + "scheme": "basic" + } + }, + "schemas": { + "Label1": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "CauseUserIdCause": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "shortDescription": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "userName": { + "type": "string" + } + } + }, + "FreeStyleBuild": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "number": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CauseAction" + } + }, + "building": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "duration": { + "type": "integer" + }, + "estimatedDuration": { + "type": "integer" + }, + "executor": { + "type": "string" + }, + "fullDisplayName": { + "type": "string" + }, + "id": { + "type": "string" + }, + "keepLog": { + "type": "boolean" + }, + "queueId": { + "type": "integer" + }, + "result": { + "type": "string" + }, + "timestamp": { + "type": "integer" + }, + "builtOn": { + "type": "string" + }, + "changeSet": { + "$ref": "#/components/schemas/EmptyChangeLogSet" + } + } + }, + "NullSCM": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "Queue": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QueueBlockedItem" + } + } + } + }, + "ClockDifference": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "diff": { + "type": "integer" + } + } + }, + "Hudson": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "assignedLabels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HudsonassignedLabels" + } + }, + "mode": { + "type": "string" + }, + "nodeDescription": { + "type": "string" + }, + "nodeName": { + "type": "string" + }, + "numExecutors": { + "type": "integer" + }, + "description": { + "type": "string" + }, + "jobs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleProject" + } + }, + "primaryView": { + "$ref": "#/components/schemas/AllView" + }, + "quietingDown": { + "type": "boolean" + }, + "slaveAgentPort": { + "type": "integer" + }, + "unlabeledLoad": { + "$ref": "#/components/schemas/UnlabeledLoadStatistics" + }, + "useCrumbs": { + "type": "boolean" + }, + "useSecurity": { + "type": "boolean" + }, + "views": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AllView" + } + } + } + }, + "UnlabeledLoadStatistics": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "ComputerSet": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "busyExecutors": { + "type": "integer" + }, + "computer": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HudsonMasterComputer" + } + }, + "displayName": { + "type": "string" + }, + "totalExecutors": { + "type": "integer" + } + } + }, + "HudsonMasterComputer": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "executors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HudsonMasterComputerexecutors" + } + }, + "icon": { + "type": "string" + }, + "iconClassName": { + "type": "string" + }, + "idle": { + "type": "boolean" + }, + "jnlpAgent": { + "type": "boolean" + }, + "launchSupported": { + "type": "boolean" + }, + "loadStatistics": { + "$ref": "#/components/schemas/Label1" + }, + "manualLaunchAllowed": { + "type": "boolean" + }, + "monitorData": { + "$ref": "#/components/schemas/HudsonMasterComputermonitorData" + }, + "numExecutors": { + "type": "integer" + }, + "offline": { + "type": "boolean" + }, + "offlineCause": { + "type": "string" + }, + "offlineCauseReason": { + "type": "string" + }, + "temporarilyOffline": { + "type": "boolean" + } + } + }, + "HudsonMasterComputermonitorData": { + "type": "object", + "properties": { + "hudson.node_monitors.SwapSpaceMonitor": { + "$ref": "#/components/schemas/SwapSpaceMonitorMemoryUsage2" + }, + "hudson.node_monitors.TemporarySpaceMonitor": { + "$ref": "#/components/schemas/DiskSpaceMonitorDescriptorDiskSpace" + }, + "hudson.node_monitors.DiskSpaceMonitor": { + "$ref": "#/components/schemas/DiskSpaceMonitorDescriptorDiskSpace" + }, + "hudson.node_monitors.ArchitectureMonitor": { + "type": "string" + }, + "hudson.node_monitors.ResponseTimeMonitor": { + "$ref": "#/components/schemas/ResponseTimeMonitorData" + }, + "hudson.node_monitors.ClockMonitor": { + "$ref": "#/components/schemas/ClockDifference" + }, + "_class": { + "type": "string" + } + } + }, + "FreeStyleProjecthealthReport": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "iconClassName": { + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "score": { + "type": "integer" + }, + "_class": { + "type": "string" + } + } + }, + "ResponseTimeMonitorData": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "timestamp": { + "type": "integer" + }, + "average": { + "type": "integer" + } + } + }, + "CauseAction": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "causes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CauseUserIdCause" + } + } + } + }, + "FreeStyleProjectactions": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "FreeStyleProject": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "type": "string" + }, + "color": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleProjectactions" + } + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "displayNameOrNull": { + "type": "string" + }, + "fullDisplayName": { + "type": "string" + }, + "fullName": { + "type": "string" + }, + "buildable": { + "type": "boolean" + }, + "builds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleBuild" + } + }, + "firstBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "healthReport": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleProjecthealthReport" + } + }, + "inQueue": { + "type": "boolean" + }, + "keepDependencies": { + "type": "boolean" + }, + "lastBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "lastCompletedBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "lastFailedBuild": { + "type": "string" + }, + "lastStableBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "lastSuccessfulBuild": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "lastUnstableBuild": { + "type": "string" + }, + "lastUnsuccessfulBuild": { + "type": "string" + }, + "nextBuildNumber": { + "type": "integer" + }, + "queueItem": { + "type": "string" + }, + "concurrentBuild": { + "type": "boolean" + }, + "scm": { + "$ref": "#/components/schemas/NullSCM" + } + } + }, + "SwapSpaceMonitorMemoryUsage2": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "availablePhysicalMemory": { + "type": "integer" + }, + "availableSwapSpace": { + "type": "integer" + }, + "totalPhysicalMemory": { + "type": "integer" + }, + "totalSwapSpace": { + "type": "integer" + } + } + }, + "DiskSpaceMonitorDescriptorDiskSpace": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "timestamp": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "size": { + "type": "integer" + } + } + }, + "AllView": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "HudsonMasterComputerexecutors": { + "type": "object", + "properties": { + "currentExecutable": { + "$ref": "#/components/schemas/FreeStyleBuild" + }, + "idle": { + "type": "boolean" + }, + "likelyStuck": { + "type": "boolean" + }, + "number": { + "type": "integer" + }, + "progress": { + "type": "integer" + }, + "_class": { + "type": "string" + } + } + }, + "HudsonassignedLabels": { + "type": "object", + "properties": { + "_class": { + "type": "string" + } + } + }, + "QueueBlockedItem": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CauseAction" + } + }, + "blocked": { + "type": "boolean" + }, + "buildable": { + "type": "boolean" + }, + "id": { + "type": "integer" + }, + "inQueueSince": { + "type": "integer" + }, + "params": { + "type": "string" + }, + "stuck": { + "type": "boolean" + }, + "task": { + "$ref": "#/components/schemas/FreeStyleProject" + }, + "url": { + "type": "string" + }, + "why": { + "type": "string" + }, + "buildableStartMilliseconds": { + "type": "integer" + } + } + }, + "EmptyChangeLogSet": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "kind": { + "type": "string" + } + } + }, + "DefaultCrumbIssuer": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "crumb": { + "type": "string" + }, + "crumbRequestField": { + "type": "string" + } + } + }, + "ListView": { + "type": "object", + "properties": { + "_class": { + "type": "string" + }, + "description": { + "type": "string" + }, + "jobs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FreeStyleProject" + } + }, + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + }, + "parameters": { + "viewName": { + "name": "name", + "description": "Name of the view", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "jobName": { + "name": "name", + "description": "Name of the job", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + "crumb": { + "name": "Jenkins-Crumb", + "description": "CSRF protection token", + "in": "header", + "required": false, + "schema": { + "type": "string" + } + } + }, + "responses": { + "jobNotFound": { + "description": "Job cannot be found on Jenkins instance" + }, + "viewNotFound": { + "description": "View cannot be found on Jenkins instance" + }, + "errorInHtml": { + "description": "An error has occurred - error message is embedded inside the HTML response", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + }, + "unauthorized": { + "description": "Authentication failed - incorrect username and/or password" + }, + "forbidden": { + "description": "Jenkins requires authentication - please set username and password" + } + } + }, + "security": [ + { + "jenkins_auth": [] + } + ] +} \ No newline at end of file diff --git a/Jenkins/README.md b/Jenkins/README.md new file mode 100644 index 0000000..1c8f53a --- /dev/null +++ b/Jenkins/README.md @@ -0,0 +1,107 @@ +# Jenkins + +Jenkins is an open source automation server used to build, test, and deploy software through user-defined jobs and pipelines, run on a controller with optional distributed build agents. + +## Table of Contents + +- [Contents](#contents) +- [Requirements](#requirements) +- [Integration Configuration](#integration-configuration) +- [OpenAPIs](#openapis) + - [`jenkins-latest.json`](#jenkins-latestjson) + - [`jenkins-2026-09-14.json`](#jenkins-20260914json) +- [Studio Projects](#studio-projects) + - [Jenkins Project](#jenkins-project) + - [Folder Structure](#folder-structure) + - [Dependencies](#dependencies) + +## Contents + +| Asset | Description | +|---|---| +| [OpenAPIs/](./OpenAPIs/) | Jenkins remote access API OpenAPI specs — curated `-latest` plus the full dated spec | +| [Studio Projects/Jenkins](./Studio%20Projects/Jenkins.project.json) | 21 workflows covering common CRUD automation | + +## Requirements + +| Requirement | Version | +|---|---| +| Itential Platform | 6.x | +| Jenkins | LTS (remote access API is stable across recent LTS lines) | +| `Jenkins:latest` Integration Model | Required to build automation against the OpenAPI spec | + +## Integration Configuration + +Import the OpenAPI spec from `OpenAPIs/` as an Integration Model in **Admin > Integrations**, then create an integration pointing at your Jenkins controller. + +Authentication is HTTP Basic using your Jenkins username and an API token (not your account password). Generate a token from your Jenkins user profile under **Configure > API Token**. + +The instance's `authentication`/`server` properties should look like this once configured: + +```json +{ + "authentication": { + "jenkins_auth": { + "username": "", + "password": "" + } + }, + "server": { + "protocol": "https", + "host": "jenkins.example.com", + "base_path": "" + } +} +``` + +Replace `jenkins.example.com` with your own Jenkins controller hostname. + +## OpenAPIs + +Jenkins itself publishes no official OpenAPI/Swagger spec or automated REST API documentation. Both specs here are derived from [`swaggy-jenkins`](https://github.com/oapicf/swaggy-jenkins), a community-maintained OpenAPI description of Jenkins' remote access API under the OpenAPI Generator Community Foundation. + +| Spec | Version | Operations | Description | +|---|---|---|---| +| [`jenkins-latest.json`](./OpenAPIs/jenkins-latest.json) | latest (curated) | 21 | Actively-maintained spec, trimmed to 21 of 58 upstream operations — see breakdown below | +| [`jenkins-2026-09-14.json`](./OpenAPIs/jenkins-2026-09-14.json) | 2026-09-14 | 58 | Full spec, including the Blue Ocean REST API (58 operations) | + +### `jenkins-latest.json` + +Actively-maintained spec (`x-vendor-api-version: 2026-09-14`). Trimmed to 21 of 58 upstream operations covering common CRUD for automation. + +Resources included, by category: + +- **System**: Get Headers, Get Details, Get CSRF Crumb +- **Nodes and Agents**: Get Computer / Agent Status +- **Jobs**: Get, Create, Get Configuration, Update Configuration, Delete, Disable, Enable +- **Builds**: Trigger, Get Last Build, Stop Last Build, Get Console Output +- **Queue**: Get Queue, Get Queue Item +- **Views**: Create, Get, Get Configuration, Update Configuration + +### `jenkins-2026-09-14.json` + +Full spec (58 operations) — the complete `swaggy-jenkins` surface, including Blue Ocean, captured 2026-09-14. See `jenkins-latest.json` above for the curated subset if you just need common CRUD automation. + +## Studio Projects + +### Jenkins Project + +Backed by the **`Jenkins:latest`** Integration Model (see [`jenkins-latest.json`](./OpenAPIs/jenkins-latest.json) above). The project contains **21 workflows** organized into **6 folders**, one atomic workflow per API operation, covering the common-CRUD subset of the curated spec. + +#### Folder Structure + +| Folder | Workflows | Scope | +|---|---|---| +| System | Get Jenkins Headers, Get Jenkins Details, Get CSRF Crumb | Instance-level info and CSRF crumb retrieval | +| Nodes and Agents | Get Computer / Agent Status | Agent/node status | +| Jobs | Get, Create, Get Configuration, Update Configuration, Delete, Disable, Enable Job | Job CRUD | +| Builds | Trigger, Get Last Build, Stop Last Build, Get Console Output | Build lifecycle | +| Queue | Get Queue, Get Queue Item | Build queue | +| Views | Create, Get, Get Configuration, Update Configuration View | View CRUD | + +#### Dependencies + +| Dependency | Notes | +|---|---| +| `Jenkins:latest` Integration Model | Import from [`jenkins-latest.json`](./OpenAPIs/jenkins-latest.json) before importing the project | +| `Jenkins` integration instance | Create in **Admin > Integrations** with the connection properties above. Workflows are wired to an integration instance named `Jenkins` — update the `adapter_id` value in each workflow task if yours is named differently | diff --git a/Jenkins/Studio Projects/Jenkins.project.json b/Jenkins/Studio Projects/Jenkins.project.json new file mode 100644 index 0000000..4cc4239 --- /dev/null +++ b/Jenkins/Studio Projects/Jenkins.project.json @@ -0,0 +1,2738 @@ +{ + "_id": "24fda3c6c3fb46b6a4e627aa", + "name": "Jenkins", + "description": "Jenkins automation: job CRUD, build trigger/status/console output, build queue, views, and node/agent status", + "components": [ + { + "iid": 0, + "reference": "d3ac8564-e16a-431e-a09e-d3f63b56c998", + "type": "workflow", + "folder": "/System", + "document": { + "name": "Get Jenkins Headers", + "description": "Retrieve Jenkins headers (version info)", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "headJenkins", + "canvasName": "headJenkins", + "summary": "headJenkins", + "description": "Retrieve Jenkins headers (version info)", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {}, + "required": [] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "0d0c6624-ae31-4ec8-be74-27e743d6d41c", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 1, + "reference": "7c9bc075-1baa-4b00-b491-7d945d6663ee", + "type": "workflow", + "folder": "/System", + "document": { + "name": "Get Jenkins Details", + "description": "Retrieve Jenkins instance details", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getJenkins", + "canvasName": "getJenkins", + "summary": "getJenkins", + "description": "Retrieve Jenkins instance details", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {}, + "required": [] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "17d2e7df-1a06-401e-8759-70d40a77abf1", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 2, + "reference": "e1851400-0b7f-4328-bae2-6ecfa3b762cf", + "type": "workflow", + "folder": "/System", + "document": { + "name": "Get CSRF Crumb", + "description": "Retrieve a CSRF protection crumb for use on subsequent POST requests", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getCrumb", + "canvasName": "getCrumb", + "summary": "getCrumb", + "description": "Retrieve a CSRF protection crumb for use on subsequent POST requests", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {}, + "required": [] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "c2c886c6-d138-42ce-85ad-16046dd5d44f", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 3, + "reference": "14be2807-438e-4d6e-b6ca-b66b40db630a", + "type": "workflow", + "folder": "/Nodes and Agents", + "document": { + "name": "Get Computer / Agent Status", + "description": "Retrieve computer (agent/node) details", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getComputer", + "canvasName": "getComputer", + "summary": "getComputer", + "description": "Retrieve computer (agent/node) details", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "depth": "$var.job.depth" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "depth": { + "type": "string", + "description": "Recursion depth in response model" + } + }, + "required": [ + "depth" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "0c49d5e0-997c-4eab-af96-0074e808e5f4", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 4, + "reference": "e07c0aec-c2f2-420b-8ce8-fa22993bb95b", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Get Job", + "description": "Retrieve job details", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getJob", + "canvasName": "getJob", + "summary": "getJob", + "description": "Retrieve job details", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "b48d788c-5c09-427e-b571-5821558761c6", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 5, + "reference": "dcbf2998-b06d-4fa2-9e51-2172c9829321", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Create Job", + "description": "Create a new job using job configuration, or copied from an existing job", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postCreateItem", + "canvasName": "postCreateItem", + "summary": "postCreateItem", + "description": "Create a new job using job configuration, or copied from an existing job", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "from": "$var.job.from", + "mode": "$var.job.mode", + "Jenkins-Crumb": "$var.job.Jenkins-Crumb", + "bodyContentType": "application/xml", + "requestBodyPayload": "$var.job.requestBody" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the new job" + }, + "from": { + "type": "string", + "description": "Existing job to copy from" + }, + "mode": { + "type": "string", + "description": "Set to 'copy' for copying an existing job" + }, + "Jenkins-Crumb": { + "type": "string", + "description": "CSRF protection token" + }, + "requestBody": { + "type": "string", + "description": "Request body (config.xml format)" + } + }, + "required": [ + "name", + "requestBody" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "92e426e9-d799-4308-9c78-5343a865263f", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 6, + "reference": "386373a0-80fd-44e6-9e19-5553f26f8e72", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Get Job Configuration", + "description": "Retrieve job configuration in config.xml format", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getJobConfig", + "canvasName": "getJobConfig", + "summary": "getJobConfig", + "description": "Retrieve job configuration in config.xml format", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "8764be4d-6040-43f7-900b-d75c5ddaf93e", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 7, + "reference": "d945bc25-94f7-43b6-8b75-48659373fa39", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Update Job Configuration", + "description": "Update job configuration in config.xml format", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postJobConfig", + "canvasName": "postJobConfig", + "summary": "postJobConfig", + "description": "Update job configuration in config.xml format", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "Jenkins-Crumb": "$var.job.Jenkins-Crumb", + "bodyContentType": "application/xml", + "requestBodyPayload": "$var.job.requestBody" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + }, + "Jenkins-Crumb": { + "type": "string", + "description": "CSRF protection token" + }, + "requestBody": { + "type": "string", + "description": "Request body (config.xml format)" + } + }, + "required": [ + "name", + "requestBody" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "4e8ed93b-5268-4913-97df-fb840b3aae2e", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 8, + "reference": "d9d2d347-af59-4f86-86b8-fbd409409e31", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Delete Job", + "description": "Delete a job", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postJobDelete", + "canvasName": "postJobDelete", + "summary": "postJobDelete", + "description": "Delete a job", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "Jenkins-Crumb": "$var.job.Jenkins-Crumb" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + }, + "Jenkins-Crumb": { + "type": "string", + "description": "CSRF protection token" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "4e38f193-337e-4a3e-a525-1e59e7a63b84", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 9, + "reference": "327bc6e5-7dd0-44d2-9a2a-3df04a0fd561", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Disable Job", + "description": "Disable a job", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postJobDisable", + "canvasName": "postJobDisable", + "summary": "postJobDisable", + "description": "Disable a job", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "Jenkins-Crumb": "$var.job.Jenkins-Crumb" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + }, + "Jenkins-Crumb": { + "type": "string", + "description": "CSRF protection token" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "685025c9-2163-4e64-95dd-f4039962e130", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 10, + "reference": "7c2366d9-84e8-4192-8db7-bb090a155f42", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Enable Job", + "description": "Enable a job", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postJobEnable", + "canvasName": "postJobEnable", + "summary": "postJobEnable", + "description": "Enable a job", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "Jenkins-Crumb": "$var.job.Jenkins-Crumb" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + }, + "Jenkins-Crumb": { + "type": "string", + "description": "CSRF protection token" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "d500f09e-c450-424f-a9f3-b361d3270f3d", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 11, + "reference": "109d134d-33e6-46b9-80cd-d6ea74d470f4", + "type": "workflow", + "folder": "/Builds", + "document": { + "name": "Trigger Build", + "description": "Trigger a build for a job", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postJobBuild", + "canvasName": "postJobBuild", + "summary": "postJobBuild", + "description": "Trigger a build for a job", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "json": "$var.job.json", + "token": "$var.job.token", + "Jenkins-Crumb": "$var.job.Jenkins-Crumb" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + }, + "json": { + "type": "string", + "description": "JSON-encoded build parameters" + }, + "token": { + "type": "string", + "description": "Authorization token for remote build triggers" + }, + "Jenkins-Crumb": { + "type": "string", + "description": "CSRF protection token" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "628b1c73-21e8-41ef-9274-d702405c07fd", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 12, + "reference": "f4181339-d2f7-404c-8f31-faf433323ba7", + "type": "workflow", + "folder": "/Builds", + "document": { + "name": "Get Last Build", + "description": "Retrieve a job's last build details", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getJobLastBuild", + "canvasName": "getJobLastBuild", + "summary": "getJobLastBuild", + "description": "Retrieve a job's last build details", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "f16ae0d2-4a01-47b8-b1ec-8c4c6835cd5a", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 13, + "reference": "b7ed6e64-6387-48e5-bfc5-1a12e8be8448", + "type": "workflow", + "folder": "/Builds", + "document": { + "name": "Stop Last Build", + "description": "Stop a job's currently running build", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postJobLastBuildStop", + "canvasName": "postJobLastBuildStop", + "summary": "postJobLastBuildStop", + "description": "Stop a job's currently running build", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "Jenkins-Crumb": "$var.job.Jenkins-Crumb" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + }, + "Jenkins-Crumb": { + "type": "string", + "description": "CSRF protection token" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "57c57b13-b332-4304-99d2-8adccd6545d0", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 14, + "reference": "a55cdc11-c90b-4d17-aaca-0597f6821a8b", + "type": "workflow", + "folder": "/Builds", + "document": { + "name": "Get Build Console Output", + "description": "Retrieve a job build's progressive console text output", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getJobProgressiveText", + "canvasName": "getJobProgressiveText", + "summary": "getJobProgressiveText", + "description": "Retrieve a job build's progressive console text output", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "number": "$var.job.number", + "start": "$var.job.start" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the job" + }, + "number": { + "type": "string", + "description": "Build number" + }, + "start": { + "type": "string", + "description": "Starting point of progressive text output" + } + }, + "required": [ + "name", + "number", + "start" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "bc0ae99e-0351-429e-b89b-48da1820ce7d", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 15, + "reference": "d6741cde-ca37-4a0e-b3f4-992666f7398b", + "type": "workflow", + "folder": "/Queue", + "document": { + "name": "Get Queue", + "description": "Retrieve the build queue", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getQueue", + "canvasName": "getQueue", + "summary": "getQueue", + "description": "Retrieve the build queue", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {}, + "required": [] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "b1aa77e9-13cd-4d2c-a130-f40ea9410dfd", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 16, + "reference": "3f08d416-d9b1-4d59-96f1-bef579868a28", + "type": "workflow", + "folder": "/Queue", + "document": { + "name": "Get Queue Item", + "description": "Retrieve a queued item's details", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getQueueItem", + "canvasName": "getQueueItem", + "summary": "getQueueItem", + "description": "Retrieve a queued item's details", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "number": "$var.job.number" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "number": { + "type": "string", + "description": "Queue item number" + } + }, + "required": [ + "number" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "5ad9c352-7d37-471d-9912-04dc298bbeb7", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 17, + "reference": "073eece4-d213-4e9e-9614-bb6df42cf77d", + "type": "workflow", + "folder": "/Views", + "document": { + "name": "Create View", + "description": "Create a new view using view configuration", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postCreateView", + "canvasName": "postCreateView", + "summary": "postCreateView", + "description": "Create a new view using view configuration", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "Jenkins-Crumb": "$var.job.Jenkins-Crumb", + "bodyContentType": "application/xml", + "requestBodyPayload": "$var.job.requestBody" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the new view" + }, + "Jenkins-Crumb": { + "type": "string", + "description": "CSRF protection token" + }, + "requestBody": { + "type": "string", + "description": "Request body (config.xml format)" + } + }, + "required": [ + "name", + "requestBody" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "3893557c-e13e-44d3-bc17-c3d0ac075d19", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 18, + "reference": "a2f79d24-7c50-49a7-bc33-ac5d04d6f726", + "type": "workflow", + "folder": "/Views", + "document": { + "name": "Get View", + "description": "Retrieve view details", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getView", + "canvasName": "getView", + "summary": "getView", + "description": "Retrieve view details", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the view" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "38bd396a-bcbb-40bf-b462-21a359fb7eec", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 19, + "reference": "c0f2a34c-3180-4043-8f18-b65a20d9fd76", + "type": "workflow", + "folder": "/Views", + "document": { + "name": "Get View Configuration", + "description": "Retrieve view configuration in config.xml format", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getViewConfig", + "canvasName": "getViewConfig", + "summary": "getViewConfig", + "description": "Retrieve view configuration in config.xml format", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the view" + } + }, + "required": [ + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "7e6622b8-d6e9-40aa-b45d-8a3e1bdfa08e", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 20, + "reference": "c7f9ec7c-4d59-4ff8-a246-4b7cf75a66d3", + "type": "workflow", + "folder": "/Views", + "document": { + "name": "Update View Configuration", + "description": "Update view configuration in config.xml format", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postViewConfig", + "canvasName": "postViewConfig", + "summary": "postViewConfig", + "description": "Update view configuration in config.xml format", + "location": "Adapter", + "locationType": "Jenkins:latest", + "app": "Jenkins:latest", + "type": "automatic", + "displayName": "Jenkins", + "variables": { + "incoming": { + "adapter_id": "Jenkins", + "name": "$var.job.name", + "Jenkins-Crumb": "$var.job.Jenkins-Crumb", + "bodyContentType": "application/xml", + "requestBodyPayload": "$var.job.requestBody" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the view" + }, + "Jenkins-Crumb": { + "type": "string", + "description": "CSRF protection token" + }, + "requestBody": { + "type": "string", + "description": "Request body (config.xml format)" + } + }, + "required": [ + "name", + "requestBody" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-09-14T00:00:00.000Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "6.4.0", + "uuid": "6744cb48-b205-42e4-be01-8e137cda7fa9", + "created": "2026-09-14T00:00:00.000Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "6.4.0", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + } + ], + "folders": [ + { + "nodeType": "folder", + "name": "System", + "children": [ + { + "iid": 0, + "nodeType": "component" + }, + { + "iid": 1, + "nodeType": "component" + }, + { + "iid": 2, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Nodes and Agents", + "children": [ + { + "iid": 3, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Jobs", + "children": [ + { + "iid": 4, + "nodeType": "component" + }, + { + "iid": 5, + "nodeType": "component" + }, + { + "iid": 6, + "nodeType": "component" + }, + { + "iid": 7, + "nodeType": "component" + }, + { + "iid": 8, + "nodeType": "component" + }, + { + "iid": 9, + "nodeType": "component" + }, + { + "iid": 10, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Builds", + "children": [ + { + "iid": 11, + "nodeType": "component" + }, + { + "iid": 12, + "nodeType": "component" + }, + { + "iid": 13, + "nodeType": "component" + }, + { + "iid": 14, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Queue", + "children": [ + { + "iid": 15, + "nodeType": "component" + }, + { + "iid": 16, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Views", + "children": [ + { + "iid": 17, + "nodeType": "component" + }, + { + "iid": 18, + "nodeType": "component" + }, + { + "iid": 19, + "nodeType": "component" + }, + { + "iid": 20, + "nodeType": "component" + } + ] + } + ], + "createdBy": { + "_id": "be9af2a600904e04b9be566e", + "provenance": "LDAP", + "username": "admin@itential" + }, + "lastUpdatedBy": { + "_id": "37761415915241dbab35b8d5", + "provenance": "LDAP", + "username": "admin@itential" + }, + "created": "2026-09-14T00:00:00.000Z", + "lastUpdated": "2026-09-14T00:00:00.000Z", + "iid": 21, + "thumbnail": "", + "backgroundColor": "", + "referencedComponentHashes": [] +} diff --git a/README.md b/README.md index 2313c2c..44e92b4 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,7 @@ Assets are organized by vendor and product. Each folder may contain one or more | **Infoblox** | NIOS WAPI · Threat Defense BloxOne · Universal DDI BloxOne | | **IP Fabric** | Network intelligence | | **Itential** | Platform automation (self-service) | +| **Jenkins** | Jenkins | | **JFrog** | Artifactory | | **Juniper** | JUNOS · Mist | | **Kentik** | Network observability |