云客户?
免费开始>
在MyJFrog中升级>
云的新功能>





效用函数是内置的shell函数,可分步骤使用它们与运行时环境进行交互。


大多数实用程序函数在Bash (Linux)和Powershell (Windows)操作系统运行时中都可用。

bump_semver

描述

增加所提供的semver版本用给定的动作。

使用

Bump_semver  
  • semver字符串semver版本是否要递增
  • 行动是否应用增量的类型

有效的操作有:

  • major:增加主版本号。次要版本和补丁版本被重置为0。
  • minor:增加次要版本。将补丁版本重置为0。
  • patch:增加补丁版本号。
  • alpha:增加或增加一个α预发布标签。例如,v1.1.1就变成了v1.1.1-alphav1.1.1-alpha就变成了v1.1.1-alpha.1。任何其他预发布标签将被删除。
  • beta:增加或增加一个β预发布标签。例如,v1.1.1就变成了v1.1.1-betav1.1.1-beta就变成了v1.1.1-beta.1。任何其他预发布标签将被删除。
  • rc:增加或添加一个钢筋混凝土预发布标签。例如,v1.1.1就变成了v1.1.1-rcv1.1.1-rc就变成了v1.1.1-rc.1。任何其他预发布标签将被删除。
  • 最后:删除任何预发布标签,离开major.minor.patch
例子

Ubuntu:~$ bump_semver v1.0.0 major
v2.0.0

~$ bump_semver v1.0.0 minor
v1.1.0

Ubuntu:~$ bump_semver v1.0.0补丁
v1.0.1

Ubuntu: $ bump_semver v1.0.0 rc
v1.0.0-rc

Ubuntu:~$ bump_semver v1.0.0-rc
v1.0.0-rc.1

Ubuntu: $ bump_semver v1.0.0 alpha
v1.0.0-alpha

Ubuntu:~$ bump_semver v1.0.0 beta版
v1.0.0-beta

Ubuntu: $ bump_semver v1.0.0-rc最后12
v1.0.0

Ubuntu:~$ bump_semver v1钢筋混凝土
错误:参数中给出的语义版本无效。

Ubuntu:~$ bump_semver v1.0.0 badaction
错误:参数中给出的无效操作。

replace_envs

描述

用基于当前shell的值替换文件中的变量env。例如,这对于从模板创建配置文件很有用。

如果文件包含未在环境中定义的占位符,则它们将变成空字符串(" ")。原始文件被修改后的文件覆盖。

使用

replace_envs   

您的文件在格式中有占位符吗ENVIRONMENT_VARIABLE_NAME美元$ {ENVIRONMENT_VARIABLE_NAME}

例子

replace_envs属性。json部署。json run.json

retry_command

描述

如果任何命令返回非零错误代码,则最多执行三次。例如,当您需要执行可能由于网络中断而不稳定的命令时,这非常有用。

使用

Bash retry_command< shell命令>
PowerShell
retry_command< shell命令>
  • shell命令是否需要重试命令
Bash的例子

retry_commanddocker push mydirectory/myImage

PowerShell的例子

retry_commanddocker push mydirectory/myImage

页面内容

get_uuid

描述

将一个uid放入标准输出。使用/proc/sys/kernel/random/uuid如果可用并回落到uuidgen如果不是。函数调用出口1如果两者都不可用。

使用

Bash get_uuid
Bash的例子

my_uuid = $ (get_uuid)

save_artifact_info

描述

保存关于工件的元数据。保存后,此元数据用于为构件启用已签名的管道。

使用

Bash Save_artifact_info <工件类型> <文件路径>[——build-name <构建名称>——build-number <构建编号>——project-key <项目密钥>]
PowerShell Save_artifact_info [-build-name -build-number -release-bundle-name -release-bundle-version -project-key ]


  • 工件类型:这是工件的类型。要么文件buildInfo,或releaseBundle
  • 文件路径:这要保存的元数据文件的路径。
Bash Powershell

描述

——打造了品牌 打造了品牌

这是构建的名称。当工件类型为时需要buildInfo

——版本号 版本号

这是构建的编号。当工件类型为时需要buildInfo

——release-bundle-name -release-bundle-name

这是发布包的名称。当工件类型为时需要releaseBundle

——release-bundle-version -release-bundle-version

这是发布包的版本。当工件类型为时需要releaseBundle

--项目重点 -项目重点 (可选)默认为环境的project_key。可以指定以保存不同项目的信息。
Bash示例:buildInfo

save_artifact_info 'buildInfo' ./myBuildDetailedSummary. /——build-name myBuild——build-number 42

Bash文件示例

save_artifact_info 'file' './myFileDetailedSummary.json'

PowerShell示例:buildInfo

save_artifact_info buildInfo myBuildDetailedSummary。42 . mysql . json -build-name myBuild -number

PowerShell文件示例

save_artifact_info文件myFileDetailedSummary.json

PowerShell releaseBundle的例子

save_artifact_info releaseBundle myFileDetailedSummary。myBundle -release-bundle-version

validate_artifact

描述

验证工件的签名。要求启用已签名的管道。

使用

Bash Validate_artifact <工件类型> <文件路径>[——build-name <构建名称>——build-number <构建编号>——project-key <项目密钥>]
PowerShell Validate_artifact <工件类型> <文件路径> [-build-name <构建名称> -build-number <构建编号> -project-key <项目密钥>]


  • 工件类型:这是工件的类型。支持buildinfo
  • 文件路径:这要验证的元数据文件的路径。
