-
Notifications
You must be signed in to change notification settings - Fork 927
feat: Webhook chat #2535
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
feat: Webhook chat #2535
Conversation
Summary of ChangesHello @PierrickVoulet, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a new set of examples for interacting with Google Chat using incoming webhooks. It provides Python scripts that illustrate how to send basic messages and manage message threading within Chat spaces, accompanied by a clear guide and required dependencies. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
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.
Code Review
This pull request introduces a new solution for sending messages to Google Chat via webhooks. It includes two Python example scripts, one for sending a simple message and another for replying within a thread. While the examples are helpful, they both contain a critical security vulnerability by hardcoding webhook URLs. My review provides suggestions to load these URLs from environment variables instead, which is a crucial security best practice to prevent exposing sensitive credentials.
|
|
||
| def main(): | ||
| """Google Chat incoming webhook quickstart.""" | ||
| url = "https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?key=KEY&token=TOKEN" |
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.
Hardcoding secrets, such as webhook URLs, is a critical security risk. It can lead to accidental exposure of credentials if the code is committed to version control. It is strongly recommended to load sensitive information from environment variables. You will need to add import os at the top of your file for this suggestion to work.
url = os.environ.get("GOOGLE_CHAT_WEBHOOK_URL")
if not url:
raise SystemExit("GOOGLE_CHAT_WEBHOOK_URL environment variable must be set.")|
|
||
| def main(): | ||
| """Google Chat incoming webhook that starts or replies to a message thread.""" | ||
| url = "https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?key=KEY&token=TOKEN&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD" |
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.
Hardcoding secrets, such as webhook URLs, is a critical security risk. It can lead to accidental exposure of credentials if the code is committed to version control. It is strongly recommended to load sensitive information from environment variables. You will need to add import os at the top of your file for this suggestion to work. The environment variable should contain the full webhook URL, including the messageReplyOption parameter.
url = os.environ.get("GOOGLE_CHAT_WEBHOOK_URL")
if not url:
raise SystemExit("GOOGLE_CHAT_WEBHOOK_URL environment variable must be set.")
No description provided.