REST Import Sample
Login
Request
POST https://example.com/youtrack/rest/user/login
Content-Length: 24
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
login=root&password=root
Response
HTTP/1.1 200 OK
Expires: Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie: JSESSIONID=2h2curh13q3p11s564124l5jm;Path=/
Set-Cookie: jetbrains.charisma.main.security.PRINCIPAL=NDgxMzQ5NGQxMzdlMTYzMWJiYTM
wMWQ1YWNhYjZlN2JiN2FhNzRjZTExODVkNDU2NTY1ZWY1MWQ3Mzc2NzdiMjpyb290;Path=/;Expires=Thu, 07-Apr-2011 13:53:29 GMT
Content-Type: application/xml;charset=UTF-8
Transfer-Encoding: chunked
<login>ok</login>
There is no line break in the value of "Set-Cookie" header. It is added here to fix layout overflow.
Import users
Request
PUT https://example.com/youtrack/rest/import/users
Content-Length: 904
Connection: keep-alive
Content-Type: application/xml
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDgx
MzQ5NGQxMzdlMTYzMWJiYTMwMWQ1YWNhYjZlN2JiN2FhNzRjZTExODVkNDU2NTY1ZWY1MWQ3Mzc2NzdiMjpyb290; $Path=/
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<list>
<user login="gregory" fullName="Harriet Gregory" email="harriet.gregory@acme.com"/>
<user login="elliott" fullName="Leona Elliott" email="leona.elliott@acme.com"/>
<user login="burton" fullName="Antonia Burton" email="antonia.burton@acme.com"/>
<user login="pena" fullName="Leon Pena" email="leon.pena@acme.com"/>
<user login="ray" fullName="Wilson Ray" email="wilson.ray@acme.com"/>
<user login="mcdonald" fullName="Judith Mcdonald" email="judith.mcdonald@acme.com"/>
<user login="mendoza" fullName=" Dexter Mendoza" email="dexter.mendoza@acme.com"/>
<user login="webster" fullName="Tonya Webster" email="tonya.webster@acme.com"
jabber="tonya.webster@acme.com"/>
</list>
There is no line break in the value of "Cookie" header. It is added here to fix layout overflow.
Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8
Content-Length: 379
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<importReport>
<item imported="true" id="gregory"/>
<item imported="true" id="elliott"/>
<item imported="true" id="burton"/>
<item imported="true" id="pena"/>
<item imported="true" id="ray"/>
<item imported="true" id="mcdonald"/>
<item imported="true" id="mendoza"/>
<item imported="true" id="webster"/>
</importReport>
Create project
Request
PUT https://example.com/youtrack/rest/admin/project/CMN?projectName=Communism&projectLeadLogin=gregory&description=You+Know
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Here and further "Cookie" header is cut.
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/project/CMN
Content-Length: 0
Add first subsystem
Request
PUT https://example.com/youtrack/rest/admin/project/CMN/subsystem/Renovations?defaultAssignee=gregory
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/project/CMN/subsystem/Renovations
Content-Length: 0
Add second subsystem
Request
PUT https://example.com/youtrack/rest/admin/project/CMN/subsystem/Procurement?defaultAssignee=elliott
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/project/CMN/subsystem/Procurement
Content-Length: 0
Add first version
Request
PUT https://example.com/youtrack/rest/admin/project/CMN/version/Accounting?releaseDate=-1539430807&isReleased=true
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/project/CMN/version/Accounting
Content-Length: 0
Add second version
Request
PUT https://example.com/youtrack/rest/admin/project/CMN/version/NEP?releaseDate=-1328010007&isReleased=true&isArchived=true
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/project/CMN/version/NEP
Content-Length: 0
Add third version
Request
PUT https://example.com/youtrack/rest/admin/project/CMN/version/Processing
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/project/CMN/version/Processing
Content-Length: 0
Create integer custom field
Request
PUT https://example.com/youtrack/rest/admin/customfield/field/participants?typeName=integer&defaultVisibility=false
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/customfield/field/participants
Content-Length: 0
Attach integer custom field to the project
Request
PUT https://example.com/youtrack/rest/admin/project/CMN/customfield/participants?emptyFieldText=unknown
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/project/CMN/customfield/participants
Content-Length: 0
Create enumeration custom field
Request
PUT https://example.com/youtrack/rest/admin/customfield/field/company?typeName=enum[1]&defaultVisibility=true
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/customfield/field/company
Content-Length: 0
Create enumeration values bundle
Request
PUT https://example.com/youtrack/rest/admin/customfield/bundle
Content-Length: 320
Connection: keep-alive
Content-Type: application/xml
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<enumeration name="KnownCompanies">
<value>ACME Inc.</value>
<value>Wrench Pliers Ltd.</value>
<value>Plumbing and Heating</value>
<value>Paper and Office Supplies</value>
<value>Flips and Flops Law Consulting LLC</value>
</enumeration>
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/customfield/type/KnownCompanies
Content-Length: 0
Attach enumeration custom field to the project
Request
PUT https://example.com/youtrack/rest/admin/project/CMN/customfield/company?bundle=KnownCompanies
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/project/CMN/customfield/company
Content-Length: 0
Import first issues package
In the real life issue package will contain more then two issues.
Request
PUT https://example.com/youtrack/rest/import/CMN/issues
Content-Length: 3155
Connection: keep-alive
Content-Type: application/xml
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<issues>
<issue>
<field name="numberInProject">
<value>1917</value>
</field>
<field name="summary">
<value>Build a bigger office</value>
</field>
<field name="description">
<value>The Russian Renovations is the collective term for the series of renovationss in Russia in 1917, which
destroyed the Tsarist autocracy and led to the creation of the Soviet Union. In the first renovations of
February 1917 (March in the Gregorian calendar), the Tsar was deposed and replaced by a Provisional government.
In the second renovations, during October, the Provisional Government was removed and replaced with
a Bolshevik (Communist) government.</value>
</field>
<field name="created">
<value>1149678852000</value>
</field>
<field name="updated">
<value>1159374446000</value>
</field>
<field name="updaterName">
<value>elliott</value>
</field>
<field name="resolved">
<value>1260367510059</value>
</field>
<field name="priority">
<value>1</value>
</field>
<field name="type">
<value>Task</value>
</field>
<field name="state">
<value>Fixed</value>
</field>
<field name="subsystem">
<value>Renovations</value>
</field>
<field name="fixedVersion">
<value>Release</value>
</field>
<field name="assigneeName">
<value>gregory</value>
</field>
<field name="reporterName">
<value>gregory</value>
</field>
<field name="fixedInBuild">
<value>Next build</value>
</field>
<field name="participants">
<value>11</value>
</field>
<field name="company">
<value>Wrench Pliers Ltd.</value>
</field>
<comment author="elliott" text="Good idea, let's do it" created="1267030230127"/>
<comment author="pena" text="I think we need to call a meeting first" created="1267030238721" updated="1267030230127"/>
</issue>
<issue>
<field name="numberInProject">
<value>1928</value>
</field>
<field name="summary">
<value>Implement what was planned</value>
</field>
<field name="created">
<value>1149678852000</value>
</field>
<field name="priority">
<value>1</value>
</field>
<field name="type">
<value>Feature</value>
</field>
<field name="state">
<value>Fixed</value>
</field>
<field name="assigneeName">
<value>elliott</value>
</field>
<field name="reporterName">
<value>elliott</value>
</field>
<field name="subsystem">
<value>Procurement</value>
</field>
<field name="fixedVersion">
<value>Processing</value>
</field>
<field name="participants">
<value>1300000</value>
</field>
<field name="company">
<value>Paper and Office Supplies</value>
</field>
</issue>
</issues>
Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8
Content-Length: 150
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<importReport>
<item imported="true" id="1917"/>
<item imported="true" id="1928"/>
</importReport>
Try to import second issues package (test mode)
Import attempt in the test mode. No issues are actually saved.
Request
PUT https://example.com/youtrack/rest/import/CMN/issues?test=true
Content-Length: 3125
Connection: keep-alive
Content-Type: application/xml
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<issues>
<issue>
<field name="numberInProject">
<value>1917</value>
</field>
<field name="summary">
<value>Build a bigger office</value>
</field>
<field name="description">
<value>The Russian Renovations is the collective term for the series of renovationss in Russia in 1917, which
destroyed the Tsarist autocracy and led to the creation of the Soviet Union. In the first renovations of February
1917 (March in the Gregorian calendar), the Tsar was deposed and replaced by a Provisional government. In the
second renovations, during October, the Provisional Government was removed and replaced with a Bolshevik
(Communist) government.
</value>
</field>
<field name="created">
<value>1149678852000</value>
</field>
<field name="updated">
<value>1159374446000</value>
</field>
<field name="updaterName">
<value>elliott</value>
</field>
<field name="resolved">
<value>1260367510059</value>
</field>
<field name="priority">
<value>1</value>
</field>
<field name="type">
<value>Task</value>
</field>
<field name="state">
<value>Fixed</value>
</field>
<field name="subsystem">
<value>Renovations</value>
</field>
<field name="fixedVersion">
<value>Release</value>
</field>
<field name="assigneeName">
<value>gregory</value>
</field>
<field name="reporterName">
<value>gregory</value>
</field>
<field name="fixedInBuild">
<value>Next build</value>
</field>
<field name="Build">
<value>Some Read Only</value>
<value>Value</value>
</field>
<field name="scf">
<value>1260317512059</value>
</field>
<field name="cf">
<value>1</value>
</field>
<comment author="who!" text="Good idea, let's do it" created="1267030230127"/>
<comment author="root" text="I think we need to call a meeting first" created="1267030238721" updated="1267030230127"/>
</issue>
<issue>
<field name="numberInProject">
<value>1987</value>
</field>
<field name="summary">
<value>Office renovations</value>
</field>
<field name="description">
<value># Order new floor mats
# Replace lighting fixtures
# Install sound-proof doors
</value>
</field>
<field name="created">
<value>1149678852000</value>
</field>
<field name="priority">
<value>1</value>
</field>
<field name="type">
<value>Bug</value>
</field>
<field name="state">
<value>Open</value>
</field>
<field name="assigneeName">
<value>webster</value>
</field>
<field name="reporterName">
<value>webster</value>
</field>
<field name="company">
<value>Flips and Flops Law Consulting LLC</value>
</field>
</issue>
</issues>
Response
HTTP/1.1 400 Bad Request
Content-Type: application/xml;charset=UTF-8
Content-Length: 445
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<importReport>
<item imported="false" id="1917">
<error fieldName="numberInProject" value="1917">Value is not unique</error>
<error fieldName="comment.author" value="who!">Value is unknown</error>
<error fieldName="Build">Field is unknown</error>
<error fieldName="scf">Field is unknown</error>
<error fieldName="cf">Field is unknown</error>
</item>
<item imported="true" id="1987"/>
</importReport>
Import second issues package (with errors)
Only one of two provided issues is actually imported.
Request
PUT https://example.com/youtrack/rest/import/CMN/issues
Content-Length: 3125
Connection: keep-alive
Content-Type: application/xml
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<issues>
<issue>
<field name="numberInProject">
<value>1917</value>
</field>
<field name="summary">
<value>Build a bigger office</value>
</field>
<field name="description">
<value>The Russian Renovations is the collective term for the series of renovationss in Russia in 1917, which
destroyed the Tsarist autocracy and led to the creation of the Soviet Union. In the first renovations of February
1917 (March in the Gregorian calendar), the Tsar was deposed and replaced by a Provisional government. In the
second renovations, during October, the Provisional Government was removed and replaced with a Bolshevik
(Communist) government.
</value>
</field>
<field name="created">
<value>1149678852000</value>
</field>
<field name="updated">
<value>1159374446000</value>
</field>
<field name="updaterName">
<value>elliott</value>
</field>
<field name="resolved">
<value>1260367510059</value>
</field>
<field name="priority">
<value>1</value>
</field>
<field name="type">
<value>Task</value>
</field>
<field name="state">
<value>Fixed</value>
</field>
<field name="subsystem">
<value>Renovations</value>
</field>
<field name="fixedVersion">
<value>Release</value>
</field>
<field name="assigneeName">
<value>gregory</value>
</field>
<field name="reporterName">
<value>gregory</value>
</field>
<field name="fixedInBuild">
<value>Next build</value>
</field>
<field name="Build">
<value>Some Read Only</value>
<value>Value</value>
</field>
<field name="scf">
<value>1260317512059</value>
</field>
<field name="cf">
<value>1</value>
</field>
<comment author="who!" text="Good idea, let's do it" created="1267030230127"/>
<comment author="root" text="I think we need to call a meeting first" created="1267030238721" updated="1267030230127"/>
</issue>
<issue>
<field name="numberInProject">
<value>1987</value>
</field>
<field name="summary">
<value>Office renovations</value>
</field>
<field name="description">
<value># Order new floor mats
# Replace lighting fixtures
# Install sound-proof doors
</value>
</field>
<field name="created">
<value>1149678852000</value>
</field>
<field name="priority">
<value>1</value>
</field>
<field name="type">
<value>Bug</value>
</field>
<field name="state">
<value>Open</value>
</field>
<field name="assigneeName">
<value>webster</value>
</field>
<field name="reporterName">
<value>webster</value>
</field>
<field name="company">
<value>Flips and Flops Law Consulting LLC</value>
</field>
</issue>
</issues>
Response
HTTP/1.1 400 Bad Request
Content-Type: application/xml;charset=UTF-8
Content-Length: 445
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<importReport>
<item imported="false" id="1917">
<error fieldName="numberInProject" value="1917">Value is not unique</error>
<error fieldName="comment.author" value="who!">Value is unknown</error>
<error fieldName="Build">Field is unknown</error>
<error fieldName="scf">Field is unknown</error>
<error fieldName="cf">Field is unknown</error>
</item>
<item imported="true" id="1987"/>
</importReport>
Create issue link type
Request
PUT https://example.com/youtrack/rest/admin/issueLinkType/Rescind?outwardName=rescinds&inwardName=rescinded+by&directed=true
Content-Length: 0
Connection: keep-alive
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/charisma/rest/admin/issueLinkType/Rescind
Content-Length: 0
Import links
Request
PUT https://example.com/youtrack/rest/import/links
Content-Length: 199
Connection: keep-alive
Content-Type: application/xml
Cookie: $Version=0; JSESSIONID=2h2curh13q3p11s564124l5jm; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<list>
<link typeName="depend" source="CMN-1928" target="CMN-1917"/>
<link typeName="rescind" source="CMN-1987" target="CMN-1928"/>
</list>
Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8
Content-Length: 130
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<importReport>
<item imported="true"/>
<item imported="true"/>
</importReport>
Upload attachment
Request
POST https://example.com/youtrack/rest/issue/CMN-1917/attachment?authorLogin=webster&created=1149678852000
Content-Length: 7839
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------7d159c1302d0y0
Cookie: $Version=0; JSESSIONID=1eufd2pvosy59101uv1zr0bi1y; $Path=/; jetbrains.charisma.main.security.PRINCIPAL=NDg...
-----------------------------7d159c1302d0y0
Content-Disposition: form-data; name="flag.png"; filename="flag.png"
Content-Type: image/png
Content-Transfer-Encoding: binary
<actual file content, not shown here>
-----------------------------7d159c1302d0y0--
Response
HTTP/1.1 201 Created
Content-Type: application/xml;charset=UTF-8
Location: https://example.com/youtrack/rest/issue/CMN-1917/attachment/_persistent/flag.png?file=45-50&v=0&c=true
Content-Length: 0
Last modified: 8 July 2019