如何在 github 操作中获取拉取请求中的文件列表

ita*_*atL 5 github github-actions

我正在尝试设置一个 github 操作,该操作将根据更改中的文件名称自动请求审阅者。例如,如果差异包含一个*.sql文件,我想请求特定人员进行审核,对于其他文件扩展名也是如此。

我开始在市场上执行此操作: https: //github.com/marketplace/actions/auto-assign-action。我认为最好的方法是使用条件,例如:

name: 'DB Review'
on: pull_request

jobs:
  add-reviews:
    runs-on: ubuntu-latest
    steps:
      - uses: kentaro-m/auto-assign-action@v1.0.1
        if: "{{ contains(github.files, '.sql') }}"
        with:
          repo-token: "${{ secrets.GITHUB_TOKEN }}"
Run Code Online (Sandbox Code Playgroud)

不幸的是,这个神奇的差异列表似乎不存在:https://help.github.com/en/actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for- github-actions#github-context,所以我希望得到一些其他建议。

sma*_*c89 4

一种选择可能是使用pull_requests.paths过滤器,并在打开您想要处理的拉取请求时为每种文件类型创建一个新的工作流程,以及可以处理它们的人员。

例如:

on:
  pull_request:
    types: [opened]
    paths:
    - '**.sql'

jobs:
  add-sql-reviews:
    runs-on: ubuntu-latest
    steps:
      - uses: kentaro-m/auto-assign-action@v1.0.1
        with:
          repo-token: "${{ secrets.GITHUB_TOKEN }}"
          configuration-path: ".github/auto_assign_sql.yml"
Run Code Online (Sandbox Code Playgroud)

现在,您为要支持的每个文件模式组创建此工作流,并配置每个任务中的审阅者。