Bash Powershell 描述
——打造了品牌 打造了品牌

这是构建的名称。当工件类型为时需要buildInfo

——版本号 版本号

这是构建的编号。当工件类型为时需要buildInfo。

--项目重点 -项目重点 (可选)默认为环境的project_key。可指定以验证不同项目的信息。
Bash示例:buildInfo

validate_artifact 'buildInfo' ./myBuildDetailedSummary. /——build-name myBuild——build-number 42

PowerShell示例:buildInfo

validate_artifact buildInfo myBuildDetailedSummary。42 . mysql . json -build-name myBuild -number

configure_jfrog_cli

描述

配置JFrog CLI(版本1或版本2指定为jfrogCliVersion管道配置),处理不同次要版本的不同格式。该步骤的集成部分中列出的人工集成将被自动配置,但这可能对资源有用,或者如果凭据以另一种方式提供给该步骤的话。2022世界杯阿根廷预选赛赛程当使用v2时,也可以使用环境变量JFROG_XRAY_URL指定非默认的x射线URL。

使用

Bash

configure_jfrog_cli——artifactory-url [——xray-url ——user user——apikey ——access-token ——server-name ]

PowerShell

configure_jfrog_cli-artifactory-url [-xray-url -user USER -apikey -access-token -server-name ]

  • artifactory-url:必须的。Artifactory URL。
  • xray-url:可选的。x射线URL。仅与CLI v2配套使用。
  • 用户:用户。当提供API密钥时需要。
  • apikey: API密钥。需要——user,不能与——access-token一起使用。
  • 访问令牌:访问令牌。不能与——access-token或——user一起使用。
  • 服务器名称:默认为默认的。可以指定以该名称配置CLI。


Bash的例子

configure_jfrog_cli——artifactory-urlhttps://my-artifactory.local/artifactory——user me——apikey akcp8jqtdmtfdbkx14mj8whtyv5su5eawffhi2granysttmuyrpra9fgxpfkzi1vfwdjxqyw9r

configure_jfrog_cli——artifactory-urlhttps://my-artifactory.local/artifactory——访问令牌eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJTMmVLcmRLdElWR2JnSTJWbVM2T0NQRDFHYW1ZbVpwSXYtWS1meFN6TFJJIn0.eyJzdWIiOiJqZmZlQDAwMFwvdXNlcnNcL2FkbWluIiwic2NwIjoiYXBwbGllZC1wZXJtaXNzaW9uc1wvYWRtaW4gYXBpOioiLCJhdWQiOiJqZnJ0QCoiLCJpc3MiOiJqZmZlQDAwMCIsImV4cCI6MTYzMDY0NTM1OCwiaWF0IjoxNjMwNjQxNzU4LCJqdGkiOiI5YzcyMjMxOC01ZjBmLTQ1MTEtYTY2Yi1lMzVhMDkyYmFlMWMifQ。yop6a2gmooc9nqcyroxgun_1zs7w7tr5gdbrsfrcuaho66pelidaqxfxmsyzg -server-name myAccessTokenArtifactory

PowerShell的例子

configure_jfrog_cli -artifactory-urlhttps://my-artifactory.local/artifactory-user - key akcp8jqtdmtfdbkx14mj8whtyv5su5eawffhi2granysttmuyrpra9fgxpfkzi1vfwdjxqyw9r -server-name myAPIKeyArtifactory

configure_jfrog_cli -artifactory-urlhttps://my-artifactory.local/artifactory访问令牌eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJTMmVLcmRLdElWR2JnSTJWbVM2T0NQRDFHYW1ZbVpwSXYtWS1meFN6TFJJIn0.eyJzdWIiOiJqZmZlQDAwMFwvdXNlcnNcL2FkbWluIiwic2NwIjoiYXBwbGllZC1wZXJtaXNzaW9uc1wvYWRtaW4gYXBpOioiLCJhdWQiOiJqZnJ0QCoiLCJpc3MiOiJqZmZlQDAwMCIsImV4cCI6MTYzMDY0NTM1OCwiaWF0IjoxNjMwNjQxNzU4LCJqdGkiOiI5YzcyMjMxOC01ZjBmLTQ1MTEtYTY2Yi1lMzVhMDkyYmFlMWMifQ。yop6a2gmooc9nqcyroxgun_1zs7w7tr5gdbrsfrcuaho66pelidaqxfxmsyzg -server-name myAccessTokenArtifactory

check_xray_available

描述

使用JFrog CLI v2(版本2指定为jfrogCliVersion管道配置),检查指定的CLI配置是否有x射线可用,如果没有指定则检查默认配置。

使用

Bash

check_xray_available(——服务器名称<名称>)

PowerShell

check_xray_available【服务器名称<名称>)

  • 服务器名称:可选的。指定要检查的JFrog CLI配置。
Bash的例子

check_xray_available--服务器- name myArtifactoryIntegration

PowerShell的例子

check_xray_available--服务器- name myArtifactoryIntegration

cleanup_jfrog_cli

描述

删除JFrog CLI (v1)的配置,为不同的次要版本处理不同的格式。在该步骤的集成部分中列出的人工集成将在该步骤结束时自动删除,但这对于在早期或使用时删除凭据可能很有用configure_jfrog_cli

使用

Bash

cleanup_jfrog_cli(——服务器名称<名称>)

PowerShell

cleanup_jfrog_cli【服务器名称<名称>)

  • 服务器名称:默认为默认的。可以指定以删除该配置。


Bash的例子

cleanup_jfrog_cli——server-name myArtifactory

