Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-72568

Some requests made from the Jira mobile app are not sending the mobile-app-request header

      Issue Summary

      Some customers need to identify all requests that are made from the Jira Mobile App.
      This can be useful for traffic routing policies on the load balancer or for troubleshooting purposes.

      The mobile app should send the mobile-app-request: true request header on all requests.
      This isn't happening on some of the requests.

      Steps to Reproduce

      1. Install a Jira Software vanilla instance.
      2. Install the Android Jira Mobile App.
      3. Access Jira through the Android mobile app.

      Expected Results

      All requests made from the Jira Mobile App send the mobile-app-request: true request header. AtlassianMobileApp user agent

      Actual Results

      Some requests are sending the expected request header, some are not.
      Here's an example of a request that sends the header.

      Here are examples of a requests that doesn't send the header, but can be identified through the user-agent.

      Workaround

      If you need to identify requests made from the mobile app, rely on the following rules:

      • If the request has the mobile-app-request: true request header
        OR
      • If the request is made with one of the following user-agent.
        okhttp*
        AtlassianMobileApp*
        JIRA*
        Dalvik*
        

        1. screenshot-1.png
          screenshot-1.png
          103 kB
        2. screenshot-2.png
          screenshot-2.png
          205 kB
        3. screenshot-3.png
          screenshot-3.png
          210 kB

            [JRASERVER-72568] Some requests made from the Jira mobile app are not sending the mobile-app-request header

            Done in Jira Data Center/Server 1.32.0

            Maksym Mykhailov (Inactive) added a comment - Done in Jira Data Center/Server 1.32.0

            As per the investigation outcome - it's not feasible to add `mobile-app-request` header to all in-app requests due to technical limitations related to loading resources in WebView (Login flow). 

            Indeed the workaround is still relevant (temporary), however it's still involves several conditions to check. 

            Thus it was decided to keep it simple by introducing only single check to be made on customer side - userAgent.contains("AtlassianMobileApp") - that will allow to indicate all possible in-app requests.

            The solution is yet to be implemented in iOS, but it's already available in Android v0.21.

            The other options mentioned in the workaround will be deprecated.

            Dmytro Bulaienko (Inactive) added a comment - As per the investigation outcome - it's not feasible to add `mobile-app-request` header to all in-app requests due to technical limitations related to loading resources in WebView (Login flow).  Indeed the workaround is still relevant (temporary), however it's still involves several conditions to check.  Thus it was decided to keep it simple by introducing only single check to be made on customer side - userAgent.contains("AtlassianMobileApp")  - that will allow to indicate all possible in-app requests. The solution is yet to be implemented in iOS, but it's already available in Android v0.21. The other options mentioned in the workaround will be deprecated.

            DC Mobile team will investigate the issue and will update the status

            Anastasiia Rusova (Inactive) added a comment - DC Mobile team will investigate the issue and will update the status

              23a0a13a26af Anastasiia Rusova (Inactive)
              tmasutti Thiago Masutti
              Affected customers:
              8 This affects my team
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: