首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在github工作流中设置和访问下一步python代码的响应

如何在github工作流中设置和访问下一步python代码的响应
EN

Stack Overflow用户
提问于 2021-10-13 22:16:59
回答 1查看 32关注 0票数 2

如何在github工作流中设置和访问python代码对变量的响应。我必须使用从Auth_Header中的创建容器web步骤中的python代码生成的令牌

代码语言:javascript
复制
- name: setup python
    uses: actions/setup-python@v2
    with:
      python-version: '3.9.0'

  - name: Get Token
    run: |
      python -m pip install --upgrade pip
      pip install requests-oauthlib
      pip install Authlib
      python -c 'from authlib.integrations.requests_client import OAuth2Session;
      session = OAuth2Session("${{ env.CLIENT_ID }}", "${{ env.CLIENT_SECRET }}")
      session.fetch_token("${{ env.TOKEN_ENDPOINT }}")
      session.token["access_token"]'

  - name: Create Container Web
      #if: steps.pr-label.outputs.result == 'true'
    run: |
        AUTH_HEADER="Authorization: token $access_token"

到目前为止,我已经尝试了下面的方法,但仍然不起作用

代码语言:javascript
复制
- name: Get Token
        env:
          ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
        run: |
          python -m pip install --upgrade pip
          pip install requests-oauthlib
          pip install Authlib
          echo ::set-env name=ACCESS_TOKEN::$(python -c 'from authlib.integrations.requests_client import OAuth2Session;
          session = OAuth2Session("${{ env.CLIENT_ID }}", "${{ env.CLIENT_SECRET }}")
          session.fetch_token("${{ env.TOKEN_ENDPOINT }}")
          session.token["access_token"]')
        id: token

      - name: Create Container Web
          #if: steps.pr-label.outputs.result == 'true'
        run: |
            echo token is ${{ env.ACCESS_TOKEN }}
            AUTH_HEADER="Authorization: token ${{ env.ACCESS_TOKEN }}"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-13 22:46:28

您可以使用::set-output设置输出,然后在下一步使用steps.[id].outputs.ACCESS_TOKEN获取此输出

代码语言:javascript
复制
name: Token

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Get Token
        env:
          ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
        run: |
          python -m pip install --upgrade pip
          pip install requests-oauthlib
          pip install Authlib
          echo ::set-output name=ACCESS_TOKEN::$(python 'from authlib.integrations.requests_client import OAuth2Session;
          session = OAuth2Session("${{ env.CLIENT_ID }}", "${{ env.CLIENT_SECRET }}")
          session.fetch_token("${{ env.TOKEN_ENDPOINT }}")
          print(session.token["access_token"])')
        id: token
      - name: Create Container Web
        run: |
            echo token is ${{ steps.token.outputs.ACCESS_TOKEN }}
            AUTH_HEADER="Authorization: token ${{ steps.token.outputs.ACCESS_TOKEN }}"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69562982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档