PowerShell的例子

configure_jfrog_cli -artifactory-urlhttps://my-artifactory.local/artifactory-user - key akcp8jqtdmtfdbkx14mj8whtyv5su5eawffhi2granysttmuyrpra9fgxpfkzi1vfwdjxqyw9r -server-name myAPIKeyArtifactory

configure_jfrog_cli -artifactory-urlhttps://my-artifactory.local/artifactory访问令牌eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJTMmVLcmRLdElWR2JnSTJWbVM2T0NQRDFHYW1ZbVpwSXYtWS1meFN6TFJJIn0.eyJzdWIiOiJqZmZlQDAwMFwvdXNlcnNcL2FkbWluIiwic2NwIjoiYXBwbGllZC1wZXJtaXNzaW9uc1wvYWRtaW4gYXBpOioiLCJhdWQiOiJqZnJ0QCoiLCJpc3MiOiJqZmZlQDAwMCIsImV4cCI6MTYzMDY0NTM1OCwiaWF0IjoxNjMwNjQxNzU4LCJqdGkiOiI5YzcyMjMxOC01ZjBmLTQ1MTEtYTY2Yi1lMzVhMDkyYmFlMWMifQ。yop6a2gmooc9nqcyroxgun_1zs7w7tr5gdbrsfrcuaho66pelidaqxfxmsyzg -server-name myAccessTokenArtifactory

set_trigger_payload

描述

将一个或多个键=值对作为自定义步骤或管道变量添加到可用于调用管道触发器API的JSON有效负载中。

多个键=值对可以在单个命令中给出,也可以在多个命令中分割。

如果一个键被添加两次,原始值将被替换。

使用

Bash

set_trigger_payload[stepVariables|pipelineVariables] <键值对>

PowerShell

PowerShell目前不支持

  • stepVariables:这些键值对将出现在被触发步骤的环境中
  • pipelineVariables:这些键值对将出现在运行中被触发的每个步骤的环境中。


Bash的例子

set_trigger_payload stepVariables "shouldScan=true" "notify=email"

set_trigger_payload pipelinesVariables "releaseVersion=1.2.3"

set_trigger_payload pipelinesVariables "collectData=true"

get_trigger_payload

描述

在标准输出上打印可与管道触发器API一起使用的有效负载。

使用set_trigger_payload向有效负载添加附加值。

使用

Bash

get_trigger_payload

PowerShell

PowerShell目前不支持

Bash的例子

curl -XPOST -H "authorization: Bearer " -H "content-type: application/json" /pipelines/api/v1/pipelineSteps/:id/trigger -d "$(get_trigger_payload)"



源控制

compare_git

列出提交范围内包含更改的文件/目录。这个函数是u在构建单块存储库时,确定哪些服务发生了更改非常有用。

Bash compare_git[——path |——resource] [options]
PowerShell
compare_git[-path | -resource] [options]
  • 路径是git存储库的文件系统路径。
  • 资源名字是gitRepo资源
  • commit-range选项指定要查找更改的提交范围(示例:头~ 1 . .)。
  • directories-only选项仅列出包含更改的目录。
  • 深度选项返回一定深度的文件/文件夹。根目录的深度值为1。
Bash的例子

ubuntu:~$ compare_git——path ./microservices——commit-range HEAD~2.
api /共同/工具/ leftpad.js
api / main.js
通知人/ main.js

ubuntu:~$ compare_git——path ./microservices——commit-range HEAD~2.--directories-only
api /共同/工具/
api /
通知人/

ubuntu:~$ compare_git——path ./microservices——commit-range HEAD~2.--directories-only--深度1
api
通知人

ubuntu:~$ compare_git——path ./ microserver——commit-range HEAD~2..HEAD——仅限目录——深度

在路径:./ microserver中找不到Git库

PowerShell的例子

PS C:\Users\windowsuser> compare_git -path microservices -commit-range HEAD~2.
api /共同/工具/ leftpad.js
api / main.js
通知人/ main.js

PS C:\Users\windowsuser> compare_git -path microservices -commit-range HEAD~2.-directories-only
api /共同/工具/
api /
通知人/

PS C:\Users\windowsuser> compare_git -path microservices -commit-range HEAD~2.-directories-only-深度1
api
通知人

PS C:\Users\windowsuser> compare_git -path microserver -commit-range HEAD~2..HEAD -directories-only -depth

在路径:./ microserver中找不到Git库

update_commit_status

描述

更新状态在源提供程序上提交的。状态选项有处理成功,失败

使用

Bash

update_commit_status ——status ——message ——context

PowerShell

update_commit_status -status -message -context

update_commit_status ——status ——message ——context

  • gitRepo资源名的名字gitRepo资源。
  • 状态要在源提供商上设置的状态:处理成功,或失败
    如果未指定状态:
    • 处理将被假定为onStartonExecute
    • 成功将被假定调用onSuccess
    • 失败将被假定onFailure
  • 消息是要与状态一起发送的消息(描述)字符串。
    如果没有指定消息,默认消息将是“步骤<状态>在管道$pipeline_name”。
  • 上下文的上下文(键)状态。源提供程序将只保留为该上下文接收到的最新状态。
    如果没有指定上下文,默认为"$pipeline_name $step_name"
Bash的例子

update_commit_status myGitRepoResource

update_commit_status myGitRepoResource——状态处理——message " my description "——context $step_name . status

PowerShell的例子

update_commit_status myGitRepoResource

update_commit_status myGitRepoResource -status processing -message " my description " -context $step_name . status


