Skip to content

Conversation

MrManny
Copy link
Collaborator

@MrManny MrManny commented Aug 21, 2025

This pull request introduces new documentation and improves test robustness for release and changelog processes, as well as for the Dynatrace client authentication logic. The main changes are grouped into documentation enhancements and test improvements.

Documentation enhancements:

  • Added .github/instructions/changelog.instructions.md to provide clear style and content guidelines for changelog entries, ensuring consistency and user-focused release notes.
  • Introduced .github/prompts/release.prompt.md with step-by-step instructions for preparing a release, including changelog management and versioning best practices.

Test improvements:

  • Updated Dynatrace client authentication tests in src/authentication/dynatrace-clients.test.ts to use a flexible regular expression for matching the User-Agent header, making tests more robust to platform variations. [1] [2]

The change in the unrelated test was required to allow me to commit this in my Windows-based environment.

@MrManny MrManny linked an issue Aug 21, 2025 that may be closed by this pull request
@MrManny MrManny requested a review from Copilot August 21, 2025 08:22
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds documentation and tooling to standardize the release process and changelog management for the Dynatrace MCP Server project. The changes focus on establishing clear guidelines for release preparation and changelog writing to ensure consistency across future releases.

Key changes:

  • Added comprehensive changelog style and content guidelines with user-focused writing patterns
  • Introduced step-by-step release preparation instructions for maintainers
  • Fixed test robustness by using regex matching for User-Agent headers to handle platform variations

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
.github/instructions/changelog.instructions.md Comprehensive guidelines for changelog formatting, content, and writing patterns
.github/prompts/release.prompt.md Step-by-step release preparation workflow for maintainers
src/authentication/dynatrace-clients.test.ts Updated User-Agent header tests to use flexible regex matching for cross-platform compatibility

@MrManny
Copy link
Collaborator Author

MrManny commented Aug 21, 2025

Do you have a recommendation where I should note how to use this? README?

@MrManny MrManny marked this pull request as draft August 21, 2025 08:23
@MrManny MrManny self-assigned this Aug 21, 2025
@MrManny MrManny added the documentation Improvements or additions to documentation label Aug 21, 2025
@MrManny
Copy link
Collaborator Author

MrManny commented Aug 21, 2025

Additional Q: should I let Copilot rewrite the old changelog entries? We don't need to keep the re-written version, but it's probably a good check to see how Copilot would (re-)write it in the future.

@christian-kreuzberger-dtx
Copy link
Collaborator

Additional Q: should I let Copilot rewrite the old changelog entries? We don't need to keep the re-written version, but it's probably a good check to see how Copilot would (re-)write it in the future.

I'm 50:50 on whether or not to do that... I don't see much benefit, but I also don't see a risk of doing it...

@christian-kreuzberger-dtx
Copy link
Collaborator

Do you have a recommendation where I should note how to use this? README?

maybe a section # Releasing in the readme, which states how to use it with the /release prompt, and links to the markdown file?

@MrManny MrManny force-pushed the 116-copilot-supported-release-helpers branch 3 times, most recently from 18b0fa3 to 92e949f Compare August 21, 2025 10:40
@MrManny
Copy link
Collaborator Author

MrManny commented Aug 21, 2025

Additional Q: should I let Copilot rewrite the old changelog entries? We don't need to keep the re-written version, but it's probably a good check to see how Copilot would (re-)write it in the future.

I'm 50:50 on whether or not to do that... I don't see much benefit, but I also don't see a risk of doing it...

To clarify, I wanted to run this to show how the Copilot-generated rewrites would look like. I have no strong opinion for applying it retroactively. We can do it, or we leave it as it is.

Coming to think of it, I don't need to "demo" this with a throwaway changelog file. I can just attach it here 😅

Example (ran prompt with Claude Sonnet 4):


@dynatrace-oss/dynatrace-mcp-server

Unreleased Changes

  • Added streamable HTTP transport support enabling server mode operation with configurable host and port settings while maintaining backward compatibility with stdio transport

