RFCs are a way for Atlassian to share what we’re working on with our valued partner community.
It’s a document for building shared understanding of a topic. It expresses a technical solution, but can also communicate how it should be built or even document standards. The most important aspect of an RFC is that a written specification facilitates feedback and drives consensus. It is not a tool for approving or committing to ideas, but more so a collaborative practice to shape an idea and to find serious flaws early.
Please respect our community guidelines: keep it welcoming and safe by commenting on the idea not the people (especially the author); keep it tidy by keeping on topic; empower the community by keeping comments constructive. Thanks!
- Publish: 20 May 2024
- Discuss: 3 June 2024
- Resolve: 17 June 2024
Problem
For issues in a company managed project, Jira administrators are able to configure screens for the three issue operation: create issue, view issue and edit issue.
For most fields, if a field is not configured on a screen for the edit issue operation, users are unable to edit the field for the issue.
The parent field does not follow this rule, the parent field is editable regardless of screen configuration.
A bug report has been created by customers to change the parent field to be consistent with other fields. See https://jira.atlassian.com/browse/JSWCLOUD-26400.
Proposed Solution
In order to resolve the bug, the following experiences will be changed when the parent field is not on the screen configured for the edit issue operation:
- The issue view - the parent will be visible but not editable
- The edit issue metadata REST API - will not return the parent field in the response
Impact on new and existing projects
There are many Jira users with existing company manage projects where the parent field is not on the screen configured for the edit issue operation.
In order to avoid changes in the parent field behaviour for these projects, the parent field will be added to the screen configured for the edit operation for existing company managed projects.
The parent field will also be added to the screen configured for the edit issue operation for new projects to ensure that the parent is editable on project setup.
Issue View
Editing the parent in the breadcrumb in issue view
When the parent field is not on the screen configured for the edit issue operation, a tool tip will appear in the breadcrumb to let users know they cannot edit the parent.
Editing the parent in the parent field in issue view
When the parent field is on the screen configured for the view issue operation but not on the screen configured for the edit issue operation, the parent field will visible but not editable.
Edit issue metadata REST API
The edit issue metadata REST API will not return the parent field in the response if it is not configured on the screen for the edit issue operation.
An example response for before
{
"fields": {
"parent": {
"required": false,
"schema": {
"type": "issuelink",
"system": "parent"
},
"name": "Parent",
"key": "parent",
"hasDefaultValue": false,
"operations": [
"set"
]
},
"environment": {
"required": false,
"schema": {
"type": "string",
"system": "environment"
},
"name": "Environment",
"key": "environment",
"operations": [
"set"
]
},
"comment": {
"required": false,
"schema": {
"type": "comments-page",
"system": "comment"
},
"name": "Comment",
"key": "comment",
"operations": [
"add",
"edit",
"remove"
]
},
"assignee": {
"required": false,
"schema": {
"type": "user",
"system": "assignee"
},
"name": "Assignee",
"key": "assignee",
"autoCompleteUrl": "https://example.atlassian.net/rest/api/3/user/assignable/search?issueKey=TES-2&query=",
"operations": [
"set"
]
}
}
}
An example response for after
{
"fields": {
"environment": {
"required": false,
"schema": {
"type": "string",
"system": "environment"
},
"name": "Environment",
"key": "environment",
"operations": [
"set"
]
},
"comment": {
"required": false,
"schema": {
"type": "comments-page",
"system": "comment"
},
"name": "Comment",
"key": "comment",
"operations": [
"add",
"edit",
"remove"
]
},
"assignee": {
"required": false,
"schema": {
"type": "user",
"system": "assignee"
},
"name": "Assignee",
"key": "assignee",
"autoCompleteUrl": "https://example.atlassian.net/rest/api/3/user/assignable/search?issueKey=TES-2&query=",
"operations": [
"set"
]
}
}
}
Edit Issue API
There will be no changes to the behaviour of the edit issue REST API. An api user will be able to edit the parent value of an issue regardless of their screen configuration as long as they have the correct permissions.
Asks
While we would appreciate any reactions you have to this RFC, we’re especially interested in learning the impact this will have on you and the amount of deprecation notice you would require to adjust to the change in behaviour.