这让您的团队对 Jira 中的每个问题都有更多的可见性和上下文,显示最新的构建状态或您的工作是否已成功部署到环境中。
您还可以使用此信息 使用 Jira 查询语言 (JQL) 搜索问题,回答诸如 “当前 sprint 中的哪些问题已部署到生产环境?”之类的问题。您甚至可以将这些作为快速过滤器添加到您的板上!
在将 Jenkins 连接到 Jira Software Cloud 之前,请检查以下事项:
开源插件托管在 GitHub 上。你可以在这里查看。
您可以通过 Jira Marketplace 安装“Jenkins for Jira”:
在您的 Jira 站点上安装“Jenkins for Jira”应用程序后,您需要设置一个 webhook:
使用 webhook URL 和 secret,您现在可以在 Jenkins 和 Jira 之间创建连接。
此插件会将构建和部署事件发送到 Jira,以便它们在您的 Jira 问题、部署时间线和发布功能中可见。
要将信息从 Jenkins 发送到 Jira,您的团队必须在其提交消息(用于部署信息)和分支名称(用于构建信息)中包含 Jira 问题密钥(例如 FUSE-123)。每当管道在 Jenkins 中运行时,插件都会在分支名称中查找 Jira 问题密钥并提交消息。如果找到问题密钥,它将向 Jira 发送构建和部署信息。如果找不到问题密钥,Jenkins 插件将不会向 Jira 发送任何内容。
要自动发送构建事件而无需向 Jenkinsfiles 添加任何内容,请转到管理Jenkins > 配置系统并启用复选框“自动发送构建”。
启用此功能后,一旦管道运行开始,插件将向 Jira 发送“进行中”构建事件,一旦管道成功完成或因错误停止,插件将向 Jira 发送“成功”或“失败”构建事件。
如果您还为构建指定了正则表达式,则插件只会在具有匹配名称的构建步骤完成后向 Jira 发送构建事件。
正则表达式^build$将匹配以下Jenkinsfile中的构建阶段,例如:
每当此 Jenkinsfile 中的管道运行时,它都会在构建阶段的开始和结束时向所有已配置的 Jira Cloud 站点发送构建事件。
要自动发送部署事件而无需向 Jenkinsfiles 添加任何内容,请转到管理 Jenkins > 配置系统并启用复选框“自动发送部署”。
启用此功能后,一旦名称与指定正则表达式匹配的构建步骤开始,插件将向 Jira 发送“进行中”部署事件,并在构建步骤完成后发送“成功”或“失败”部署事件.
为此,Jenkinsfile 中的部署步骤必须在其名称中包含环境名称。正则表达式必须包含片段(?<envName>.*)以匹配环境名称,以便插件可以从构建步骤名称中提取环境名称。
让我们看一个示例Jenkinsfile:
^deploy to (?<envName>.*)$,则上述 Jenkinsfile 的运行将发送stg和prod环境的“进行中”部署事件到所有已配置的 Jira Cloud 站点,然后在构建步骤完成后进行相应的“成功”部署事件。
如果您想更好地控制何时发送构建事件,可以使用jiraSendBuildInfo构建步骤:
在构建阶段成功完成或出现错误后,这将向所有已配置的 Jira Cloud 站点发送“成功”或“失败”构建事件。Jenkins 插件会自动从分支名称中提取 Jira 问题密钥。
您还可以指定 Jira 站点 URL 并指示插件仅将构建事件发送到此 Jira 站点(而不是所有已配置的 Jira 站点)。
如果您想更好地控制何时发送部署事件,可以使用jiraSendDeploymentInfo构建步骤:
这将在Deploy - Staging和Deploy - Production阶段结束时向所有已配置的 Jira 站点发送“成功”或“失败”部署事件。
您必须提供参数environmentId、environmentName和environmentType。environmentType必须是以下之一:unmapped、development、testing、staging、production。
您可以提供参数site以指定将部署事件发送到单个 Jira 站点,而不是所有已配置的 Jira 站点。
当多个 Jira 站点连接到 Jenkins 服务器时,带有enableGating:true的jiraSendDeploymentInfo需要site参数。可以在此处找到有关部署门控的更多详细信息。
您还可以使用branch参数指定一个分支,以定义要从中提取 Jira 问题密钥以连接部署的分支。
您可以像下面的Jenkinsfile一样混合构建和部署:
每当您在连接的源代码管理工具(如 Bitbucket 或 GitHub)中提交或合并拉取请求时,它应该运行您为该存储库指定的 Jenkins 管道。只要您的团队在其拉取请求、提交消息和分支名称中包含问题密钥,您的 Jira 问题的开发面板就会更新以显示任何相关的构建和部署信息。详细了解如何。
如果您在 Jira 项目中启用了部署功能,“部署”页面将在时间线上显示所有 Jenkins 部署。您可以按环境、受让人、问题类型等过滤或搜索以查看您的部署。如果您的团队正在使用发布和版本来组织您的工作,您还可以在发布功能中找到部署信息。