测试报告

save_tests

描述

复制作为输入的测试报告,以便稍后解析和上传(如果文件存储可用)。

使用

Save_tests <文件或目录>

  • 文件目录指定测试报告文件的文件名,或者指定测试报告文件目录的目录名
例子

save_tests testreport.xml


加密

encrypt_string

描述

使用提供的公钥加密指定的字符串。

使用

Bash
Encrypt_string——key  
PowerShell

Encrypt_string -key

  • 关键是公钥文件的完全限定路径吗
  • 源字符串要加密字符串吗
Bash的例子

Ubuntu:~$ encrypt_string——key pub.pem“管理:passw0rd”
LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo +
06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 zpkvqa6t + 0
dVK0X / 5 pctwbkk5nivw =

PowerShell的例子

PS C:\Users\windowsuser> encrypt_string "admin:passw0rd" -key pub.pem
LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo +
06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 zpkvqa6t + 0
dVK0X / 5 pctwbkk5nivw =

decrypt_string

描述

使用提供的私钥解密指定的字符串。

这通常用于解密使用加密的信息encrypt_string使用对应的公钥。它可以帮助您避免构建自己的加密-解密系统。

使用

Bash Decrypt_string——key
PowerShell
Decrypt_string -key  <加密字符串>
  • 关键是私钥文件的完全限定路径吗
  • 加密的字符串要解密字符串吗
Bash的例子

Ubuntu:~$ decrypt_string——key key。pem LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo + 06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 + 0 zpkvqa6tdvk0x / 5 pctwbkk5nivw =

管理:passw0rd


ubuntu:~$ decrypt_string LbuD69yxEC6wi1M2B+/06ZY0vS+VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo+06SsaSPnb8fZDKuFP6Z89yJnLsh8UCq3gUbvFcGtgTQHUzIHQ0PVfrKrk9IyIvJex6+0ZPkVqa6tdVK0X/5pCTWBKk5nIvw=
decrypt_string: ERROR -未找到密钥文件

PowerShell的例子

PS C:\Users\windowsuser> decrypt_string -key key。pem LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo + 06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 + 0 zpkvqa6tdvk0x / 5 pctwbkk5nivw =

管理:passw0rd


PS C:\Users\ windowsuser >decrypt_string LbuD69yxEC6wi1M2B + / 06 zy0vs + VcahcWeHovWi8GnUC04zBFrFXBmkAbG4TWRRvwbROgSsj2fo + 06 ssaspnb8fzdkufp6z89yjnlsh8ucq3gubvfcgtgtqhuzihq0pvfrkrk9iyivjex6 + 0 zpkvqa6tdvk0x / 5 pctwbkk5nivw =
键是必选的,请提供一个值。

encrypt_file

描述

使用提供的公钥将指定文件加密为新文件。

使用

Bash
Encrypt_file——key [——output ] 
PowerShell
Encrypt_file -key  [-output ] 
  • 关键是公钥文件的完全限定路径吗
  • 输出生成的加密文件的名称。默认为“加密”
  • 源文件名文件要解密吗
Bash的例子

Ubuntu:~$ cat secrets.json
{“TOP_SECRET_CONFIDENTIAL_FORMULA”:“uuddlrlrbas”}
Ubuntu:~$ encrypt_file secrets。——key pub.pem
encrypt_file:加密文件。使用密钥pub.pem
encrypt_file:加密文件。Json到加密
Ubuntu:~$ cat加密
dGpLiI2IORfkRpSEhhuN9A8U / dQLlyHD6EKermRM5bnoIBcM7TWpLU3Y53f4zsAKTSmmQKHucPxJ
YFOVc6F1AWItYIgTSp2dEY4ugIZ7uTn IIa0qU7EGUREtPyrdu9N5phS2UybTn0u80CSP7Bf / HF +
5 xhbcvlenufanifldbo =

PowerShell的例子

PS C:\Users\ windowsuser >类型secrets.json
{“TOP_SECRET_CONFIDENTIAL_FORMULA”:“uuddlrlrbas”}
PS C:\Users\ windowsuser >encrypt_file秘密。Json -key pub.pem
encrypt_file:加密文件。使用密钥pub.pem
encrypt_file:加密文件。Json到加密
PS C:\Users\ windowsuser >加密类型
dGpLiI2IORfkRpSEhhuN9A8U / dQLlyHD6EKermRM5bnoIBcM7TWpLU3Y53f4zsAKTSmmQKHucPxJ
YFOVc6F1AWItYIgTSp2dEY4ugIZ7uTn IIa0qU7EGUREtPyrdu9N5phS2UybTn0u80CSP7Bf / HF +
5 xhbcvlenufanifldbo =

decrypt_file

描述

使用提供的私钥将指定文件解密为新文件。

这通常用于解密使用加密的信息encrypt_file使用对应的公钥。它可以帮助您避免构建自己的加密-解密系统。

使用

Bash Decrypt_file——key [——output ]
PowerShell
解密文件-key  [-output ] 
  • 关键是私钥文件的完全限定路径吗
  • 输出生成的解密文件的名称。默认为" decrypted "
  • 源文件名文件要解密吗
Bash的例子

Ubuntu:~$ cat加密
dGpLiI2IORfkRpSEhhuN9A8U / dQLlyHD6EKermRM5bnoIBcM7TWpLU3Y53f4zsAKTSmmQKHucPxJ
YFOVc6F1AWItYIgTSp2dEY4ugIZ7uTn IIa0qU7EGUREtPyrdu9N5phS2UybTn0u80CSP7Bf / HF +
5 xhbcvlenufanifldbo =


