Skip to content

Conversation

WriteMayur
Copy link
Contributor

This PR restructure and updates the change tracking documentation for its GA release.

@WriteMayur WriteMayur self-assigned this Sep 14, 2025
@WriteMayur WriteMayur added content requests related to docs site content from_tw Identifies issues/PRs from Tech Docs writers labels Sep 14, 2025
Copy link

Hi @WriteMayur 👋

Thanks for your pull request! Your PR is in a queue, and a writer will take a look soon. We generally publish small edits within one business day, and larger edits within three days.

Please ensure the propsed changes look good by building it first in your local environment. Refer to this contribution guide to get the site up and running in your local.

If you really require a preview url, reach out to one of the writers and they will generate one for you.

@WriteMayur
Copy link
Contributor Author

netlify build

Copy link

github-actions bot commented Sep 15, 2025

🚀 Netlify Preview Building!

If the build is successful, the preview for this pull request will be available at the following URL (usually takes 10-20 minutes):

https://ga-changetracking--docs-website-netlify.netlify.app

@WriteMayur
Copy link
Contributor Author

netlify build

@WriteMayur
Copy link
Contributor Author

netlify build

@WriteMayur
Copy link
Contributor Author

netlify build

@WriteMayur
Copy link
Contributor Author

netlify build

@WriteMayur
Copy link
Contributor Author

netlify build

@WriteMayur
Copy link
Contributor Author

netlify build

---


Modern applications change frequently through deployments, feature flags, configuration updates, and operational modifications. When performance issues occur, teams struggle to identify which recent changes caused the problem.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should be "which recent change" or "which of the recent changes"

* **Flexible integration**: Configure via APIs, CLI, or CI/CD pipeline integrations such as GitHub Actions and Jenkins

<Video
id="ikRUKJf7hyU"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This video is three years old and is quite outdated. The UI and functionality has changed significantly since then.


<Step>

### Configure the change tracking [#setup]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Configure the change tracking [#setup]
### Configure change tracking [#setup]


