当前位置: 首页 > 知识库问答 >
问题:

从Azure DevOps Yaml管道中Python脚本任务内的变量组访问变量

孟祯
2023-03-14

我正在Azure DevOps Yaml管道中使用类型为“file”的Python脚本任务。我需要使用在Python文件的变量组中定义的变量。以下是我在Azure devops yaml管道上的任务。

  - task: PythonScript@0
    displayName: 'Run a Python script'
    inputs:
      scriptPath: 'pythonTest.py'

有没有关于如何实现这一目标的建议?

谢谢!

共有1个答案

郑星辰
2023-03-14

您需要使用参数将变量传递给脚本,当然您需要引用变量组:

variables:
- group: variableGroup

steps:
  - task: PythonScript@0
    displayName: 'Run a Python script'
    inputs:
      scriptPath: 'pythonTest.py'
      arguments: --variableInScript $(variableInVariableGroup)

然后在脚本中使用“argparse”。

https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/python?view=azure-devops#run-python-scripts

如果您使用的是内联脚本,您可以这样做:

- task: PythonScript@0
  inputs:
    scriptSource: 'inline'
    script: |
      print('variableInVariableGroup: $(variableInVariableGroup)')
 类似资料:
  • 我必须从我的 Groovy 脚本访问一个环境变量。我没有使用詹金斯。如何获取变量?

  • 我可以将类实例声明为全局实例,如下所示: 但是如果管道调用“vars”目录中定义为groovy脚本的函数,不再可见 我也尝试使用@Field,但它并没有改变什么。请注意,所有管道都是在共享库中定义的(jenkinsfile项目只调用此共享库中的一个函数)。 在本例中,如何从/vars中的groovy脚本访问gitUtils? 我知道我们可以将该实例作为/vars中声明的函数的参数传递,但使用实用类

  • 我正在尝试使用groovy构建脚本将构建管道迁移到“管道插件”。 我的管道通常是: 测试(梯度) 我想在我的jenkins构建脚本中使用像version/group等的gradle变量来发布到artiFactory中的正确文件夹中。这是artiFactory插件过去会为我处理的事情。如何实现? 对于单个gradle项目,我使用如下内容:

  • 我有以下几种: 我想调用倒计时方法: 不同物品约10次 方法: 如果调用此方法,则会出现错误: 变量从内部类中访问 我不想将变量设置为final,因为我必须在方法中编辑这些变量。我能做些什么呢?谢谢

  • 我正在使用位于git存储库中的Jenkins文件。我已经使用来自scm的管道脚本配置了新作业,该脚本指向我的JenkinsFile。我试图在我的Jenkins file pipeline脚本中使用git模块,以便从我的git repo中提取我的数据,而不需要配置prestatic变量,并且仅仅使用在我的作业中已经配置的scm pipeline脚本下的存储库URL变量。在我的Jenkins管道脚本中

  • 我试图使用jobDSL插件中的pipelineJob函数生成Jenkins管道,但是无法将参数从DSL传递到管道脚本。我有几个项目使用本质上相同的Jenkinsfile,只是在几个步骤上有所不同。我正在尝试使用JobDSL插件动态生成这些管道,并解释其中我想要更改的值,以匹配DSL的参数。 我已经在管道脚本和DSL中尝试了几乎所有可能的字符串解释组合,但无法获得Jenkins /groovy来解释