# curl -X POST -H "Devprom-Auth-Key: a806f6e2af139ea856db981c20278865" -H "Content-Type:application/json" https://demo.myalm.ru/pm/support/api/latest/request/items -d '{"Caption":"test123"}'
On Windows:
# curl -X POST -H "Devprom-Auth-Key: a806f6e2af139ea856db981c20278865" -H "Content-Type:application/json" https://demo.myalm.ru/pm/support/api/latest/request/items -d "{\"Caption\":\"test123\"}"
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/requirement/items -d @reqs-doc.json
Content reqs-doc.json:
{
"Caption":"Requirements document",
"IsDocument":1
}
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/requirement/items -d @chapter-doc.json
Content chapter-doc.json:
{
"Caption":"Chapter requirement",
"Content":"Requirement content",
"ParentPage":{
"Id":Requirement.Id
}
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/requirement/items -d @reqs.json
Content reqs.json:
{
"Caption":"Requirement",
"Content":"Description",
"PageType":{
"Id":RequirementType.Id
}
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/requirement/items -d @reqs.json
Content reqs.json:
{
"Caption":"Requirement",
"Content":"<p><img alt=\"\" src=\"data:image\/jpeg;base64,\/9j\/4AAQSkZJRgABAQEAeAB4AAD\/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD\/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz\/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz\/wAARCAAyADIDASIAAhEBAxEB\/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL\/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6\/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL\/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6\/9oADAMBAAIRAxEAPwD92Phx8WPDPxh8PSap4V17SfEGnw3MllLPYXSTrBcRHbLA+0nZKh4aNsMp4IBrpK+Uf21fhjq37NfjKb9pD4ZWNx\/behwxn4i+H7LasfjzQYQfMdoiVVtRs490lvPlZCivCxdGWOvpTwH440n4meC9J8RaDfQ6pouuWcOo6feRZ8u6t5UDxyLkA4ZWB5557Vy0azc3SqK0l+K7r9ez9U3x4fEOVSVGorSWvk09mvya6Pyab2qKM4orqOwKKKCcGgAopvmr\/eFFADZYw0bZCkEYIPQivwZ0T\/go58Uv+CT\/AMd\/iN8JPA194d8RfD3wr4p1C20nR9bt5LuHTYTcuwSGWN45I2KkB1LNGJPMYJuZi37gfGv4r6Z8DPhD4o8aaw2NL8KaVc6tdAHDOkMbSFV\/2m27QOpJAAJNfy1eMPGWpfELxfq3iDWrhbrWvEN9Pql\/OBt8+4nkaWZwPd3Y\/jX53x5mk8IqDw8nGpd6rtpdPum7fcflPidnFXArDvCzcat5O6\/l0un3Tdvu8j9V\/h\/\/AMHPqFIYvFnwdkjZVxJc6P4jEnmH1EMsC7R7GVq9Ktf+Dmf4LtbL5\/gT4uRy4+ZY7HTJEB9mN8pP5CvxMZwg+YhfrTVuY2MirIreUnmPg52LkDcfQZIGT618dR46zeOjkpesV+lj4DD+JWfRVudS9Yr9LH6t\/H7\/AIObdQu4GtfhX8NYbJjgjUfFlwZiBnlfsls6jOOjfaOD\/Ca+Rfjd\/wAFjfj98edHtdP13xhYwadaana6slpY6Tb20cs9tMs8CuQpaSNZY0fy2YqxUbt2K+Xbuf7JaSSd40LAeuBX9IH7If8AwS3+Dv7K3wotdFs\/Cfh3xZqlxAp1TxBq+mw3l3q8hUbmy4cRwkjKwoQijn5mLO3pZTWzrPpz\/wBo5Ixte2i12Vla+3Vnr5HiOIeJ6tRfWnThC17aLW9lZWvs73Z8p+EP+DjnR7vwnpc2sfDPVJNWktInvWstWjW1acoDIYg6lhHuztDEkDGSTRX6SaZ8OvD+i6bb2dnoOj2lnaRLDBBDYxRxwxqAFRVC4VQAAAOABRX36y\/N0rfW1\/4Aj9SjluepJPGr\/wAFr\/M\/Pn\/gtX4i8U\/tP\/tDfCH9lPwfqkOkSfEIvruuzTbvLa1hMrw7wCPMSMWd5OYuN8lvb4ZSM1yP\/BRX\/gmX8Pf2Hf8Agk14qi8HeH11nxFDfaXPrPie+hWbVJ1+2xKzK3\/LGEFlURQ4UKSW3EvIfvbx1+xl4H+IP7Vfgv4zX9rfL468CWVxp+n3MN0Uhlgljnj2TR8htgurgrjHMrZ3YUL6N4s8J6b488M6jousWNrqek6xbS2V9Z3MQlgu4JUKSRSKeGVlLKQeoJFFfIViJYipXs5zTjF78seVJWXTW7dt+4sRwzHFTxVbE2c6icYS35YcqSsns73btufIf\/BLr\/gmn8Lfg3+yZ4N1XUPC\/hHxl4s8VaVb65qOu3unw37M1zEsqw27yB9sEaMqLs2iQqZCNzmvrbw94A0PwlpU1jpejaTpthcA+bbWlnHBDLkYO5VAByOOR0ryX9if9iiH9h\/w9rnhvQ\/GvijxB4IursXWhaJrLRzf8IyGLtNFBMFDtG7Mp2vwpQty8kjv7oRkV6mW4OFDDwpqCi0rWWu3n1v9\/c9nKMDTw2Fp01TUHFWsrPbTfrfe71fXU\/JP9jz\/AII8eA\/jR8A\/2hvhr4is4LPxz4N+I17pPh7xIIgl5p9vFY20ljIyqRvtpVmZ5ISdrBsja6RyJ9nf8Eovj3qHxa\/ZYtPDPii3fT\/iH8I7lvA3iqxkkEkiXVkBGk27P7xZYhG\/mL8jSCUKSFzXr3gH9nPw78Nfjb4+8faX\/aMeufEoaadbjlumktXksYGt4ZI4z\/q3MJRXwcMIkOMgkweF\/wBmDwt4K\/aK8UfFHS49QsfE3jTTrXTtcWK6ZbPUha5EE8kP3TOkZ8tZOojyB1YngwGURwkoSoJLeMvON24v1X5Nq+iPNyzIY4GdOeHio2vGXnG7cX5yWnybV9Eej0UUV759MFFFFABRRRQAUUUUAFFFFAH\/2Q==\"><\/p>"
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/wikipagefile/items -d @wikipagefile.json
Content wikipagefile.json:
{
"ContentExt":"test.txt",
"WikiPage":{
"Id":Requirement.Id
},
"Content":"VGVzdA=="
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/request/items -d @request.json
Content request.json:
{
"Caption":"Request",
"Content":"Description",
"Type":{
"Id":RequestType.Id
}
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/attachment/items -d @attachment.json
Content attachment.json:
{
"FileExt":"test.txt",
"ObjectId":Request.Id,
"ObjectClass":"Request",
"File":"VGVzdA=="
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/task/items -d @task.json
Content task.json:
{
"Assignee":{
"Login":User.Login
},
"TaskType":{
"ReferenceName":TaskType.ReferenceName
},
"Caption":"Task"
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/task/items -d @task.json
Content task.json:
{
"TaskType":{
"ReferenceName":TaskType.ReferenceName
},
"ChangeRequest":{
"Id":Request.Id
},
"Caption":"Task"
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/activity/items -d @activity.json
Content activity.json:
{
"Task":{
"Id":Task.Id
},
"Participant":{
"Login":User.Login
},
"Capacity":5.0
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/attachment/items -d @attachment.json
Content attachment.json:
{
"FileExt":"test.txt",
"ObjectId":Task.Id,
"ObjectClass":"Task",
"File":"VGVzdA=="
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/testscenario/items -d @test-plan.json
Content test-plan.json:
{
"Caption":"Test-plan",
"IsDocument":1
}
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/testscenario/items -d @testscenario.json
Content testscenario.json:
{
"Caption":"Test scenario",
"Content":"Scenario content",
"ParentPage":{
"Id":"Testscenario.Id"
},
"PageType":{
"ReferenceName":"section"
}
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/wikipagefile/items -d @wikipagefile.json
Content wikipagefile.json:
{
"ContentExt":"test.txt",
"WikiPage":{
"Id":Testscenario.Id
},
"Content":"VGVzdA=="
}
where:
curl -X POST -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/testexecution/items -d @testexecution.json
Content testexecution.json:
{
"TestScenario":{
"Id":Testscenario.Id
},
"Caption":"Test execution"
}
where:
When a test report is created for the specified Testscenario.Id and all of its child pages, test item entities (TestCaseExecution) are created automatically.
curl -X PUT -H "Devprom-Auth-Key:f14acb09aa3b63cd8608fdf4ccb6d355" -H "Content-Type:application/json" http://devprom.local/pm/clementine/api/latest/testcaseexecution/items/id -d @caseexecution.json
where:
Content caseexecution.json:
{
"Result":{
"ReferenceName":TestExecutionResult.ReferenceName
}
}
where:
If you want to submit user Requests from your own web form, the following example sends a test Request to a support project. Before using this example, create a support project (or use any existing project).
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://code.jquery.com/jquery-1.11.3.min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
dataType: 'json',
type: 'POST',
url: 'https://demo.local/pm/support/api/latest/request/items',
data: JSON.stringify({
'Caption':'Test',
'Author': 'somebody@gmail.com'
}),
headers: {
'Devprom-Auth-Key': 'a806f6e2af139ea856db981c20278865',
},
success: function(data) {
$('body').append('div').html('Issue id = ' + data.Id);
}
});
});
</script>
</body>
</html>
<?php
$appUrl = 'https://demo.local';
$projectCode = 'kanban';
$authKey = '974ccef5dd367cc448b8c1d1a9bdb2fd';
$curl = curl_init();
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
curl_setopt($curl, CURLOPT_HTTPHEADER,
array(
"Content-Type: application/json",
"Devprom-Auth-Key: ".$authKey
)
);
// get all issues
curl_setopt($curl, CURLOPT_URL, $appUrl.'/pm/'.$projectCode.'/api/latest/request/items');
curl_setopt($curl, CURLOPT_HTTPGET, true);
$result = curl_exec($curl);
var_export(json_decode($result, true));
// create a new issue
curl_setopt($curl, CURLOPT_URL, $appUrl.'/pm/'.$projectCode.'/api/latest/request/items');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HTTPGET, false);
curl_setopt($curl, CURLOPT_POSTFIELDS,
json_encode(
array(
'Caption' => 'Issue title',
'Description' => 'Issue description'
)
)
);
$result = curl_exec($curl);
var_export(json_decode($result, true));
curl_close($curl);