需分别完成github代码审查流程实操与weather api集成:一、配置branch protection强制pr审查;二、启用codeql代码扫描;三、注册openweathermap获取api key;四、用curl验证接口连通性;五、配置github action定时推送天气。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在团队协作中提升代码质量,同时实现天气信息的自动化推送,则需要分别完成 GitHub 代码审查流程的实操验证与 Weather API 的集成配置。以下是具体执行步骤:
一、配置 GitHub Pull Request 审查规则
通过 GitHub 的 Branch Protection Rules 可强制要求至少一名协作者批准 PR 后才能合并,从而保障代码变更经过人工核验。该机制依赖仓库管理员权限及明确的审查者指定策略。
1、进入目标仓库主页,点击 Settings 选项卡。
2、在左侧边栏选择 Branches,点击 Add rule 按钮。
3、在 Branch name pattern 中填写 main 或对应受保护分支名。
4、勾选 Require pull request reviews before merging 选项。
5、在 Dismiss stale pull request approvals when new commits are pushed 前打勾。
6、点击 Create 保存规则。
二、安装并启用 GitHub Code Scanning 动态分析
利用 GitHub Advanced Security 内置的 CodeQL 分析引擎,可在每次推送后自动扫描潜在漏洞与编码缺陷,无需额外部署服务器。
1、进入仓库 Settings > Security & analysis。
2、在 Code scanning alerts 区域点击 Enable。
3、在 Actions 页签中确认 workflow 文件 .github/workflows/codeql-analysis.yml 已存在且未被禁用。
4、手动触发一次 workflow:点击 Actions > CodeQL Analysis > Run workflow。
5、等待约 2–5 分钟后查看 Security > Code scanning alerts 页面是否生成告警项。
三、注册 OpenWeatherMap 并获取 API Key
OpenWeatherMap 提供免费层级的天气数据接口,需注册账户并激活 API Key 才能发起 HTTP 请求。该 Key 是后续所有天气调用的身份凭证,必须保密。
1、访问 https://home.openweathermap.org/users/sign_up 完成邮箱注册。
2、登录后点击 API Keys 标签页。
3、在 Default key 行右侧点击 Copy 按钮复制密钥字符串。
4、将该密钥粘贴至本地环境变量文件(如 .env)中,键名为 OPENWEATHER_API_KEY。
四、使用 curl 命令行验证天气接口连通性
在不依赖任何编程语言的前提下,直接通过终端调用 OpenWeatherMap 的 Current Weather Data 接口,确认基础通信链路正常。
1、打开终端,输入以下命令(替换 YOUR_CITY 为城市英文名,如 Shanghai):
2、curl "https://api.openweathermap.org/data/2.5/weather?q=YOUR_CITY&appid=YOUR_API_KEY&units=metric"
3、检查返回 JSON 中是否包含 main.temp 字段及数值。
4、若响应状态码为 200 且含 temperature 数据,则接口可用。
五、配置 GitHub Action 自动化天气推送任务
借助 GitHub Actions 的定时触发能力(schedule),可每日固定时间拉取天气数据并通过 GitHub Issue 或 Slack webhook 推送结果,形成轻量级通知系统。
1、在仓库根目录创建 .github/workflows/weather-daily.yml 文件。
2、写入 YAML 内容,包含 on.schedule cron 表达式(如 '0 7 * * *' 表示每天 7:00 UTC 执行)。
3、jobs.run.steps 中添加 run 指令,使用 curl 调用 OpenWeatherMap 接口并解析 temperature 和 weather.main 字段。
4、在最后一步使用 github-script 操作,调用 github.issues.create 方法发布新 Issue,标题为 【Daily Weather】{city} {date}。
5、提交该 workflow 文件至 main 分支,Actions 即刻启用定时任务。











