添加一个Jira集成
要向Jira发送消息,必须先添加Jira集成管道。Jira集成将您的访问凭据安全地保存在管线的加密库中,因此这些信息在管线DSL文件的文本中是看不到的。
要添加Jira集成,请遵循中的步骤管理管道集成.
例如,添加一个名为Jira的集成myJira
,你可以输入以下内容:
的用户名而且令牌字段提供必要的凭据来验证管道的访问:
- 用户名:表示的用户帐号用户名必须有访问Jira项目的权限在哪里产生问题。
- Jira云令牌:当与Jira Cloud集成时,您必须提供Jira API令牌的Jira用户帐户令牌字段。
- Jira服务器密码:与Jira Server集成时,必须在令牌字段(Jira服务器不支持API令牌)。
创造一个吉拉问题
从管道中的步骤创建一个新的Jira issue(票据):
- 中声明Jira集成
集成
部分的步骤。 - 使用Send_notification实用程序函数通知Jira集成创建发行票据。
您通常将通知发送给JiraonFailure
步骤的一部分执行
块。
execute: onExecute:…onFailure: - send_notification myJira——project-id "DEMO"——type "Bug"——summary "Build Failed: $pipeline_name:$run_number"——description "Step $step_name" Failed"
project-id必须为已经在Jira中创建的项目指定一个键。如果Jira收到为不存在的项目创建票据的请求,Jira将忽略该请求。
使用环境变量
如果您的管道将有多个故障点来创建Jira问题,您可以选择为选项(如project-id)定义公共值,并为这些选项键入环境变量。的send_notification
Jira集成的实用函数将在定义这些环境变量时自动使用它们:
环境变量 | 选项 | 描述 |
---|---|---|
NOTIFY_PROJECT_ID |
——项目号 | 要与新问题关联的项目的项目键 |
NOTIFY_TYPE |
——类型 |
的问题类型为新问题(例如,“Bug”,“任务”等)。 |
NOTIFY_SUMMARY |
——总结 | 新问题的Summary字段的字符串(它的标题) |
NOTIFY_DESCRIPTION |
——描述 | 用于新问题的Description字段的字符串 |
NOTIFY_ATTACH_FILE |
——附件 | 要附加到问题的文件的路径 |
您可以在管道中定义这些环境变量中的任何一个配置
块,使用environmentVariables
标记,以便管道中的所有步骤都可以使用它们。如果需要,您还可以指定environmentVariables
在这个步骤中配置
块在该步骤执行的范围内重写它们的值。
例子
下面的示例管道演示如何使用send_notification
实用函数创建一个吉拉问题(票)。
管道DSL示例执行以下操作:
- 为项目id和类型选项设置环境变量
- 执行一个MvnBuild本机步骤,生成日志文件。
- 失败时,使用
send_notification
实用函数来创建JIra票据。命令行:- 依赖于的环境变量项目id和类型选项
- 将Maven生成的日志文件附加到Jira问题
- 指定了使用摘要和描述选项标准环境变量
2022世界杯阿根廷预选赛赛程资源:-名称:my_repo类型:GitRepo配置:gitProvider: MyGithub路径:myrepo/myproject管道:-名称:jira_ticket_example配置:environmentVariables: readOnly: NOTIFY_PROJECT_ID:“DEMO”# Jira项目键为所有票,我们创建NOTIFY_TYPE:“Bug”# Jira问题类型为所有票,我们创建步骤:###与Jira日志附件-名称:BuildSample类型:MvnBuild配置:sourceLocation: artifactory-maven-plugin-example configFileLocation:。configFileName: config mvnCommand: "install - p release——log-file ${step_tmp_dir}/log.txt" input2022世界杯阿根廷预选赛赛程Resources: - name: my_repo integrations: - name: myArtifactory - name: myJira execution: onFailure: - send_notification myJira——attachment -file "$step_tmp_dir/log.txt"——description " failed occurred in $pipeline_name - $step_name"——summary "$step_name has failed"