Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • In your Azure portal, select All services > Microsoft Entra ID

  • Scroll down the left bar to Manage, open the Properties and search for Tenant ID

  • Save the Directory Tenant ID for future reference for usage in the import configuration

Get your Subscription ID

  • If you need specific subscriptions to be imported

  • In your Azure portal, search for Subscriptions

  • Select the Subscription(s) you would like to synchronize the Azure (Assets) data from

  • Save the Subscription ID Id (s) for future reference for usage in the import configuration

Register Access Application

You need to register an Application (the Azure Registration Application that will be used for the API-Gateway) that works as a gateway that enables the Azure Sync app to access data within your Azure environment. This registration app acts as an intermediary; it has permissions to view or manage certain parts of your Azure setup, but Azure Sync for Jira Assets does not directly access or modify Azure data. The registration app specifies which data the Azure Sync app can import.

  • In your Azure portal, select All services > Microsoft Entra ID

  • Under the “Add” tab, click on App registration (or in the left bar open App registrations and Select New registration)

  • Pick a name for your application. You can use something like "asset-azure-sync" as inspiration

  • Leave other settings at default values

  • Create the App registration

  • Save the Application (client) ID for future reference for usage in the import configuration

    image-20240430-195356.png

...

Assign Application Role assignment

Granting permissions to the registration app is essential as it defines the scope of data access: what the Azure Sync app can view and manage in Azure.

In your Azure portal, search for Subscriptions

  • Select your subscription (or more if you want to be able to import data from multiple subscriptions)

  • Select Access control (IAM) and click on the Role assignments tab

  • Click Add (you need to have proper permission)

  • Choose Role = Reader and search at the select for the Application name that you have created in steps above (saying this registered application now can read this subscription data)

...

Check Required Permissions

...

  • Root object type name

    • Specify the name of the object type where the imported data will be stored.

      • Note Important note : It will automatically generate a new root object type. It's recommended to select a unique name for the root object type. If you attempt to connect the app to an object type that was created via the Atlassian Assets GUI, it may cause errors due to Atlassian's limitations. Therefore, it's recommended to use a unique name (so a new object is created) or choose an existing object type that was created by this application (such as when performing a prior import with the same root object).

  • Subscription ID

    • Note : Multiple subscriptions may be imported depending on the Azure Access Application's authorization setup; however, only resources registered under the specified subscription will be imported.

  • Application Microsoft Entra ID (Directory Tenant ID)

  • Application (Client) ID

  • Application (Client) Secret Key

  • Subscription Options

    • In the latest version, you can now enable an option to import resources from all subscriptions that your Azure Registration App has permission to access. This significantly simplifies importing from multiple subscriptions at once.

...

  • If you prefer to specify subscriptions instead of importing all at once, you can toggle this feature off. Then, simply enter the Subscription ID of the subscription you would like to import data from. If you want to import data from multiple (specific) subscriptions in a single instance, separate them by commas. This makes handling a large number of subscriptions much easier and more efficient.

...

Advanced settings

On separate tab you can modify import parameters not critical for import execution.

...

  • See which Object Types or Object Type Attributes have been added, removed, or updated.

  • Run the schema and mapping update to apply these changes.

Structuring Your Imports in Jira

  • Depending on your organization’s needs, you may want to import data from different subscriptions into one shared “root object” within Jira Assets or keep them separated by creating distinct root objects.

    • Single Root Object: All resources, regardless of the subscription, are imported into a single location within Jira Assets. This works well if it’s not necessary to distinguish resources by environment (e.g., production vs. testing), or to track resources across your organization and have everything in one place.

    • Separate Root Objects: If it’s essential to differentiate resources for example by environment, you can set up separate root objects within Jira for each subscription (multiple import instances). This setup reduces the risk of data confusion, as each environment is clearly separated in Jira Assets.

Performing the Import

Once you have configured your settings correctly, you should be ready to perform the import process effortlessly. Before the first execution, configured import will be in state “READY TO RUN” and “Import data” button will appear. To start the import manually, simply click on the button.

...

  • IpConfiguration: Id attribute (from v3.15.0):

    • Id: A shortened version of the Azure Id (used for referencing, type "text").

    • Full Id: The complete Azure Id (stored as "textarea", which does not have the 254-character limit but cannot be used for referencing).

Note: If you had any IpConfigurations imported from a version prior to 3.15.0 and import them again, they will be treated as "duplicates" (since the Id attribute is being modified, the system sees it as a new object). To resolve this, we recommend bulk-removing all the existing IpConfigurations and then running the import again.

Note
  • Limitation for imports: Currently, when using Azure Sync for Jira Assets, there is a limitation on the number of Azure subscriptions you can import at one time.

As of February 4, 2025, imports in our app now have improved capacity. This enhancement allows for significantly higher subscription limits per session, making the import process more efficient. In most cases, this increased limit should be sufficient to meet all user needs.
While the exact limit may vary based on factors like the amount of data associated with each subscription, here’s what you need to know:

  1. General Guidance on Limits:

    • In many cases, users may encounter restrictions around 350 subscriptions per session.

    • However, under certain conditions with smaller datasets per subscription, it is possible to import up to nearly 1000 subscriptions in a single session.

  2. Real-World Variations:

    • Due to differences in data volume, some users may encounter import limitations at lower subscription counts. This variability makes it important to plan import sessions accordingly.

Workarounds for Larger Imports

If your organization has a high number of large subscriptions or encounters import limitations, consider these approaches:

Use Multiple Import Instances

  • Specify Individual Subscriptions
    Consider running separate import sessions. This can be done by listing up to around 350 subscriptions per session in the Subscription IDs configurationinput field.

  • Import “All Available” Subscriptions
    Alternatively, you can create multiple Azure registration applications to divide and manage the subscription import process more effectively. Each app can be configured to import a different set of up to around 350 subscriptions, reducing manual input and simplifying the import setup (utilizing the "All Available" configuration option)

Troubleshooting

Assets - Azure Integration requires both Jira and Assets to function. Also make sure all the specific permission in your Azure environment was set right.

...

You might encounter an error (2) when starting the import (1). The first thing to check is whether your license is active, as it is the most common reason. The quickest way to verify this is in the import configuration dialog (3), where a message should appear in such case.

...

Multiple subscription import

...

  • To import asset data from multiple subscriptions, you need to create separate importer instances with distinct configurations for each subscription (or modify the existing one).

  • To make the import functional for another subscription, it is necessary to update not only the Subscription ID but also make sure to set correct Application (Client) ID with its Application Secret Key to grant access to subscription resources.

Schema updates

Sometimes it may appear that schema&mapping update (on update tab) is taking too long. The operation might take longer in extreme cases because a retry event is performed there.

...

object HAVING inboundReferences()

...

Socket hang up error (ECONNRESET)

You might notice your import process appears to run endlessly without completing. This is due to an issue in the Forge platform, where the error occurs internally during calls to Atlassian’s API.

We have implemented a workaround that we believe resolves the issue; however, it may still occur as it is being tracked under ECO-516, and Atlassian is actively working on a permanent fix. If the issue does arise, the current solution is to manually stop the import and restart it. Please note that this issue can also occur during scheduled imports. As a result, we recommend monitoring scheduled imports and restarting them if necessary.

Feedback and Support

Your invaluable feedback fuels the evolution of Azure Sync for Jira Assets. Share your insights, and together, we'll cultivate a more refined and impactful user experience! 📊🌱

...