You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行GitHub Actions定时工作流时遭遇Identifier 'github'重复声明错误的求助

执行GitHub Actions定时工作流时遭遇Identifier 'github'重复声明错误的求助

嘿,我来帮你搞定这个问题!你碰到的SyntaxError: Identifier 'github' has already been declared错误,原因其实很直白——在actions/github-script这个Action的运行环境里,github这个变量已经被自动注入可用了,结果你又手动写了const { github } = require('@actions/github');去重新声明它,这不就撞车了嘛😆

具体修复步骤:

  • 首先,直接删掉那行重复声明的代码:把const { github } = require('@actions/github');这一行彻底删除,因为github-script已经为你预加载好了github对象,完全不需要自己再引入一次。
  • 然后,简化你的调用逻辑:既然现成的github对象就在那,直接用它调用方法就行,不需要再通过getOctokit重新创建实例。原来的github.getOctokit(...).actions.createWorkflowDispatch(...)可以直接改成github.actions.createWorkflowDispatch(...),参数部分保留owner、repo这些就没问题。

修复后的完整脚本代码参考:

async function run() {
  try {
    await github.actions.createWorkflowDispatch({
      owner: github.context.repo.owner,
      repo: github.context.repo.repo,
      // 记得补上你之前省略的必要参数,比如工作流ID和分支名
      workflow_id: 'playwright.yml',
      ref: 'main' // 根据你的实际分支调整,比如dev、master等
    });
    console.log('Playwright e2e测试工作流已成功触发!');
  } catch (error) {
    console.error('触发工作流失败:', error);
    throw error;
  }
}

run();

另外你提到playwright.yml能正常运行,这也说得通——因为那个工作流里没有多余的github变量声明操作,自然不会有冲突问题啦。

备注:内容来源于stack exchange,提问作者soccerway

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 09:15:29