2017-06-21 7 views
1

以下の動作をサポートするカスタムコードを記述したい: 親Aには「ABC」というフィールドがある親Aの各子タスクには、このフィールド「ABC」が読み取り専用「ABC」として編集されている親には、更新されるたびに各子供に絞り込む必要があります。明らかにこれは真のライブ同期ではありませんが、エンドユーザーがページを更新して更新された値を表示するとすぐに同じ値を呼び出す必要があります。親と子フィールドの同期

本当に、変更のために親タスクのカスタムフィールドを読み込み、変更された場合、その値を子タスクに渡すScripted Functionが必要です。私は "スクリプトランナー"を使用していますが、私はこれを行う方法を理解することはできません。あなたはスクリプトランナーで使用できるスクリプトを提供してください。また私たちのインスタンスで問題の&サブタスクのジョブを自動化したいのですか?

これはカスタムスクリプトリスナーで行うことができますが、私はこのタスクを達成できるスクリプトが必要であることは知っています。

答えて

0

これはScripted Fieldで簡単に行うことができます。 documentationはかなり良いです。

まず、親の問題を取得する必要があります。この問題は、その親を返し、サブタスクの場合

号getParentObject()

:発行対象は、これを行う方法getParentObject()を持っています。

戻り値:

親の問題、またはnull問題がサブタスクではない場合。

親の問題のカスタムフィールドの値を取得できます。これはシンプルなテキストフィールドであると仮定すると、次のようになります。

String customFieldName = "My fancy custom field" 

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager() 
Collection<CustomField> customFields = customFieldManager.getCustomFieldObjectsByName(customFieldName) 

parentIssue.getCustomFieldValue(customFields.first()) as String 
+0

こんにちはグレン、私はこれで少し戸惑います。 Scripted Fieldタイプでカスタムフィールドを作成してScript Fieldに行ったが、次のアクションを見つけることができなかった。あなたは私に実行すべきスクリプトを教えてもらえますか? –

+0

「次の行動を見つけることができませんでした」とどういう意味ですか? 「アドオンの管理」 - >「スクリプトフィールド」に進みます。カスタムフィールドがそこにリストされます。編集をクリックし、スクリプトにパスを追加するか、スクリプトをインラインで入力してください。スクリプトランナーのドキュメントでは、これを非常にはっきりと説明しています。スクリーンショット。 – GlennV

関連する問題