Skip to content

Commit 9338ea2

Browse files
Merge pull request #10316 from mendix/kk-pmp-apidocs
Update PMP api docs
2 parents f402120 + e56281a commit 9338ea2

3 files changed

Lines changed: 332 additions & 0 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: "Private Mendix Platform Pipeline API"
3+
url: /apidocs-mxsdk/apidocs/private-platform-pipeline-api/
4+
type: swagger
5+
description: "This API allows you to manage pipelines in Private Mendix Platform."
6+
restapi: true
7+
weight: 60
8+
linktitle: "Pipeline API"
9+
---
10+
11+
{{% alert color="info" %}}
12+
This document is about [Private Mendix Platform](/private-mendix-platform/) API. This API is only available on instances of Private Mendix Platform. For [Mendix on Kubernetes](/developerportal/deploy/private-cloud/) API, see [Mendix on Kubernetes Build API](/apidocs-mxsdk/apidocs/private-cloud-build-api/) and [Mendix on Kubernetes Deploy API](/apidocs-mxsdk/apidocs/private-cloud-deploy-api/).
13+
{{% /alert %}}
14+
15+
## Introduction
16+
17+
The Private Mendix Platform Project API allows you to manage pipelines in Private Mendix Platform. You can use the API to do the following:
18+
19+
* Get pipeline running information.
20+
* Set the current step status of the pipeline.
21+
* Create a pipeline for build or deployment.
22+
* Approve or reject a manual step of a waiting pipeline.
23+
24+
## API Reference
25+
26+
{{< swaggerui src="/openapi-spec/openapi-pipeline.yaml" >}}
Lines changed: 299 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,299 @@
1+
openapi: 3.0.4
2+
info:
3+
title: Pipeline Service v1
4+
description: "The Pipeline API is for managing the Pipeline resources. The Pipeline can be used to build app package and deploy app package image into a specific environment. \r\n"
5+
version: 1.0.0
6+
servers:
7+
- url: https://pmp-demo.mxplatform.net/pipelineservice
8+
security:
9+
- {}
10+
- basicAuth: []
11+
- mxtoken: []
12+
tags:
13+
- name: pipelines
14+
description: ""
15+
- name: pipeline
16+
description: ""
17+
paths:
18+
/pipelines/{pipelineId}:
19+
get:
20+
tags:
21+
- pipelines
22+
description: Get pipeline running information.
23+
operationId: getPipelineInfo
24+
parameters:
25+
- name: pipelineId
26+
in: path
27+
description: get current status of a pipeline
28+
required: true
29+
schema:
30+
type: string
31+
responses:
32+
"200":
33+
$ref: "#/components/responses/GetPipeline"
34+
"401":
35+
$ref: "#/components/responses/UnauthorizedError"
36+
put:
37+
tags:
38+
- pipelines
39+
summary: Set the current step status of the pipeline
40+
description: Set the current run step status of the pipeline to Success or Failed.
41+
operationId: putPipelineStatus
42+
parameters:
43+
- name: pipelineId
44+
in: path
45+
required: true
46+
schema:
47+
type: string
48+
requestBody:
49+
content:
50+
application/json:
51+
schema:
52+
$ref: "#/components/schemas/pipeline_set_status_body"
53+
examples:
54+
Set pipeline successful status:
55+
value:
56+
stepStatus: Success
57+
callFrom: QA Team
58+
Set pipeline failed status:
59+
value:
60+
stepStatus: Failed
61+
callFrom: Dev Team
62+
responses:
63+
"200":
64+
description: successful operation
65+
"401":
66+
$ref: "#/components/responses/UnauthorizedError"
67+
/pipelines:
68+
post:
69+
tags:
70+
- pipelines
71+
summary: Create a pipeline
72+
description: Create a pipeline for build or deployment. This API is only available when Build Utility is "Kubernetes" and Deployment Method is "Private Cloud Standalone".
73+
operationId: CreatePipeline
74+
requestBody:
75+
content:
76+
application/json:
77+
schema:
78+
$ref: "#/components/schemas/pipeline_creation_request_body"
79+
examples:
80+
Request a pipeline for build:
81+
value:
82+
pipelineType: Deploy
83+
appId: ff4c5472-50bc-45ad-b1e1-817217111628
84+
packageName: sgp-v1069-c6d5bd3.mda
85+
envInternalName: sgpv1069
86+
Request a pipeline for deploy:
87+
value:
88+
pipelineType: Deploy
89+
appId: ff4c5472-50bc-45ad-b1e1-817217111628
90+
packageName: sgp-v1069-c6d5bd3.mda
91+
envInternalName: sgpv1069
92+
responses:
93+
"200":
94+
$ref: "#/components/responses/CreatePipeline"
95+
"401":
96+
$ref: "#/components/responses/UnauthorizedError"
97+
/pipelines/manual_approve:
98+
post:
99+
tags:
100+
- pipelines
101+
summary: Approve or reject a manual step of pipeline
102+
description: Approve or reject a manual step of a waiting pipeline.
103+
operationId: approvePipelineStep1
104+
parameters:
105+
- name: pipelineId
106+
in: query
107+
required: false
108+
schema:
109+
type: string
110+
- name: approve
111+
in: query
112+
required: false
113+
schema:
114+
type: boolean
115+
default: false
116+
responses:
117+
"200":
118+
description: successful operation
119+
"401":
120+
$ref: "#/components/responses/UnauthorizedError"
121+
/pipeline/manual_approve:
122+
post:
123+
tags:
124+
- pipeline
125+
summary: Approve or reject a manual step of pipeline
126+
description: Approve or reject a manual step of a waiting pipeline.
127+
operationId: ApprovePipelineStep2
128+
parameters:
129+
- name: pipelineId
130+
in: query
131+
required: false
132+
schema:
133+
type: string
134+
- name: approve
135+
in: query
136+
required: false
137+
schema:
138+
type: boolean
139+
default: false
140+
responses:
141+
"200":
142+
description: successful operation
143+
"401":
144+
$ref: "#/components/responses/UnauthorizedError"
145+
security:
146+
- basicAuth: []
147+
components:
148+
schemas:
149+
pipeline_set_status_body:
150+
type: object
151+
properties:
152+
stepStatus:
153+
type: string
154+
callFrom:
155+
type: string
156+
x-examples:
157+
Example 1:
158+
stepStatus: Success
159+
callFrom: R&D Team
160+
pipeline_creation_request_body:
161+
type: object
162+
properties:
163+
pipelineType:
164+
type: string
165+
pipelineType_copy:
166+
type: string
167+
appId:
168+
type: string
169+
branchName:
170+
type: string
171+
revisionId:
172+
type: string
173+
packageName:
174+
type: string
175+
envInternalName:
176+
type: string
177+
x-examples:
178+
Example 1:
179+
pipelineType: Build
180+
appId: ff4c5472-50bc-45ad-b1e1-817217111628
181+
branchName: main
182+
revisionId: c6d5bd3d
183+
packageName: sgp-v1069-c6d5bd3.mda
184+
envInternalName: sgpv1069
185+
responses:
186+
UnauthorizedError:
187+
description: Authentication information is missing or invalid
188+
headers:
189+
WWW-Authenticate:
190+
schema:
191+
type: string
192+
GetPipeline:
193+
description: Example response
194+
content:
195+
application/json:
196+
schema:
197+
type: object
198+
properties:
199+
PipelineType:
200+
type: string
201+
DTAPMode:
202+
type: string
203+
Source:
204+
type: string
205+
Status:
206+
type: string
207+
PipelineTemplateGuid:
208+
type: integer
209+
Step_2:
210+
type: object
211+
properties:
212+
Name:
213+
type: string
214+
Category:
215+
type: string
216+
Arguments:
217+
type: string
218+
Wait:
219+
type: boolean
220+
Status:
221+
type: string
222+
StepTemplateGuid:
223+
type: integer
224+
ExecutionTime:
225+
type: integer
226+
StartTime:
227+
type: string
228+
x-examples:
229+
Example 1:
230+
PipelineType: Deploy
231+
DTAPMode: D
232+
Source: CreateEnvironment
233+
Status: Success
234+
PipelineTemplateGuid: 217017207047961020
235+
Step_2:
236+
Name: Deploy Artifact to Target Environment
237+
Category: DeployApp
238+
Arguments: "{}"
239+
Wait: false
240+
Status: Success
241+
StepTemplateGuid: 263179103229699200
242+
ExecutionTime: 4514
243+
StartTime: 2025-10-29T10:42:03.535Z
244+
examples:
245+
Get build pipeline information:
246+
value:
247+
PipelineType: Build
248+
Source: UI
249+
Status: Success
250+
PipelineTemplateGuid: 217017207047974100
251+
Step_2:
252+
Name: K8S Pod Build
253+
Category: K8sPodBuild
254+
Arguments: "{}"
255+
Wait: true
256+
Status: Success
257+
StepTemplateGuid: 263179103229674700
258+
ExecutionTime: 175
259+
StartTime: 2025-10-29T10:23:14.589Z
260+
Get deploy pipeline information:
261+
value:
262+
PipelineType: Deploy
263+
DTAPMode: D
264+
Source: CreateEnvironment
265+
Status: Success
266+
PipelineTemplateGuid: 217017207047961020
267+
Step_2:
268+
Name: Deploy Artifact to Target Environment
269+
Category: DeployApp
270+
Arguments: "{}"
271+
Wait: false
272+
Status: Success
273+
StepTemplateGuid: 263179103229699200
274+
ExecutionTime: 4514
275+
StartTime: 2025-10-29T10:42:03.535Z
276+
CreatePipeline:
277+
description: Example response
278+
content:
279+
application/json:
280+
schema:
281+
type: object
282+
properties:
283+
pipelineId:
284+
type: integer
285+
x-examples:
286+
Example 1:
287+
pipelineId: 144678138035242200
288+
examples:
289+
Response for a pipeline creation:
290+
value:
291+
pipelineId: 144678138035242200
292+
securitySchemes:
293+
basicAuth:
294+
type: http
295+
scheme: basic
296+
mxtoken:
297+
type: apiKey
298+
name: apiKey
299+
in: header

static/openapi-spec/openapi-project.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ paths:
5252
useAppTemplate: true
5353
appTemplate:
5454
templateId: string
55+
templateVersion: string
5556
responses:
5657
'202':
5758
$ref: '#/components/responses/job'
@@ -454,6 +455,8 @@ components:
454455
reason: Invalid project name
455456
- name: templateId
456457
reason: Invalid project template id
458+
- name: templateVersion
459+
reason: Invalid project template version
457460
400 - Invalid project owner change request:
458461
value:
459462
status: 400
@@ -731,6 +734,9 @@ components:
731734
templateId:
732735
type: string
733736
description: App template id.
737+
templateVersion:
738+
type: string
739+
description: App template version.
734740
required:
735741
- name
736742
x-examples:
@@ -740,6 +746,7 @@ components:
740746
useAppTemplate: true
741747
appTemplate:
742748
templateId: '438'
749+
templateVersion: '10.24.81004'
743750
ProjectInput:
744751
type: object
745752
description: Project change request

0 commit comments

Comments
 (0)