Skip to main content

Connect Amazon Q Developer to LinearB

Connect Amazon Q Developer to LinearB through AWS to collect adoption and accepted-lines data from Amazon Q usage reports.

Steven Silverstone
Updated by Steven Silverstone

Overview

Connect Amazon Q Developer to LinearB to collect user activity reports from your AWS environment and measure Amazon Q adoption and accepted lines of code.

In LinearB, select AWS as the AI provider and Amazon Q Developer as the connection type.

Connection limit: Only one active Amazon Q Developer integration can be connected at a time. A failing Amazon Q Developer integration still counts as active.

Data Provided by Amazon Q Developer

Depending on the reports available in AWS, the integration can provide:

  • Amazon Q Developer adoption
  • Active users
  • Usage activity
  • Accepted lines of code

Adoption and accepted-lines data appears in AI Analytics.

Note: Model, token, and estimated-consumption data is not currently available through the Amazon Q Developer integration.

Data Availability and Collection Cadence

  • Amazon Q Developer user activity reports are generated in your AWS environment.
  • LinearB reads available reports from the configured S3 path.
  • Amazon Q reporting is updated daily.
  • Available data depends on the reports present in the configured bucket and prefix.
  • User resolution depends on access to the configured AWS Identity Store.

Before You Begin

Verify that you have:

  • Access to AI Tools settings in LinearB.
  • AWS administrative access to IAM, S3, and IAM Identity Center.
  • An active Amazon Q Developer environment.
  • Amazon Q Developer user activity reports enabled.
  • The S3 path where Amazon Q Developer reports are exported.
  • The Identity Store ID for the IAM Identity Center instance used by Amazon Q Developer.
  • The S3 bucket region.
  • The Identity Center region.

Before connecting, complete the following AWS preparation:

  1. Enable user activity reports in Amazon Q Developer.
  2. Optionally enable prompt logging.
  3. Create a cross-account IAM role with read-only access to:
    • The reporting S3 bucket
    • IAM Identity Center
  4. Prepare to configure the role’s trust policy with the LinearB AWS Account ID and External ID generated during setup.

Start the Connection in LinearB

  1. Go to Settings → Company Settings → AI Tools → Integrations.
  2. Click Add New.
  3. Select AWS.
  4. Click Continue.
  5. Select Amazon Q Developer.
  6. Click Continue.
Unfinished setup: If LinearB finds an unfinished Amazon Q Developer setup, the Main Settings fields are prefilled. Continuing resumes that setup instead of creating another one.

Enter the AWS Main Settings

Enter the details of the AWS environment where Amazon Q Developer is deployed:

  • IAM Role ARN — The cross-account IAM role that LinearB will assume
  • Usage Data S3 Path — The S3 path where Amazon Q Developer reports are exported
  • Identity Store ID — The IAM Identity Center store used by Amazon Q Developer
  • S3 Bucket Region — The AWS region containing the reporting bucket
  • Identity Center Region — The region containing the relevant IAM Identity Center instance

The Identity Center region can differ from the S3 bucket region.

After entering the required settings, continue to generate the AWS policies.


Apply the LinearB Setup in AWS

LinearB generates IAM policies based on the submitted configuration:

  • Trust Policy — Allows the LinearB AWS account to assume the IAM role using the generated External ID
  • Permissions Policy — Grants read-only access to the required reporting and Identity Store resources
  1. Expand Trust Policy.
  2. Copy the generated policy.
  3. In AWS IAM, open the cross-account role that LinearB will use.
  4. Apply the generated Trust Policy to the role.
  5. Return to LinearB.
  6. Expand Permissions Policy.
  7. Copy the generated policy.
  8. Attach the Permissions Policy to the same IAM role.
  9. Save the role configuration in AWS.
  10. Return to LinearB.
  11. Click Connect Amazon Q Developer.
Important: Apply the generated AWS Account ID and External ID exactly as shown. If the trust policy contains a different External ID, LinearB cannot assume the role.

LinearB validates the IAM role, S3 access, Identity Store access, and configured regions. When validation succeeds, AWS — Amazon Q Developer appears in the Connected list.

Duplicate integrations: If another active Amazon Q Developer integration already exists, disconnect it before connecting another one.

Verify the Connection

  1. Open Settings → Company Settings → AI Tools → Integrations.
  2. Select Connected.
  3. Select AWS — Amazon Q Developer.
  4. Confirm that the integration status is Connected.
  5. Confirm that the displayed AWS settings match the reporting environment.
  6. Allow time for Amazon Q reports to be generated and processed.
  7. Open AI Analytics and confirm that Amazon Q data appears.

Edit the Amazon Q Developer Integration

Use Edit mode to update the AWS resources and regions used by the integration.