* Use [NRQL](/docs/change-tracking/query-data#use-nrql) and [NerdGraph](/docs/change-tracking/query-data#use-graphql) to build custom analysis and dashboards.

* You can use the [webhooks to send or receive change event](/docs/change-tracking/change-tracking-webhooks) notifications to your teams.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* You can use the [webhooks to send or receive change event](/docs/change-tracking/change-tracking-webhooks) notifications to your teams.
* You can use [webhooks to send change event](/docs/change-tracking/change-tracking-webhooks) notifications to your teams.


The change tracking feature allows you to track the effect of various changes on your customers and systems. For example, if you make some deployments, you can use the change tracking feature to monitor the results in New Relic UI charts. You'll also get access to features that help you understand the effects of those changes.

Instead of designating which changes you want to monitor by using our CLI or a CI/CD integration, you can do the same thing using GraphQL mutations and queries via our NerdGraph API.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Queries aren't used for creation.

Suggested change
Instead of designating which changes you want to monitor by using our CLI or a CI/CD integration, you can do the same thing using GraphQL mutations and queries via our NerdGraph API.
Instead of designating which changes you want to monitor by using our CLI or a CI/CD integration, you can do the same thing using GraphQL mutations via our NerdGraph API.

The `timestamp` attribute shows when a NerdGraph call was received. You can modify it by specifying the number of milliseconds since the Unix epoch. For example: `timestamp: 1032480000000`.

<Callout variant="important">
Timestamps must applied within +/- 24 hours of the current time when the NerdGraph call is made, or the payload will be rejected.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Timestamps must applied within +/- 24 hours of the current time when the NerdGraph call is made, or the payload will be rejected.
Provided timestamps must be within +/- 24 hours of the current time when the NerdGraph call is made, or the payload will be rejected.

String
</td>
<td>
The `changeTrackingId` is a unique identifier generated when a change is recorded. You can use this ID in NerdGraph and NRQL queries to identify specific changes. For example: `changeTrackingId: "8a3a594c-e726-4bc2-8078-26dffec9a3d8"`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The `changeTrackingId` is a unique identifier generated when a change is recorded. You can use this ID in NerdGraph and NRQL queries to identify specific changes. For example: `changeTrackingId: "8a3a594c-e726-4bc2-8078-26dffec9a3d8"`.
The `changeTrackingId` is a unique identifier generated when a change is recorded. You can use this ID in NerdGraph and NRQL queries to identify specific changes. For example: `changeTrackingId = '8a3a594c-e726-4bc2-8078-26dffec9a3d8'`.

id="optional-mutation-example"
title="Mutation with optional fields"
>
```graphql
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we finally fix the auto-highlighting of the word type for GraphQL formatted queries? I don't think this is ever appropriate.

Cursor_and_Track_changes_using_NerdGraph___New_Relic_Documentation

While you can designate which changes you want to monitor by using GraphQL or a CI/CD integration, you can also use our CLI to do the same thing. If you use the CLI to designate the changes you want to monitor, you can run either a [GraphQL query](#list-with-graphql) or execute an [NRQL query](/docs/change-tracking/change-tracking-graphql#key-signals) against the New Relic database to retrieve a list of those changes.
While you can designate which changes you want to monitor by using GraphQL or a CI/CD integration, you can also use our CLI to do the same thing. If you use the CLI to designate the changes you want to monitor, you can run either a [GraphQL query](#list-with-graphql) or execute an [NRQL query](/docs/change-tracking/query-data#use-nrql) against the New Relic database to retrieve a list of those changes.

Here's a two-minute overview video, or you can jump right to the steps below.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This video is out of date.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, below, we should probably tell them the minimum version they need for the CLI (which is 0.104.5) rather than telling them they need to upgrade. Also, "upgrade" might make some folks think they are updating to a paid version or something, which they are not.

- NerdGraph
metaDescription: "Here's how to use the New Relic CLI to designate what you want to capture with change tracking."
redirects:
- /docs/change-tracking/change-tracking-cli
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the new CLI commands, here's the output of the --help command:

Usage:
  newrelic changeTracking create [flags]

Examples:
# Deployment event example with complex entity search (shows nested quotes pattern)
newrelic changeTracking create \
  --entitySearch "name = 'MyService' AND type = 'SERVICE'" \
  --category Deployment \
  --type Basic \
  --description "Deployed version 1.2.3 to production" \
  --version "1.2.3" \
  --changelog "https://github.com/myorg/myservice/releases/tag/v1.2.3" \
  --commit "abc123def456" \
  --user "ci-cd-bot"

# Feature Flag event example (shows both nested quote patterns)
newrelic changeTracking create \
  --entitySearch "name = 'MyApp'" \
  --category "Feature Flag" \
  --type Basic \
  --description "Enabled new checkout flow feature flag" \
  --featureFlagId "checkout-flow-v2" \
  --validationFlags FAIL_ON_FIELD_LENGTH \
  --user "product-team"

# Custom category/type example with custom attributes and multiple validation flags (comma-separated style)
newrelic changeTracking create \
  --entitySearch "id = '<Entity GUID>'" \
  --category Operational \
  --type "Maintenance Window" \
  --description "Database maintenance completed" \
  --customAttributes '{cloud_vendor: "vendor_name", region: "us-east-1", isProd: true, instances: 2}' \
  --validationFlags ALLOW_CUSTOM_CATEGORY_OR_TYPE,FAIL_ON_FIELD_LENGTH,FAIL_ON_REST_API_FAILURES \
  --user "ops-team"

# Custom category/type example using repeated --validationFlags style (each flag separately)
newrelic changeTracking create \
  --entitySearch "id = '<Entity GUID>'" \
  --category Operational \
  --type "Maintenance Window" \
  --description "Database maintenance completed" \
  --customAttributes '{cloud_vendor: "vendor_name", region: "us-east-1", isProd: true, instances: 2}' \
  --validationFlags ALLOW_CUSTOM_CATEGORY_OR_TYPE \
  --validationFlags FAIL_ON_FIELD_LENGTH \
  --validationFlags FAIL_ON_REST_API_FAILURES \
  --user "ops-team"

Flags:
      --category string           category of event, e.g., DEPLOYMENT, CONFIG_CHANGE, etc. category is required.
      --changelog string          changelog for the deployment
      --commit string             commit hash for the deployment
      --customAttributes string   custom attributes: use '-' for STDIN, '{...}' for inline JS object, or provide a file path
      --deepLink string           deep link URL for the deployment
      --description string        a description of the event
      --entitySearch string       the NRQL entity search query for this event. Example: name = 'MyService' AND type = 'SERVICE' (required)
      --featureFlagId string      ID of the feature flag
      --groupId string            string that can be used to correlate two or more events
  -h, --help                      help for create
      --shortDescription string   short description for the event
  -t, --timestamp int             the time of the event, the number of milliseconds since the Unix epoch, defaults to now
      --type string               type of event, e.g., BASIC, ROLLBACK, etc. type is required.
      --user string               username of the actor or bot
      --validationFlags strings   comma-separated list of validation flags, e.g. ALLOW_CUSTOM_CATEGORY_OR_TYPE,FAIL_ON_FIELD_LENGTH,FAIL_ON_REST_API_FAILURES
      --version string            version of the deployment

Global Flags:
  -a, --accountId int    the account ID to use. Can be overridden by setting NEW_RELIC_ACCOUNT_ID
      --debug            debug level logging
      --format string    output text format [JSON, Text, YAML] (default "JSON")
      --plain            output compact text
      --profile string   the authentication profile to use
      --trace            trace level logging


* Time range selector for filtering events
* Table sorting and filtering options
* Up to 2,000 changes loaded (adjust time range if needed)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this should be 1,000 changes.

Comment on lines +130 to +143
<Collapser
id="entity-pages"
title="In entity pages"
>


Access the change tracking table from any entity by clicking **Change tracking** in the entity sidebar. This view provides:

* Time range selector for filtering events
* Table sorting and filtering options
* Up to 2,000 changes loaded (adjust time range if needed)


</Collapser>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this not repeating the same information as "Entity-specific view" above?

</tr>
<tr>
<td>Change tracking tables</td>
<td>2,000 events loaded by default</td>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, I think this is 1,000?

Comment on lines +102 to +114
<Collapser
id="deployment-query-3"
title="List transaction details from the past week"
>
```sql
SELECT count(*)
FROM Transaction
WHERE appName = 'INSERT_YOUR_APP_NAME'
FACET name
LIMIT MAX
SINCE 1 week ago TIMESERIES
```
</Collapser>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At a glance, it is unclear to me how this relates to change tracking. I realize it's because it will show the markers, but that's not clear to me from this documentation alone. Maybe we want to mention something that indicates that?

</tr>
<tr>
<td>Change tracking tables</td>
<td>2,000 events loaded by default</td>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As elsewhere, I believe this number should be 1,000

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content requests related to docs site content from_tw Identifies issues/PRs from Tech Docs writers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants