我对GitHub的操作非常陌生。试图构建一个工作流,根据最新的标签给我目标目录的列表,我可以将其放入矩阵作业中进行进一步处理(地形应用)。
我的
labeler.yml
具有以下我正在使用的路径
actions/labeler@v4
在我的主pull_request工作流中添加相应的标签,而不会出现任何问题。
dev_us-west-1: env/dev/us-west-1/*
tst_us-west-2: env/tst/us-west-2/*
prd_eu-west-1: env/prd/eu-west-1/*
第二个工作流程:在这里我想获取标签,并在此基础上选择相应的目标目录。下面是我未完成的工作流程,现在可以在JSON数组中获取标签。但是,如何从输出中获取标签名称并循环通过
标签.yml
文件以获取可以用于进一步处理的目录列表?
name: label_target_check
on:
issue_comment:
permissions:
contents: read
pull-requests: write
issues: write
jobs:
help:
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, 'apply') }}
runs-on: ubuntu-latest
steps:
- name: Fetch PR Branch
uses: xt0rted/pull-request-comment-branch@v2
id: comment-branch
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ steps.comment-branch.outputs.head_ref }}
- name: Generate token
uses: tibdex/github-app-token@v1
id: get_installation_token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.PRIVATE_KEY }}
- uses: octokit/request-action@v2.x
id: get_latest_label
with:
route: GET /repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/labels
env:
GITHUB_TOKEN: ${{ steps.get_installation_token.outputs.token }}
- run: "echo labels: '${{ steps.get_latest_label.outputs.data }}'"
问题的标签输出:
[
{
"id": 5447687240,
"node_id": "LA_kwDOJME-rhrtrtjnK1lSA",
"url": "https://api.github.com/repos/MyOrg/MyRepo/labels/dev_us-west-1",
"name": "dev_us-west-1",
"color": "ededed",
"default": false,
"description": null
},
{
"id": 5898781642,
"node_id": "LA_kwDOJME-derhehehK1lSg",
"url": "https://api.github.com/repos/MyOrg/MyRepo/labels/prd_eu-west-1",
"name": "prd_eu-west-1",
"color": "ededed",
"default": false,
"description": null
}
]