The following fields can be edited:

  • IAM Role ARN
  • Usage Data S3 Path
  • Identity Store ID
  • S3 Bucket Region
  • Identity Center Region
  1. Open Settings → Company Settings → AI Tools → Integrations.
  2. Select Connected.
  3. Select AWS — Amazon Q Developer.
  4. Under Main Settings, click Edit.
  5. Update the required AWS settings.
  6. Click Save changes to apply the update or Cancel to discard it.
Permissions: Anyone who has access to AI Tools settings can edit the integration. The user must also be able to update the corresponding IAM role in AWS.
Important: Saving any change regenerates the External ID. The existing IAM trust policy stops matching immediately. Copy the newly generated Trust Policy and apply it to the IAM role in AWS.

Apply the updated Trust Policy

  1. After saving the edit, expand Trust Policy.
  2. Copy the newly generated policy.
  3. Open the integration’s IAM role in AWS.
  4. Replace the existing Trust Policy with the newly generated policy.
  5. Save the role in AWS.
  6. Return to LinearB and verify the integration.

What happens to historical data?

Editing the integration does not delete previously collected Amazon Q metrics.

  • Saving an edit triggers a new collection.
  • LinearB recollects up to 90 days of recent Amazon Q data.
  • Recollected records are updated in place and are not counted twice.
  • Data older than the recollection window remains unchanged.
Collection interruption: LinearB cannot assume the IAM role until the updated Trust Policy is applied. A collection gap accumulates while the old External ID remains in AWS.

Disconnect or Reconnect

Disconnecting Amazon Q Developer stops new report collection and moves the integration to the Disconnected list. Previously collected data is preserved.

Disconnect the integration

  1. Open Settings → Company Settings → AI Tools → Integrations.
  2. Select Connected.
  3. Select AWS — Amazon Q Developer.
  4. Click Disconnect.
  5. Confirm the action.

Reconnect the integration

  1. Open Settings → Company Settings → AI Tools → Integrations.
  2. Select Disconnected.
  3. Select AWS — Amazon Q Developer.
  4. Click Reconnect.
  5. Review the saved AWS configuration.
  6. Complete validation to restore the integration.

LinearB validates the saved IAM role and AWS resources before restoring the integration.

Duplicate integrations: If another active Amazon Q Developer integration exists, disconnect it before reconnecting the previous one.

Learn more:


Troubleshooting

Invalid IAM Role ARN

Verify that the complete ARN was copied from AWS. It should use this format:

arn:aws:iam::<account-id>:role/<role-name>

Invalid S3 URI

Verify that the path uses a valid S3 URI and contains the correct bucket and prefix:

s3://<bucket-name>/<report-prefix>/

Could Not Assume the IAM Role

  • Confirm that the Trust Policy allows the LinearB AWS account as a principal.
  • Verify that sts:ExternalId exactly matches the current External ID shown in LinearB.
  • Confirm that the IAM Role ARN is correct.
  • Verify that the Trust Policy was applied to the intended role.
  • If the integration was edited, confirm that the newly generated Trust Policy was applied in AWS.

IAM Role Not Found

Confirm that the role exists in the AWS account identified by the ARN and that the complete ARN was entered in LinearB.

Temporary AWS Error

AWS STS throttling or temporary service unavailability can prevent validation. Wait a few minutes and try again.

S3 Bucket Not Found

  • Confirm that the bucket name is correct.
  • Verify that the configured S3 region matches the bucket’s actual region.
  • Confirm that the bucket exists in the expected AWS account.

No Permission to List the S3 Bucket

Confirm that the IAM role permits s3:ListBucket for the configured bucket and prefix.

No Permission to Read S3 Objects

Confirm that the IAM role permits s3:GetObject for the Amazon Q report objects under the configured prefix.

Incorrect S3 Region

Update the configured S3 region so that it matches the bucket’s actual region.

IAM Identity Center Not Found

  • Verify the Identity Store ID.
  • Confirm the IAM Identity Center home region.
  • Remember that the Identity Center and S3 bucket can use different regions.

Access Denied to Identity Store

Confirm that the IAM role has the required read-only Identity Store permissions, including access to retrieve and describe users.

No Amazon Q Data Appears

  • Confirm that Amazon Q Developer user activity reports are enabled.
  • Verify that reports exist under the configured S3 path.
  • Confirm that the S3 path matches the Amazon Q report location.
  • Allow time for the daily report and LinearB processing cycle.
  • Verify that users can be resolved through the configured Identity Store.
  • Confirm that the integration appears under Connected without an error indicator.

Known Limitations

  • Data availability depends on the Amazon Q Developer reports present in the configured S3 path.
  • Amazon Q reporting is updated daily, not in real time.
  • Available metrics depend on the data returned through the AWS reports.
  • Model, token, and estimated-consumption data is not currently available.
  • Saving any edit regenerates the External ID and requires an updated IAM Trust Policy.

How did we do?

Choose a GitHub Copilot connection

Connect Claude Code using OpenTelemetry

Contact