Apache Airflow Get Workflow Origin 教程
1. 项目目录结构及介绍
在Apache Airflow Get Workflow Origin
项目中,主要的目录和文件如下:
action.yml
: 这是GitHub Action的定义文件,描述了行动的元数据,包括名称、作者、输入参数和执行逻辑。dist/index.js
: 主要运行脚本,该文件是用JavaScript编写的,用于获取工作流的起源信息。- 其他文件如
.gitignore
,LICENSE
,README.md
等提供了版本控制规则、许可协议和项目说明。
项目主要用于当工作流运行时(比如由pull_request
或pull_request_review
事件触发),获取关于源拉取请求的额外信息,例如合并提交或者标签信息。
2. 启动文件介绍
启动文件是dist/index.js
,这是Node.js应用的主要入口点。这个文件实现了GitHub Action的核心功能,即根据提供的sourceRunId
查询与之相关的工作流起源信息。它使用GitHub Actions API来获取这些数据,并将结果作为输出提供给后续的动作。
3. 项目的配置文件介绍
该项目主要依赖于两个输入参数,它们定义在action.yml
中:
token
: 必需的输入,用于身份验证。应当设置为仓库的GITHUB_TOKEN
秘密。sourceRunId
: 也必需,表示触发动作的工作流运行ID。通常,应设置为[[ github.event.workflow_run.id ]]}
变量,以便在workflow_run
触发的运行中处理源工作流而不是触发运行。
此外,配置还包括了执行环境(using: 'node12'
)和品牌设定(icon
和color
),这些都是GitHub Action的组成部分,影响到Action在GitHub界面中的展示。
要在实际环境中使用此Action,您需要在.github/workflows/目录下创建一个YAML文件,将airflow-get-workflow-origin
集成进去,并提供上述的输入参数值。例如:
on:
pull_request:
types: [labeled]
jobs:
get_workflow_origin:
runs-on: ubuntu-latest
steps:
- uses: apache/airflow-get-workflow-origin@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
sourceRunId: ${{ github.event.pull_request.head.sha }}
以上配置会在pull_request
事件且标签被添加时触发,获取对应源代码SHA的工作流起源信息。
请注意,确保在您的GitHub仓库中正确配置secrets
以保护敏感的GITHUB_TOKEN
。