Ubuntu:~$ decrypt_file encrypted——key key.pem
decrypt_file:使用密钥key.pem进行解密
decrypt_file:已解密,已加密到已解密


Ubuntu:~$ cat解密
{“TOP_SECRET_CONFIDENTIAL_FORMULA”:“uuddlrlrbas”}


Ubuntu:~$ decrypt_file encrypted——key key.pem——输出secrets.json
decrypt_file:使用密钥key.pem进行解密
decrypt_file:解密加密到secrets.json

PowerShell的例子

PS C:\Users\ windowsuser >加密类型
dGpLiI2IORfkRpSEhhuN9A8U / dQLlyHD6EKermRM5bnoIBcM7TWpLU3Y53f4zsAKTSmmQKHucPxJ
YFOVc6F1AWItYIgTSp2dEY4ugIZ7uTn IIa0qU7EGUREtPyrdu9N5phS2UybTn0u80CSP7Bf / HF +
5 xhbcvlenufanifldbo =


PS C:\Users\ windowsuser >解密文件加密-key key.pem
decrypt_file:使用密钥key.pem进行解密
decrypt_file:已解密,已加密到已解密


PS C:\Users\ windowsuser >类型解密
{“TOP_SECRET_CONFIDENTIAL_FORMULA”:“uuddlrlrbas”}


PS C:\Users\ windowsuser >解密文件加密-key key.pem-输出secrets.json
decrypt_file:使用密钥key.pem进行解密
decrypt_file:解密加密到secrets.json


通知

send_notification

描述

利用通知集成在构建期间的任何时间向任何收件人发送自定义消息。

使用

Send_notification  [options]

这些选项可以作为命令的一部分指定,也可以在发出命令之前定义为环境变量。

命令行参数优先于环境变量。

命令行选项

减速板

创建AirBrake部署减速板集成在PowerShell中不支持。

Bash 选项描述
——项目号

发送通知的项目ID

——环境 发布部署时要使用的环境值
——用户名 发布AirBrake部署时使用
——电子邮件 发布AirBrake部署时使用的电子邮件
——库 发布AirBrake部署时使用的存储库
——修订 部署修订
——版本 发布AirBrake部署时使用的版本
——类型

目前只支持“deploy”类型


——描述 部署描述
——有效载荷 路径到一个有效的JSON文件,其中包含用于POST AirBrake部署的有效负载


Jira

创建一个Jira问题(也称为票据)。

Bash Powershell 选项描述
——项目号 项目号

与新问题相关联的项目的项目密钥。项目键是一个短字符串,用于开始项目的所有问题编号(例如,“EXAMPLE-1234”)。

——类型 类型

新问题的问题类型(例如,“Bug”、“Task”等)。这个字符串必须是识别的Jira问题类型

——总结 总结 新问题的摘要字段的字符串(它的标题)
——描述 ——描述 (可选)新问题的描述字段的字符串
——附件 ——附件

(可选)要附加到问题的文件的路径


NewRelic

创建一个NewRelic部署NewRelic集成在PowerShell中不支持。

Bash 选项描述
——类型 要张贴的对象类型。目前,只支持“部署”
——描述 部署描述
——用户名 记录部署的用户。默认为“JFrog管线”
——更新日志

要在部署中使用的变更日志值

——修订

部署修订(必需的)

——appId 正在部署的应用程序的ID。如果没有提供,——appName必须存在
——浏览器名称

正在部署的应用程序的名称。如果没有提供,必须提供——appId


——有效载荷

路径到一个有效的JSON文件,该文件包含用于POST NewRelic部署的有效负载

PagerDuty事件

发送事件PagerDuty事件集成

Bash

Powershell

选项描述

——文本 语境

要在PagerDuty上的事件中显示的主要文本。


松弛

在Slack上发送消息松弛的集成

Bash Powershell 选项描述
——有效载荷 有效载荷 (可选)一个有效json文件的路径,作为消息的有效负载。如果提供了有效负载,则忽略所有其他参数。此有效负载直接发送到Slack,因此请查看Slack API文档,了解如何格式化有效负载。
——用户名 用户名 (可选)显示在Slack消息的标题中
——借口 借口 (可选)成为Slack消息第一部分的字符串。默认为当前日期/时间
——文本 语境

(可选)在消息中显示的主要文本。

——颜色 -颜色 (可选)十六进制字符串,用于更改Slack消息左侧状态栏的颜色。
——收件人 收件人 (可选)消息的目标。对于用户或频道,应该分别以“@”或“#”开头。
——图标url 图标url (可选)显示在消息旁边的图标的url


smtpCreds(电子邮件)

发送电子邮件SMTP凭证集成

Bash Powershell 选项描述
——收件人 收件人

一个或多个电子邮件地址

——主题 主题 (可选)向主题添加消息。不替换默认主题
——身体 身体 (可选)指定要添加到电子邮件正文的一些文本。不代替现有的身体信息吗
——状态 地位 (可选)可以设置为有效的状态字符串。默认情况下,它将根据执行命令的脚本部分进行设置。
——附件 附件 (可选)附加到电子邮件中的文件列表。所有文件的总和不能超过5MB
——attach-logs -attach-logs (可选)' true '或' false '。默认为false。该步骤的所有可用日志都将附加到电子邮件中。请注意,它只能附加已经创建的日志,因此,例如,在onStart部分中使用此选项将不会有非常详细的日志。
——show-failing-commands -show-failing-commands (可选)“真”或“假”。默认为false。将解析该步骤的现有日志。检测到的任何失败的命令将被添加到电子邮件的正文中,以及多达100行的前行(如果从同一命令打印)。