0.5.0 (Release Candidate 3)

  • Enhanced list_vulnerabilities tool with DQL-based queries for improved performance and consistency with problem listing capabilities
  • Removed get_vulnerability_details tool as vulnerability details can now be retrieved using the more flexible execute_dql tool
  • Removed unnecessary environment-api:security.problems:read scope reducing required permissions
  • Introduced comprehensive AI-Powered Observability Workshop Rules featuring hierarchical workflow architecture for enhanced analysis capabilities
  • Enhanced documentation with advanced observability patterns including incident response workflows, security compliance checks, and DevOps automation guides
  • Added multi-phase incident investigation support enabling cross-data source correlation and precise root cause identification
  • Optimized rule structure for LLM compatibility with all files sized under 6,500 tokens for efficient context processing
  • Added integration guides for major AI assistants including Amazon Q, Cursor, Windsurf, Cline, and GitHub Copilot
  • Enhanced example prompts with sophisticated analysis scenarios covering transaction monitoring, security assessment, and DevOps workflows
  • Removed unused OAuth scopes environment-api:slo:read and environment-api:metrics:read streamlining authentication requirements
  • Improved execute_dql tool documentation removing metrics fetch examples and clarifying optimal usage patterns
  • Enhanced find_entity_by_name tool to discover all monitored entities from the complete smartscape topology
  • Optimized get_monitored_entity_details tool performance through direct entity type lookup mechanisms

0.5.0 (Release Candidate 2)

  • Enhanced list_problems tool with DQL-based data retrieval providing richer problem context and actionable next steps
  • Removed get_problem_details tool as problem information is now accessible through the more versatile execute_dql tool
  • Removed unnecessary environment-api:problems:read scope simplifying OAuth permission requirements

0.5.0 (Release Candidate 1)

  • Added Platform Token authentication support via DT_PLATFORM_TOKEN environment variable enabling simplified credential management
  • Introduced Davis CoPilot integration tools for natural language to DQL translation capabilities
  • Added interactive Davis CoPilot chat functionality for conversational observability assistance

0.4.0

  • Enhanced authentication system with fine-grained OAuth scoping for improved security and tool-specific permissions
  • Fixed missing storage:security.events:read scope enabling proper access to security event data via DQL queries

0.3.0

  • Added version information display on server startup for better debugging and support capabilities
  • Defined custom HTTP user-agent for dynatrace-mcp-server improving request traceability and monitoring

0.2.0

  • Added get_entity_by_name tool enabling entity discovery through natural name-based searches
  • Enhanced execute_dql tool with improved error handling and clearer usage documentation
  • Strengthened Dynatrace Environment URL validation preventing common configuration errors

0.1.4

  • Improved authentication error handling providing clearer feedback for credential and connection issues

0.1.3

  • Enhanced authentication mechanism reliability with better error recovery and user guidance

0.1.2

  • Fixed missing storage:events:read scope ensuring proper access to event data for comprehensive monitoring

0.1.1

  • Maintenance release with minor improvements and stability enhancements

0.1.0

  • Initial release providing core MCP server functionality for Dynatrace integration

@MrManny MrManny force-pushed the 116-copilot-supported-release-helpers branch from 92e949f to fa45cbf Compare August 21, 2025 10:53
@MrManny MrManny marked this pull request as ready for review August 21, 2025 13:33
Copy link
Collaborator

@christian-kreuzberger-dtx christian-kreuzberger-dtx left a comment

Choose a reason for hiding this comment

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

LGTM

@christian-kreuzberger-dtx
Copy link
Collaborator

Example changelog looks nice, your instructions also look good - so let's take it

@MrManny
Copy link
Collaborator Author

MrManny commented Aug 22, 2025

Neat, thank you!

As far as I am concerned, prompt files and instructions are living documents anyhow. We can (and should) revise them as we go. I'll refrain from including the rephrased changelog in this PR though.

Edit: somebody else will have to merge this though, I am not authorized.

@christian-kreuzberger-dtx christian-kreuzberger-dtx force-pushed the 116-copilot-supported-release-helpers branch from fa45cbf to 05dfb85 Compare August 26, 2025 09:21
@christian-kreuzberger-dtx christian-kreuzberger-dtx merged commit 39dad54 into dynatrace-oss:main Aug 26, 2025
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Copilot supported release helpers
2 participants