-
Notifications
You must be signed in to change notification settings - Fork 0
Add weekly changelog job #64
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
Conversation
There was a problem hiding this 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 a new automated weekly changelog generation feature that uses OpenAI to create customer-facing summaries of completed issues. The changelog is generated from completed bugs, new features, and technical changes from the past week and posted to Slack.
Key changes:
- Added OpenAI integration for generating natural language changelogs from issue data
- Extended Linear API queries to fetch issue descriptions and comments for better context
- Implemented scheduled weekly changelog job that runs on Thursdays at 19:00 UTC
Reviewed Changes
Copilot reviewed 4 out of 6 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| openai_client.py | New OpenAI client wrapper for generating chat completions |
| linear.py | Extended GraphQL query to include issue descriptions and comments |
| jobs.py | Added post_weekly_changelog job with OpenAI integration and scheduling |
| README.md | Added OPENAI_API_KEY environment variable documentation |
Comments suppressed due to low confidence (1)
openai_client.py:11
- The parameter name 'input' shadows the built-in Python function. Consider renaming to 'user_input' or 'prompt'.
def get_chat_completion(instructions, input, model="gpt-4o", temperature=0.2):
| """Return the assistant message from an OpenAI responses API call.""" | ||
| resp = _client.responses.create( |
Copilot
AI
Jul 17, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The OpenAI API method should be 'chat.completions.create' not 'responses.create'. The responses API is for structured outputs, not chat completions.
| """Return the assistant message from an OpenAI responses API call.""" | |
| resp = _client.responses.create( | |
| """Return the assistant message from an OpenAI chat.completions API call.""" | |
| resp = _client.chat.completions.create( |
| input=input, | ||
| temperature=temperature, | ||
| ) | ||
| return resp.output_text.strip() |
Copilot
AI
Jul 17, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The response object should use 'choices[0].message.content' instead of 'output_text' for chat completions API.
| return resp.output_text.strip() | |
| return resp.choices[0].message.content.strip() |
| else: | ||
| schedule.every(1).days.at("12:00").do(post_priority_bugs) | ||
| schedule.every().friday.at("20:00").do(post_leaderboard) | ||
| schedule.every().thursday.at("19:00").do(post_weekly_changelog) |
Copilot
AI
Jul 17, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR description mentions scheduling for Fridays at 20:00 UTC but the code schedules for Thursday at 19:00. This inconsistency should be resolved.
| schedule.every().thursday.at("19:00").do(post_weekly_changelog) | |
| schedule.every().friday.at("20:00").do(post_weekly_changelog) |
Summary
get_completed_issuespost_weekly_changelogjobTesting
flake8 *.py(fails: command not found)python -m py_compile jobs.py linear.py app.pyhttps://chatgpt.com/codex/tasks/task_e_6877bb2b011c8324b9788745ae0cbbf3