环境的选择

上述所有选项也可以作为环境变量而不是参数包含。命令行参数将优先于环境。以下是env的完整列表:

  • NOTIFY_USERNAME(——用户名/用户名)
  • NOTIFY_PASSWORD(——密码/密码)
  • NOTIFY_RECIPIENT(——收件人/收件人)
  • NOTIFY_PRETEXT(——借口/借口)
  • NOTIFY_TEXT(——文本/语境)
  • NOTIFY_COLOR(——颜色/ -颜色)
  • NOTIFY_ICON_URL(——图标url / -icon-url)
  • NOTIFY_PAYLOAD(——有效载荷/负载)
  • NOTIFY_TYPE(——类型/类型)
  • NOTIFY_PROJECT_ID(——项目id / -project-id)
  • NOTIFY_ENVIRONMENT(——环境/环境)
  • NOTIFY_REVISION(修改/修订)
  • NOTIFY_SUMMARY(——总结/总结)
  • NOTIFY_ATTACH_FILE(——附件/ -attach-file)
  • NOTIFY_REPOSITORY(——库/存储库)
  • NOTIFY_EMAIL(电子邮件,电子邮件/电子邮件)
  • NOTIFY_STATUS(——地位/地位)
  • NOTIFY_VERSION(——版本/ - version)
  • NOTIFY_CHANGELOG(——更新日志/更新日志)
  • NOTIFY_DESCRIPTION(描述-描述/描述)
  • NOTIFY_ATTACHMENTS(附件——附件/附件)
  • NOTIFY_ATTACH_LOGS(——attach-logs / -attach-logs)
  • NOTIFY_SHOW_FAILING_COMMANDS(——show-failing-commands / -show-failing-commands)
  • NOTIFY_SUBJECT(——学科/主题)
  • NOTIFY_BODY(身体)



JSON

set_payload

描述

对象设置可选的JSON有效负载(字符串或文件)OutgoingWebhook资源。OutgoingWebhook在步骤中指定时output2022世界杯阿根廷预选赛赛程resources当步骤完成时,将发送有效负载。

使用

Bash

Set_payload [—file]

PowerShell
Set_payload   [-file]
  • 资源是an的名字吗OutgoingWebhook资源。
  • 有效载荷是一个JSON字符串或文件,附加到将作为传出webhook的一部分发送的资源。文件可以指定为相对于当前目录的路径、绝对路径或相对于步骤工作空间目录的路径。
  • 文件选项指定有效载荷参数为文件。如果未指定,有效载荷将作为字符串处理。
Bash的例子

set_payloadmyExternalHookResource“{\“测试\”:\“载荷\”}”

回声“{\“测试\”:\“载荷\”}”> testpayload.json
set_payload myExternalHookResource测试负载。json文件,

PowerShell的例子

set_payloadmyExternalHookResource“{”测试”:“有效载荷”“}”

设置内容路径testpayload。json值“{”测试”:“有效载荷”“}”
set_payload myExternalHookResource测试负载。json - file

read_json

描述

从指定的文件中提取json属性值。

这简化了JSON文件读取工作流所需的特定属性值的处理。

在PowerShell中不支持

在PowerShell,ConvertTo-Json建议作为替代方案。


使用

Read_json <文件路径> <字段名>
  • 文件路径的完全限定路径是JSON文件
  • 字段名是要为其读取值的字段。对数组使用点表示法和[n]。
例子

Ubuntu:~$ cat secrets.json
{
“TOP_SECRET_CONFIDENTIAL_FORMULA”“uuddlrlrbas”
“LESSER_SECRET_FORMULA”“dyddy”
“TOP_5_PASSWORDS_LIST”:【
“admin”
“passw0rd”
“testing123”
“correcthorsebatterystaple”
],
“嵌套”:{
"是":{
“快乐”:“耶”
}
}
}

Ubuntu:~$ read_json secrets.json“LESSER_SECRET_FORMULA”
dyddy

Ubuntu:~$ read_json secrets.json“TOP_5_PASSWORDS_LIST[3]”
correcthorsebatterystaple

Ubuntu:~$ read_json secrets.json"nesting.is.fun”


2022世界杯阿根廷预选赛赛程

replicate_resource

描述

该命令接受一个输入资源并创建一个精确的副本。这有助于将元数据从一个步骤传输到下一个步骤。

使用

Bash Replicate_resource [——options]
PowerShell
Replicate_resource   [-options]
  • from_resource名字是input2022世界杯阿根廷预选赛赛程Resources您正在复制的资源。
  • to_resource名字是output2022世界杯阿根廷预选赛赛程Resources属性中接收复制数据的资源from_resource中的任何先前存在的文件或键值对to_resource将被替换。
  • match-settings选项的任何分支/标记设置时,应该设置to_resource例如,如果你的from_resourcegiitrepo可以触发提交和拉取请求,但你只想更新你的to_resource在提交时,您可以使用——match-settings和to_resource只会更新时from_resource有一个承诺。
Bash的例子

replicate_resource myRepo1 myRepo2——match-settings
replicate_resource myTestImage myStageImage

PowerShell的例子

replicate_resource myRepo1 myRepo2 -match-settings
replicate_resource myTestImage myStageImage

write_output

描述

将数据以键/值对的形式添加到输出资源中,这些键/值对将成为资源的属性。

