kanbanworkflowstimelinescrumrubyroadmapproject-planningproject-managementopenprojectangularissue-trackerifcgantt-chartganttbug-trackerboardsbcf
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.8 KiB
93 lines
2.8 KiB
# Group Previewing
|
|
|
|
Throughout OpenProject user input for many properties can be formatted using *Markdown*.
|
|
Using the appropriate rendering endpoint it is possible to render custom formatted inputs into HTML and thus
|
|
receive a preview of the rendered text.
|
|
|
|
The request to a rendering endpoint must always have a MIME-Type of `text/plain`.
|
|
The request body is the actual string that shall be rendered as HTML string.
|
|
|
|
## Markdown [/api/v3/render/markdown{?context}]
|
|
|
|
+ Model
|
|
+ Body
|
|
|
|
<p>Hello world! <a href="http://example.com">This</a> <strong>is</strong> markdown!</p>
|
|
|
|
## Preview Markdown document [POST]
|
|
|
|
+ Parameters
|
|
+ context (optional, string, `/api/v3/work_packages/42`)
|
|
API-Link to the context in which the rendering occurs, for example a specific work package.
|
|
|
|
If left out only context-agnostic rendering takes place.
|
|
Please note that OpenProject features markdown-extensions on top of the extensions GitHub Flavored Markdown (gfm) already
|
|
provides that can only work given a context (e.g. display attached images).
|
|
|
|
**Supported contexts:**
|
|
|
|
* `/api/v3/work_packages/{id}` - an existing work package
|
|
|
|
+ Request (text/plain)
|
|
|
|
Hello world! "This":http://example.com **is** markdown!
|
|
|
|
+ Response 200 (text/html)
|
|
|
|
[Markdown][]
|
|
|
|
+ Response 400 (application/json)
|
|
|
|
Returned if the context passed by the client is not valid (e.g. unknown).
|
|
|
|
Note that this response will also occur when the requesting user
|
|
is not allowed to see the context resource (e.g. limited work package visibility).
|
|
|
|
+ Body
|
|
|
|
{
|
|
"_type": "Error",
|
|
"errorIdentifier": "urn:openproject-org:api:v3:errors:InvalidRenderContext",
|
|
"message": "Could not render markdown string in the given context."
|
|
}
|
|
|
|
+ Response 415 (application/json)
|
|
|
|
Returned if the Content-Type indicated in the request is not `text/plain`.
|
|
|
|
+ Body
|
|
|
|
{
|
|
"_type": "Error",
|
|
"errorIdentifier": "urn:openproject-org:api:v3:errors:TypeNotSupported",
|
|
"message": "Expected Content-Type to be 'text/plain' but got 'application/json'."
|
|
}
|
|
|
|
## Plain Text [/api/v3/render/plain]
|
|
|
|
+ Model
|
|
+ Body
|
|
|
|
<p>Hello world! This *is* plain text!</p>
|
|
|
|
## Preview plain document [POST]
|
|
|
|
+ Request (text/plain)
|
|
|
|
Hello world! This *is* plain text!
|
|
|
|
+ Response 200 (text/html)
|
|
|
|
[Plain Text][]
|
|
|
|
+ Response 415 (application/json)
|
|
|
|
Returned if the Content-Type indicated in the request is not `text/plain`.
|
|
|
|
+ Body
|
|
|
|
{
|
|
"_type": "Error",
|
|
"errorIdentifier": "urn:openproject-org:api:v3:errors:TypeNotSupported",
|
|
"message": "Expected Content-Type to be 'text/plain' but got 'application/json'."
|
|
}
|
|
|