Custom field contexts (aka "custom field configuration schemes") are a wonderful way to configure a custom field differently for different projects in JIRA. Smart custom field contexts is a new feature in Project Configurator that offers a selective handling of these contexts when importing a configuration.
In a few words...
Before explaining how the smart custom field contexts feature works, it is worth a quick look at the "standard" way Project Configurator handles custom field contexts. In the standard way the plugin replicates the complete custom field configuration (as it is described in the XML file) into the destination instance. This means that the custom fields in the target instance will be configured exactly as they are in the XML file, for all their contexts. This may affect other projects that were not imported with the configuration but are using those custom fields that changed as a result of the configuration import.
When smart custom field contexts are enabled, the plugin will perform these steps for every custom field in the XML file:
Imagine this case:
When "smart custom field contexts" is enabled, the plugin would detect that the change to those options would impact on projects P1, P2 and P3. P2 and P3 are not being imported, so the plugin will modify the contexts so that only P1 is affected by the changes. It would do this by:
If you are going to import a configuration with "smart custom field contexts" it is a very good idea that the XML configuration file was created with the option to filter custom fields not used by the exported projects. If you do not do it this way, you risk getting some custom fields configured especially for the projects in the XML file, even if they do not have anything to do with those projects.