使用

Bash
Write_output  (——覆盖]
PowerShell

Write_output (覆盖]

  • 资源资源是否要更新
  • 键值对是一个字符串,包含一个键和一个值,中间用" = "分隔。可以提供多个这样的字符串作为输入。带空格的值应该用引号括起来。
Bash Powershell 选项描述
——覆盖 覆盖

如果提供,所有键值对都将被替换。

例子

write_output模板imageTag =主沙= $ commitSha描述= \“hello world \”


新附加的属性可以作为表单的环境变量访问res_{资源名称}_{密钥名称}

例如,上面创建的属性可以作为这些环境变量访问:

$ printenv res_myimage_shad6cd1e2bd19e03a81132a23b2025920577f84e37 $ printenv res_myImage_description "hello world"

缓存

缓存通过保留和恢复步骤运行之间的包和依赖关系,帮助您加快步骤的执行速度。通过这种方式,你可以通过避免重复安装或加载大型依赖项来减少构建时间。

add_cache_files

描述

复制作为输入的文件,以便在文件存储可用时稍后上传。

使用

Add_cache_files <文件或目录>

  • 文件或目录是否要将文件或目录存储在缓存中
  • 名字指定存储的文件或目录的名称(不带空格)。
例子

Add_cache_files cachefile.txt

Add_cache_files目录/子目录my_directory

restore_cache_files

描述

将存储的缓存(如果文件存储可用)复制到指定位置。如果缓存中没有可用,则不会发生错误。

使用

Restore_cache_files

  • 名字要恢复的文件或目录在缓存时给出的名称。
  • 路径存放文件或目录的路径。
例子

Restore_cache_files my_file cachefile.txt

Restore_cache_files my_directory目录/子目录


运行状态管理

add_run_variables

描述

允许您添加将在运行的以下步骤中可用的环境变量。

如果设置了以下变量,将使用它们:

  • JFROG_CLI_BUILD_NAME:如果设置,管道将使用此值而不是收集的构建信息的默认管道名称。
  • JFROG_CLI_BUILD_NUMBER:如果设置,管道将使用此值而不是收集的构建信息的默认运行号。
  • USE_LOCAL_JFROG_CLI:如果设置为真正的,在主机上或映像中的本地JFrog CLI(取决于运行时配置),而不是与JFrog pipeline一起打包的版本。不建议这样做,本地步骤可能无法在本地JFrog CLI版本中运行。

使用

Add_run_variables <键值对>…

  • 键值对是一个字符串,包含一个键和一个值,中间用" = "分隔。可以提供多个这样的字符串作为输入。在使用该命令时,每个值都将作为环境变量导出,并在运行中的任何后续步骤中自动导出。
例子

add_run_variablesimageTag = "大师"

export_run_variables

描述

生成包含运行变量的文件。这将自动完成,但也可以用于“重置”当前步骤中的环境变量。

使用

export_run_variables

例子

export_run_variables

add_run_files

描述

如果文件存储可用,则将作为输入的文件复制到运行状态,以便在运行的后续步骤中使用。

使用

Add_run_files <文件或目录>

文件或目录在运行状态下存储的文件或目录

名字为存储的文件或目录提供的名称(不带空格)。这不能运行。env。

例子

Add_run_files cachefile.txt

Add_run_files目录/子目录my_directory

