-
Notifications
You must be signed in to change notification settings - Fork 0
DEVX-35 feat: Add automated AI-powered release notes generation and Notion documentation #34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Integrated OpenAIGenerator for generating AI-powered release notes. - Added Notion support to document release notes with generated content.
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||||
Co-authored-by: qodo-merge-pro[bot] <151058649+qodo-merge-pro[bot]@users.noreply.github.com>
Co-authored-by: qodo-merge-pro[bot] <151058649+qodo-merge-pro[bot]@users.noreply.github.com>
User description
Description
Integrated AI-powered release notes generation using the new
OpenAIGeneratorclass, leveraging the OpenAI API.Added automated documentation of release notes in Notion via the new
DocumentationNotionclass, including detailed issue metadata.Expanded Linear GraphQL client models, enums, and queries to support richer issue, project, customer, and notification data.
Updated deploy flow to generate AI release notes, document them in Notion, and include the Notion URL in Slack deploy messages.
Added new configuration settings for Notion and OpenAI integration.
Updated dependencies to include
notion-clientandopenai.Improved Slack messaging to link directly to Notion release notes.
Marked the documentation directory as a Python package.
Changes walkthrough 📝
11 files
input_types.py
Major expansion of Linear GraphQL input types and models for broaderAPI coveragesrc/release_helper/issue_management/linear/graphql_client/input_types.py
GraphQL API types, especially for customers, initiatives, projects,
and issues.
options (e.g., for customers, issues, projects).
filtering/sorting.
capabilities.
__init__.py
Update Linear GraphQL client exports for new API types and modelssrc/release_helper/issue_management/linear/graphql_client/init.py
models reflecting the expanded Linear GraphQL API.
API support.
main.py
Integrate AI release notes generation and Notion documentation indeploy flowsrc/release_helper/main.py
deployment.
Notion with generated content.
documentation, and to pass Notion URL to Slack deploy message.
issue.py
Enhance Issue models with labels, project, and additional fieldssrc/release_helper/issue_management/linear/graphql_client/issue.py
priority_label, created_at, completed_at, labels, and project.
IssueIssueProject for richer issue data.
slack.py
Add Notion release notes link to Slack deploy messagesrc/release_helper/messaging/slack.py
release notes.
notes.
client.py
Expand issue GraphQL query to fetch labels, project, and more fieldssrc/release_helper/issue_management/linear/graphql_client/client.py
description, priority, priorityLabel, createdAt, completedAt, labels,
and project.
settings.py
Add Notion and OpenAI settings for documentation and AI integrationsrc/release_helper/settings.py
and AI features.
sections.
queries.graphql
Expand Issue GraphQL query to include labels and project detailssrc/release_helper/issue_management/linear/queries.graphql
priorityLabel, createdAt, completedAt, labels, and project (with
initiatives).
openai_generator.py
Add OpenAIGenerator class for AI-powered release notes generationsrc/release_helper/documentation/openai_generator.py
OpenAIGeneratorclass for generating AI-poweredrelease notes.
releases.
prompt construction.
notion.py
Add DocumentationNotion class for automated Notion release notessrc/release_helper/documentation/notion.py
DocumentationNotionclass for creating release notes pagesin Notion.
structures.
priority, labels, project, description).
enums.py
Expand and update Linear GraphQL enums for broader schema supportsrc/release_helper/issue_management/linear/graphql_client/enums.py
GraphQL schema.
statuses, semantic search, and more.
IntegrationService,UserRoleType,ViewType).and project management.
1 files
__init__.py
Make documentation directory a Python packagesrc/release_helper/documentation/init.py
Python package.
1 files
pyproject.toml
Add dependencies for Notion and OpenAI integrationpyproject.toml
notion-clientandopenaias new dependencies.httpxversion requirement.1 files