在针对Jira 5.1.8的Behaviors Plugin 0.5.3中,我无法将记者字段设置为只读?

时间:2013-01-14 09:42:04

标签: java jira

我正在将Jira从4.3.2升级到5.1.8。我将我的记者字段作为几个转换的只读字段。

我想在Jira 5.1.8中将此记者字段设为只读。但是当我为Jira 5.1.8安装兼容版本时,即行为插件0.5.3。然后记者字段或任何其他用户选择器不是只读的。

这是行为插件的Bug。 有人可以告诉我解决方法吗?

任何帮助都会很明显......

先谢谢。

雷努

2 个答案:

答案 0 :(得分:2)

<强>更新

你是如何申请的?在浏览器控制台上运行时,应该完成这项任务:

AJS.$("#reporter-field").attr("disabled", true);

但是在输入字段说明时使用

<script type="text/javascript">
  AJS.$(document).ready(function() {
    AJS.$("#reporter-field").attr("disabled", true);
  });
</script>

您可以通过以下方式应用此脚本:

  • 转到View Field Configuration并修改reporter字段,然后将此代码添加为说明。
  • 将其添加到自定义字段说明中。此自定义字段应出现在reporter字段所在的每个屏幕上。
  • 将其添加到Announcement Banner说明

这将使reporter字段仅在所有屏幕中被读取。要禁用快速编辑选项,请将其添加到Announcement Banner说明:

<script type="text/javascript">
  AJS.$(document).ready(function() {
    AJS.$("#reporter-val").removeClass("editable-field inactive");
    AJS.$("#reporter-val .icon-edit-sml").remove();
  });
</script>

修改

要仅限于特定转换,您可以:

  • 仅将自定义字段添加到特定转换屏幕,并将脚本添加到其描述中。
  • 仅在特定转换屏幕上执行脚本:

例如,仅将其应用于Resolve Issue

if (AJS.$("#workflow-transition-5-dialog .aui-popup-heading").text().indexOf("Resolve Issue") >= 0) {
    AJS.$("#reporter-field").attr("disabled", true);;
}

原帖

您可以使用jQuery轻松实现此目的。在客户归档页面中,单击所需字段上的Edit,而不是description下输入jQuery代码,如下所示:

要禁用该字段:

<script type="text/javascript">
  AJS.$(document).ready(function() {
    AJS.$("#customfield_10001").attr("disabled", true);
  });
</script>

将其设为只读:

<script type="text/javascript">
  AJS.$(document).ready(function() {
    AJS.$("#customfield_10001").attr("readonly", true);
  });
</script>

修改

我刚刚注意到您要禁用reporter,这不是自定义字段,并且无法向其添加description

作为一种解决方法,您可以创建一个自定义字段,无论哪个(如果您的页面中已有一个字段可以执行此操作),只需将#customfield_10001替换为reporter

<script type="text/javascript">
  AJS.$(document).ready(function() {
    AJS.$("#reporter-field").attr("disabled", true);
  });
</script>

答案 1 :(得分:1)

您正尝试在“行为”插件中将“记者”字段设置为只读。我想这是插件中的一个错误。我建议你写一个groovy脚本,它将使用setHelpText(String helptext)向记者字段添加一个帮助文本。帮助文本将是以下javascript。您需要将其作为字符串转义:)

<script type="text/javascript">
    AJS.$(document).ready(function() {
        AJS.$("#reporter-field").attr("disabled", true);
    });
</script>

希望这有帮助