添加github webhook以使用openapi-generator

问题描述

嗨,我想知道这种情况是否有可能。

我正在使用带有typescript-axios生成器选项的openapi-generator,并想知道它是否可以按以下方式自动化。

这是我最初的想法。

  1. 创建一个项目并添加脚本以使用openapi-generator生成并编译。 例如)“构建”:“ openapi-generator-cli生成-g typescript-axios -o src -i https://myapi.com/swagger.json && tsc“
  2. 上传到github并添加一个webhook,以便在我们的api项目获得PR或commit时获得通知。
  3. 此Webhook收到通知后,Github动作将触发并生成新的客户端sdk和已编译的lib(脚本编号为1)

我在下面的工作流程中对此感到厌倦,但是已发布的程序包不包含生成的代码。 任何帮助将不胜感激。

name: Node.js Package

on:
  release:
    types: [created]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 12
      - run: npm ci      

  publish-npm:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: https://registry.npmjs.org/
      - run: npm ci
      - run: npm run-script build      
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}

和我的package.json

{
  "name": "my-api-client","version": "1.0.0","description": "Openapi generated typescript-axios client","main": "index.js","scripts": {
    "test": "echo \\\"Error: no test specified\\\" && exit 1","build": "openapi-generator-cli generate -g typescript-axios -o src -i https://myapi.com/swagger.json --type-mappings=DateTime=Date && tsc"
  },"keywords": [
    "typescript-axios","client"
  ],"license": "ISC","dependencies": {
    "axios": "^0.21.0","typescript": "^3.8.3"
  },"devDependencies": {
    "@openapitools/openapi-generator-cli": "^2.0.3","@types/node": "^13.9.0"
  }
}```


Thank you


解决方法

我不小心添加了src和lib文件夹,这就是我发布的软件包不包含那些文件夹的原因。修复.gitignore之后,一切正常。

因此,基本上,我的项目将仅包含package.json,并且每当我创建发布标签时,它都会在Github工作流程之上触发并将新的openapi生成的客户端sdk发布到npm。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...