-
Notifications
You must be signed in to change notification settings - Fork 10
REST: Workflow related api
Path: /rest/workflow-stats
Type: GET
curl -u genesis:genesis http://genesis.example.com/rest/workflow-stats
{
"links": [ ],
"items": [
{
"projectId": 1,
"runningWorkflows": 2,
"links": [
{
"href": "http://localhost:8081/rest/projects/1/workflows/running",
"rel": "collection",
"type": "application/vnd.griddynamics.genesis.WorkflowDetails+json",
"methods": [
"get"
]
}
]
}
]
}
Path: /rest/projects/(projectId)/workflows/running
Type: GET
Path parameters:
Parameter | Type | Description |
---|---|---|
projectId | Number | project identifier |
curl -u genesis:genesis http://genesis.example.com/rest/projects/1/workflows/running
[
{
"id":1,
"name":"mock",
"status":"Running",
"startedBy":"nodoby",
"variables":{"foo":"bar"},
"executionStartedTimestamp":0
}
]
Path: /rest/projects/(projectId)/envs/(environment id)/workflows/(workflow name)
Type: POST
Path parameters:
Parameter | Type | Description |
---|---|---|
projectId | Number | project id the env belong to |
environment id | Int | id of the environment |
workflow name | String | workflow to execute |
Request body structure
Request body consists form a single JSON map contains the following entries:
Entry name | Entry predefined value | Type | Description |
---|---|---|---|
parameters | В | JSON object | parameters used by execution action |
Parameters JSON object structure:
Entry name | Type | Description |
---|---|---|
variables | Map of String pairs | Workflow variable values customized by user |
Example request:
{
"parameters" :
{
"variables": {"nodesCount": 1}
}
}
Example results: See example results for environment creation
Path: /rest/projects/(projectId)/envs/(environment id)/actions/cancel
Type: POST
Path parameters:
Parameter | Type | Description |
---|---|---|
projectId | Number | project id the env belong to |
environment id | Int | id of the environment |
Request body structure
None
Path: /rest/projects/(projectId)/envs/(envId)/logs/stepId
Type: GET
Path parameters:
Parameter | Type | Description |
---|---|---|
projectId | Number | project id the env belong to |
envId | Int | id of the environment |
Content-type: text/plain
Returns logs for specified step or 'No logs yet' if step is not started yet, or no logging enabled for specific step.
Example results
2012-03-27 17:46:59.876: Starting phase provision
2012-03-27 17:46:59.905: Starting action JCloudsProvisionVm
2012-03-27 17:47:11.822: Action JCloudsProvisionVm finished with result ProvisionCompleted
2012-03-27 17:47:11.828: Starting action CheckPublicIpAction
2012-03-27 17:47:12.814: Action CheckPublicIpAction finished with result PublicIpCheckCompleted
2012-03-27 17:47:12.817: Starting action CheckPortAction
NOTE: You can get stepId from get environment details call.
Get list of actions executed withing step
Path: /rest/projects/(projectId)/envs/(environment id)/steps/(stepId)/actions
**Type:**GET
Path parameters:
Parameter | Type | Description |
---|---|---|
projectId | Number | project id the env belong to |
environment id | Int | id of the environment |
stepId | Number | id of a step |
Example results
[
{"name":"Destroy Vm Action","description":"VmDestroyed","startedTimestamp":1341315620000,"finishedTimestamp":1341315620000,"status":"Succeed"},
{"name":"Destroy Vm Action","description":"VmDestroyed","startedTimestamp":1341315620000,"finishedTimestamp":1341315620000,"status":"Succeed"},
{"name":"Destroy Vm Action","description":"VmDestroyed","startedTimestamp":1341315620000,"finishedTimestamp":1341315621000,"status":"Succeed"},
{"name":"Destroy Vm Action","description":"VmDestroyed","startedTimestamp":1341315620000,"finishedTimestamp":1341315620000,"status":"Succeed"}
]