Py学习  »  Git

GitHub将问题正文解析为文件,并提取变量的特定行

Raghu • 7 月前 • 173 次点击  

需要工作流将GitHub Issue body作为一个文件读取并逐行解析,以从Issue body中获取包名称和版本,并存储在两个不同的变量中,并将这两个变量复制到json格式的package.json文件中。

问题如下:

Issue to pull husky package #1

Package Name
husky

Package Version
4.3.8

Purpose
test-purpose

Maintainer Team
abc

现在,从上面的Issue主体,在获得评论部分的“/approve”后,将触发工作流来安装所需的NPM包

尝试根据以下评论打印问题正文:

name: check_issue_approval
on:
  issue_comment:
    types: [opened, edited]

env:
  PKG_VER: ${{ github.event.issue.title }}
  
jobs:
 check_issue_approval:
    runs-on: ubuntu-latest
    if: contains(github.event.comment.body, '/approve')
    outputs: 
      approved: ${{ steps.check-approval.outputs.approved }}
    
  steps:
   - name: Check required package
     run: |
        while IFS="" read -r line ||  [ -n "$line" ]
          echo "Checking $BODY file for the required package and version"
           do
              # cat "$BODY" > "$line"
              if ( "$line" eq "Package Name" )
                then
                    echo "$line"
              fi
           done <"$BODY" 
  env:
    BODY: ${{ github.event.issue.body }}

   - name: Install and Upload required NPM package from Issue into Jfrog Artifactory
        run: |
           T="${{ env.PKG_VER }}"  # T means Issue Title
           S="${T##* }"
           IFS=','
           read -ra arr <<< "$S"
           for val in "${arr[@]}";
           do
             printf "name = $val\n"
             npm install --registry local-registry "$val"
           done 

我可以打印完整的问题正文,但无法仅获取包名称和版本,因为它们位于不同的行中,以将它们存储在单独的变量中,并且可以在命令中将它们用作输入变量,如: npm i $first@$second 意思 npm i husky@4.3.8

请让我知道如何从问题正文中仅获得作为单独变量的pkg名称和版本。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/161188
 
173 次点击  
文章 [ 1 ]  |  最新文章 7 月前