The factory to create Jira issues using OSLC vocabulary is declared on the Service Provider representing the Jira project.
To determine the URL of the OSLC creation factory:
<oslc:Service> XML element whose <oslc:domain> is
http://open-services.net/ns/cm# for Change Management or http://open-services.net/ns/qm# for Quality Management.<oslc:CreationFactory> XML element whose <oslc:resourceType> is the required one.
| Domain | Resource Type | Resource Type URL |
|---|---|---|
| Change Management | Change Request | http://open-services.net/ns/cm#ChangeRequest |
| Quality Management | Test Case | http://open-services.net/ns/qm#TestCase |
| Test Plan | http://open-services.net/ns/qm#TestPlan |
|
| Test Execution Record | http://open-services.net/ns/qm#TestExecutionRecord |
|
| Test Result | http://open-services.net/ns/qm#TestResult |
|
| Test Script | http://open-services.net/ns/qm#TestScript |
<oslc:resourceShape> XML element that defines the URL for
fetching the resource type and knowing what properties are editable.<oslc:creation> XML element that defines the URL for the creation factory.<rdf:RDF
...
<oslc:ServiceProvider rdf:about="https://SERVER:PORT/rest/oslc/1.0/cm/project/PROJECT-ID">
<oslc:service>
<oslc:Service>
<oslc:domain rdf:resource="http://open-services.net/ns/cm#"/>
<oslc:creationFactory>
<oslc:CreationFactory>
<oslc:resourceType rdf:resource="http://open-services.net/ns/cm#ChangeRequest"/>
<oslc:resourceShape rdf:resource="https://SERVER:PORT/rest/oslc/1.0/cm/resourceShape/PROJECT-ID/ChangeRequest"/>
<oslc:creation rdf:resource="https://SERVER:PORT/rest/oslc/1.0/cm/PROJECT-ID/ChangeRequest"/>
</oslc:CreationFactory>
</oslc:creationFactory>
...
</oslc:Service>
</oslc:service>
</rdf:Description>
</rdf:RDF>
<rdf:RDF
...
<oslc:ServiceProvider rdf:about="https://SERVER:PORT/rest/oslc/1.0/qm/project/PROJECT-ID">
...
<oslc:service>
<oslc:Service>
<oslc:domain rdf:resource="http://open-services.net/ns/qm#"/>
<oslc:creationFactory>
<oslc:CreationFactory>
<oslc:resourceType rdf:resource="http://open-services.net/ns/qm#TestCase"/>
<oslc:resourceShape rdf:resource="https://SERVER:PORT/rest/oslc/1.0/qm/resourceShape/PROJECT-ID/TestCase"/>
<oslc:creation rdf:resource="https://SERVER:PORT/rest/oslc/1.0/qm/PROJECT-ID/TestCase"/>
</oslc:CreationFactory>
</oslc:creationFactory>
...
</oslc:Service>
</oslc:service>
</rdf:Description>
</rdf:RDF>
POSTAuthorization: Jira user and password encoded as BASIC authenticationAccept: application/rdf+xmlContent-Type: application/rdf+xmlOSLC-Core-Version: 2.0
<rdf:RDF
...
<rdf:Description>
<rdf:type rdf:resource="http://open-services.net/ns/cm#ChangeRequest"/>
<dcterms:type rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Task</dcterms:type>
<dcterms:title rdf:parseType="Literal">My Task issue created through the creation factory</dcterms:title>
</rdf:Description>
</rdf:RDF>
<rdf:RDF
...
<rdf:Description>
<rdf:type rdf:resource="http://open-services.net/ns/qm#TestCase"/>
<dcterms:type rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Test</dcterms:type>
<dcterms:title rdf:parseType="Literal">My Test issue created through the creation factory</dcterms:title>
</rdf:Description>
</rdf:RDF>
Important considerations to have in mind:
rdf:type property value must match the one of the oslc:resourceType property in the creation factory.dcterms:type property value must match one of the listed oslc:allowedValue in the resource shape as any other property.dcterms:title property is, along with the two above, the only three mandatory properties to use the factory
(the jira:reporter property is also mandatory to Jira but it is set to the requesting user by default if not specified).dcterms:creator is read-only and it is always set to the requesting user.X-oslc-connect-resource-edition-skip-screen-checking header.Here is a response sample for one of the requests above:
<rdf:RDF
...
<rdf:Description rdf:about="https://SERVER:PORT/rest/oslc/1.0/cm/issue/ISSUE-KEY">
<dcterms:creator rdf:resource="https://SERVER:PORT/rest/oslc/1.0/cm/user/PROJECT_ID"/>
<oslc_cm:inprogress rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</oslc_cm:inprogress>
<dcterms:type>Task</dcterms:type>
<dcterms:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2025-07-01T16:58:05.596Z</dcterms:modified>
<dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2025-07-01T16:58:05.596Z</dcterms:created>
<process:projectArea rdf:resource="https://SERVER:PORT/rest/oslc/1.0/process/project-area/PROJECT_ID"/>
<acc:accessContext rdf:resource="https://SERVER:PORT/rest/oslc/1.0/acclist#10000"/>
<oslc:instanceShape rdf:resource="https://SERVER:PORT/rest/oslc/1.0/cm/resourceShape/PROJECT_ID/issue"/>
<oslc_cm:status>To Do</oslc_cm:status>
<oslc_cm:closed rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</oslc_cm:closed>
<oslc:shortId>ISSUE-KEY</oslc:shortId>
<rdf:type rdf:resource="http://open-services.net/ns/cm#ChangeRequest"/>
<dcterms:title rdf:parseType="Literal">My issue created through the creation factory</dcterms:title>
<oslc:serviceProvider rdf:resource="https://SERVER:PORT/rest/oslc/1.0/cm/project/PROJECT_ID"/>
<dcterms:identifier>ISSUE-KEY</dcterms:identifier>
<oslc_cm:approved rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</oslc_cm:approved>
<oslc:shortTitle rdf:parseType="Literal">ISSUE-KEY</oslc:shortTitle>
<oslc_cm:fixed rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</oslc_cm:fixed>
<jira:reporter rdf:resource="https://SERVER:PORT/rest/oslc/1.0/cm/user/PROJECT_ID"/>
</rdf:Description>
</rdf:RDF>