FormField Components
Learn about FormField components.
The issue linking and alert rule action UI components can use FormField
components to display attributes in their respective modals. These components can render custom forms with inputs specified according to the schemes below. They behave similarly to their HTML equivalents.
schema.json
Copied
{
"type": "text",
"label": <String>,
"name": <String>,
"default": <String>,
}
label
- (Required) Label text to be rendered for the form fieldname
- (Required) Value to use inname
attribute of the fielddefault
- default to pre-populate with. Options includeissue.title
andissue.description
. Only used for issue link components.issue.title
- title of the Sentry issueissue.description
- description of the Sentry issue
schema.json
Copied
{
"type": "textarea",
"label": <String>,
"name": <String>,
"default": <String>,
}
label
- (Required) Label text to be rendered for the form fieldname
- (Required) Value to use inname
attribute of the fielddefault
- default to pre-populate with options includeissue.title
andissue.description
. Only used for issue link components.issue.title
- title of the Sentry issueissue.description
- description of the Sentry issue
schema.json
Copied
{
"type": "select",
"label": <String>,
"name": <String>,
"uri": <URI>,
"async": <Boolean>,
"options": <Array<Array<String, String>>>,
"depends_on": <Array<String>>,
"skip_load_on_open": <Boolean>
}
label
- (Required) Label text to be rendered for the form fieldname
- (Required) Value to use inname
attribute of the fielduri
- (Required if developer doesn't provideoptions
) URI to retrieve values from. Check out our URI Guidelines documentation for formatting help.async
- (Optional) Used only ifuri
is present. If true (default), will query the URI as the user types, for autocomplete suggestions (see response format below). If false, will query the URI once initially to retrieve all possible options. This request must succeed, and the response must return data in the format Sentry expects, otherwise the entire component won't render.options
- (Required if developer doesn't provideuri
) Static list of options in the format of[["value1", "label1"], ["value2", "label2"]]
depends_on
- (Optional) If a field value depends on the value of another field, a request will be made to load those options when the dependent field is set.skip_load_on_open
(Optional) If true, this field will not load options when the page loads. Instead, it will wait for the user to start typing before fetching options.
The request sent to the uri
to load options is a GET
request. The parameters are encoded into the query parameters like so:
Copied
{
"installationId": <String>,
"projectSlug": <String>,
"query": <String>,
"dependentData": <String>,
}
installationId
- The ID of the installation associated with the requestprojectSlug
- The slug of the project in Sentryquery
- The search term the user is typingdependentData
- A JSON encoded string of the dependent data if that field hasdepends_on
set
Response from uri
, when specified, must be JSON and match the following format:
Copied
[
{
"label": <String>,
"value": <String>,
"default": <Boolean>,
},
...
]
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").