Add_run_files目录/*/子目录my_directory

restore_run_files

描述

将存储在运行状态(如果文件存储可用)的文件复制到指定位置。如果在运行状态下没有可用的内容,则不会发生错误。

使用

Restore_run_files

  • 名字要恢复的文件的名称是在添加到运行状态时给定的。
  • 路径放置一个或多个文件的路径。
例子

Restore_run_files my_file cachefile.txt

Restore_run_files my_directory目录/子目录


亲和性组状态管理

add_affinity_group_files

描述

将作为输入给出的文件或目录复制到亲和性组工作区中,以便在亲和性组的后续步骤中使用。文件或目录可以使用通配符(*)来指定,或者在文件存储的名称之前使用多个输入参数来指定。

使用

Add_affinity_group_files <文件或目录>

文件或目录在运行状态下存储的文件或目录。

名字为存储的文件或目录提供的名称(不带空格)。

例子

Add_affinity_group_files cachefile.txt

add_affinity_group_files myDirectory myOtherDirectory/子目录my_directories

add_affinity_group_files myDirectory/*.txt my_text_files

add_affinity_group_files . ./ adjacentDirectory my_adjacent_directory

restore_affinity_group_files

描述

复制存储在亲和性组工作区中的文件add_affinity_group_files到指定位置。恢复行为不同于其他状态恢复函数,以便更好地处理具有可变数量的匹配文件或目录的通配符模式。与restore_affinity_group_files中指定的相对路径add_affinity_group_files函数将被保留(不包括对父目录的遍历),并且指定的路径应该是该相对路径的基路径。下面的例子是对称地恢复在上面的例子中保存的文件add_affinity_group_files。如果没有为保存文件,则不会发生错误。

使用

Restore_affinity_group_files

  • 名字要恢复的文件的名称是存储文件时给出的add_affinity_group_files
  • 路径放置一个或多个文件的路径。
例子

Restore_affinity_group_files my_file。

Restore_affinity_group_files my_directories。

Restore_affinity_group_files my_text_files。

Restore_affinity_group_files my_adjacent_directory ..


管道状态管理

add_pipeline_variables

描述

允许您添加环境变量,这些变量将在运行的后续步骤和以后的运行中可用。这些变量可以被另一个变量覆盖,并在当前运行中添加相同的键。

如果设置了以下变量,将使用它们:

  • JFROG_CLI_BUILD_NAME:如果设置,管道将使用此值而不是收集的构建信息的默认管道名称。
  • JFROG_CLI_BUILD_NUMBER:如果设置,管道将使用此值而不是收集的构建信息的默认运行号。
  • USE_LOCAL_JFROG_CLI:如果设置为真正的,在主机上或映像中的本地JFrog CLI(取决于运行时配置),而不是与JFrog pipeline一起打包的版本。不建议这样做,本地步骤可能无法在本地JFrog CLI版本中运行。

使用

Add_pipeline_variables <键值对>…

  • 键值对是一个字符串,包含一个键和一个值,中间用" = "分隔。可以提供多个这样的字符串作为输入。在使用此命令时,每个值都将作为环境变量导出,并在此运行完成后开始的任何步骤中自动导出。
例子

add_pipeline_variablesimageTag = "大师"

add_pipeline_variablesimageName = "模板" imageTag = "大师"

export_pipeline_variables

描述

生成包含管道变量的文件。这将自动完成,但也可以用于“重置”当前步骤中的环境变量。

使用

export_pipeline_variables

例子

export_pipeline_variables

add_pipeline_files

描述

如果文件存储可用,则将作为输入的文件复制到管道状态,以便在运行中的后续步骤和以后的运行中使用。

使用

Add_pipeline_files <文件或目录>

  • 文件或目录要以管道状态存储的文件或目录。
  • 名字存储文件或目录的名称(不含空格)。这不能是pipeline.env。
例子

Add_pipeline_files cachefile.txt

Add_pipeline_files目录/子目录my_directory

restore_pipeline_files

描述

将存储在管道状态的文件(如果文件存储可用)复制到指定位置。如果在运行状态下没有可用的内容,则不会发生错误。

使用

Restore_pipeline_files

  • 名字要恢复的文件的名称是在添加到管道状态时给定的。
  • 路径放置一个或多个文件的路径。
例子

Restore_pipeline_files my_file cachefile.txt

Restore_pipeline_files my_directory目录/子目录


一步的属性

find_resource_variable

描述

检索资源的命名属性的值。

使用

find_resource_variable

  • resourceName资源的名称。
  • propertyName要检索其值的资源属性的名称。
例子

find_resource_variable myGitHubcommitSha

find_resource_variable myImage imageTag

get_integration_name

描述

检索找到的指定类型的第一个集成的名称。可用于扩展步骤,以获取特定类型的第一个输入集成的名称。

使用

Get_integration_name——type <集成类型>

例子

get_integration_name——type Slack

get_integration_name——type“Docker注册表”

get_resource_name

描述

中指定的类型找到的第一个资源的名称input2022世界杯阿根廷预选赛赛程Resourcesoutput2022世界杯阿根廷预选赛赛程Resources。可用于扩展步骤,以获取特定类型的第一个输入或输出资源的名称。

使用

get_resource_name——type ——operation ——syntax-version

  • 资源类型名字是a吗资源类型
  • In / out选择是否将资源命名为input2022世界杯阿根廷预选赛赛程Resourcesoutput2022世界杯阿根廷预选赛赛程Resources
  • semver资源的语义版本号是语法版本吗
例子

get_resource_name——type GitRepo——operation IN

get_resource_name——type BuildInfo——operation OUT

get_resource_name——type GitRepo——operation IN——syntax-version 1.5.0

get_resource_names

描述

中指定的类型的名称数组input2022世界杯阿根廷预选赛赛程Resourcesoutput2022世界杯阿根廷预选赛赛程Resources。可用于扩展步骤,以获取特定类型的输入或输出资源的名称。

使用

get_resource_names——type ——operation ——syntax-version

  • 资源类型名字是a吗资源类型
  • In / out选择是否将资源命名为input2022世界杯阿根廷预选赛赛程Resourcesoutput2022世界杯阿根廷预选赛赛程Resources
  • semver资源的语义版本号是语法版本吗
  • 在PowerShell中,返回一个本地的PowerShell数组。在Bash中,返回一个JSON数组,可以用jq处理。
例子

get_resource_names——type GitRepo——operation IN

get_resource_names——type BuildInfo——operation OUT

get_resource_names——type GitRepo——operation IN——syntax-version 1.5.0

get_affinity_group_step_names

描述

检索当前关联组中指定类型的步骤名称的JSON数组。

使用

Get_affinity_group_step_names[——type ][——syntax-version ][——namespace ]

  • ——类型用于指定要查找的步骤的类型。如果未指定,则返回所有类型的步骤。
  • ——syntax-version与扩展步骤一起使用,以指定要查找的步骤的语法版本。
  • ——名称空间与扩展步骤一起使用,以指定要查找的步骤的名称空间。
例子

get_affinity_group_step_names

get_affinity_group_step_names——type GitRepo

get_affinity_group_step_names——type MyExtension——syntax-version 1.5.0

get_affinity_group_step_names——type MyExtension——namespace myNamespace——syntax-version 1.5.0

find_step_configuration_value

描述

的值配置属性用于当前执行的步骤。如果属性是一个集合,则返回第一个值。可用于扩展步骤,以获取配置的值。

使用

find_step_configuration_value < propertyName >

  • propertyName步骤的配置属性的名称是否要检索其值
例子

find_step_configuration_value forceXrayScan

  • 没有标签
版权所有©2022 JFrog Ltd.