Для получения значения пользовательского поля родительской задачи в скрипте ScriptRunner для Jira, вы можете использовать следующий код:
```groovy
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
// Получить текущую задачу
def issue = issue as Issue
// Получить родительскую задачу
def parentIssue = issue.getParentObject()
// Проверить, есть ли родительская задача
if (parentIssue) {
// Получить значение пользовательского поля родительской задачи по ID
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def parentCustomField = customFieldManager.getCustomFieldObject(<Your_Custom_Field_ID>)
def parentCustomFieldValue = parentIssue.getCustomFieldValue(parentCustomField)
// Вывести значение пользовательского поля родительской задачи
log.info("Значение пользовательского поля родительской задачи: $parentCustomFieldValue")
} else {
log.warn("Нет родительской задачи")
}
```
Замените `<Your_Custom_Field_ID>` на фактический ID вашего пользовательского поля. Вы можете узнать ID поля, перейдя на его страницу настроек.
Относительно ошибки "groovy.lang.MissingMethodException: No signature of method: com.atlassian.jira.issue.IssueImpl.getCustomFieldValue()": это может быть вызвано неверным использованием метода. Убедитесь, что у вас есть правильная ссылка на объект задачи и что задача имеет родительскую задачу. Если ошибка сохраняется, проверьте, правильно ли указан ID пользовательского поля.
Вы должны создать экземпляр `Issue`, чтобы обращаться к переменной `issue`. Также рекомендуется проверить, не является ли ваша задача родительской, прежде чем работать с `issue`. То же самое относится и к `customfield`.
Вот рабочий пример:
```groovy
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.Issue
import org.apache.log4j.Logger
import static org.apache.log4j.Level.DEBUG
def _logger = Logger.getLogger("LOGGER")
_logger.setLevel(DEBUG)
String subIssueKey = "TASKIT-249"
IssueManager issueManager = ComponentAccessor.getIssueManager()
Issue issue = issueManager.getIssueObject(subIssueKey)
_logger.debug("KEY: " + issue.getKey().toString())
if (issue.getParentObject() == null) {
_logger.debug("Issue: " + subIssueKey + " IS NOT subTask!")
throw new NullPointerException()
} else {
issue = issue.getParentObject()
_logger.debug("KEY: " + issue.getKey().toString())
}
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
String myCustomFieldCode = "customfield_10100"
CustomField myCustomField = customFieldManager.getCustomFieldObject(myCustomFieldCode)
if (myCustomField != null) {
String myCustomFieldValue = issue.getCustomFieldValue(myCustomField)
_logger.debug("Value: " + myCustomFieldValue)
} else {
_logger.debug("Field: " + myCustomFieldCode + " NOT FOUND!")
}
```