JIRA:如何仅针对工作流程的单个转换触发 Webhook?

2024-01-03

场景是:

Git -> JIRA -> 詹金斯

Git 中的提交必须更改 JIRA 中的问题状态,这反过来又应该触发 Jenkins 中作业的构建。

尝试过的方法:

  1. 我在 JIRA 中创建了一个 WebHook。此 Webhook 包含 Jenkins 作业的 URL。
  2. 将此 WebHook 附加到 JIRA 中的工作流程,作为后置功能.
  3. 工作流程很简单。它说:[审核中]-->[进行中]-(批准)->[完成]
  4. Webhook 附加到从 [InProgress] 到 [Done] 的转换
  5. WebHook 中已经提到了 IssueKey 和 Issue-Updated。 IssueKey 将使 WebHook 仅适用于特定问题。 Issue-Updated 是当特定问题更新时将触发 WebHook 的事件。

现在,当我进行 Git 提交时,Jira 问题的状态从 InReview 更改为 InProgress,并且会出现 Approve 按钮。当我签入 Jenkins 时,由于此问题更改而触发了构建。我将再次返回 JIRA,点击“批准”按钮,问题状态从“进行中”更改为“完成”,这也会触发 Jenkins 中的构建。

我的要求是 Jenkins 构建应该仅在 InProgress 到 Done 状态更改时发生。我无法指出 InReview 到 InProgress 转换触发 Jenkins 构建的原因。

对此的任何指示都会有很大帮助。提前致谢。


经过多次的打击和尝试,终于JQL为我成功了。我对WebHook进行了如下编辑:

In the Events(问题相关事件)部分,其中显示(问题和工作日志的事件。您可以指定 JQL 查询以仅发送由匹配问题触发的事件。),我输入:

issuekey = "Issue-ID" AND status = "In Review"

上面代码行中提到的“Issue-ID”仅供参考。实际上,它是一个 3 个字母的单词,后跟问题编号,例如:ABC-1

这将触发从特定状态转换的操作(webhook)。这个故事的寓意是:所有的转变都源于"this value"在JQL查询中status="this value",将触发 webhook。

Edit 1:为了使 webhook 更加特定于转换,以便它触发一个且仅一个转换,我们可以将 JQL 用作:

status CHANGED FROM "In Progress" TO "Open"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JIRA:如何仅针对工作流程的单个转换触发 Webhook? 的相关文章

  • 远程测试时如何搭建git开发环境

    这似乎是一个愚蠢的问题 但我觉得我对 GIT 相当了解 但我似乎无法按照我的意愿设置我的开发环境 我要么错过了一些非常简单的东西 要么我做错了 我在我的服务器上初始化了一个裸 git 存储库 将其克隆到我的本地计算机 提交我的文件并推送到原
  • 如何在 Jenkins 中安排构建?

    如何安排 Jenkins 构建 使其只能在每天的特定时间进行构建 例如下午 4 点开始 0 16 1 7 我理解为 每个月周一到周日下午 0 分钟 下午 4 点 但是它每分钟都会构建 如果有任何建议 我将不胜感激 谢谢 Update 请阅读
  • git pull,忽略深度,如何不拉取整个历史记录?

    我们有一个巨大的多 GB git 存储库 主要是二进制对象 克隆需要几天时间 实际的主分支 没有历史记录 只有大约 20MB 所以我想 深度为 1 的 git 克隆就是解决办法 然而 现在我需要将某人的更新拉到主服务器 我们没有分支 当我拉
  • Git:显示分支之间的差异,忽略合并的提交

    我的存储库历史记录看起来像这样 x y z branch a b c d e master 我想获得 branch 完整历史记录的单个差异 即 像 git diff 输出 我不想要像 git log p 产生的一大堆差异 而不包括任何从 m
  • Jenkins:在管道 Jenkins 文件内执行 AWS CLI 命令

    您知道如何在 aws 中执行 AWS CLI 命令吗 Jenkinsfile为了建立管道 我没有找到任何插件 首先 您需要在服务器上安装 aws cli 并确保 jenkins 用户有权运行它 或者在创建 EC2 实例时简单地使用 Amaz
  • git Push over sshfs 失败,并显示“关闭 sha1 文件时出错:错误的文件描述符”

    我们使用 sshfs 通过 SSH 安装文件系统 并将其用作 git 存储库协作的远程存储 Mac OSX 10 6 6 到 RHEL 3 服务器 SSHFS 版本 2 2 MacFUSE SSHFS 2 2 0 MacFUSE 库版本 F
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • Composer 用于下载私有 GitHub 存储库

    我无法使用 Composer 下载 github 私人存储库 php composer phar update 我收到以下错误 The https api github com repos company private1 https ap
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • VS 2015 + Bower:在防火墙后面不起作用

    Problem 在 Visual Studio 2015 中 使用 Bower 我的包在防火墙后面时恢复失败 并出现类似以下内容的错误 ECMDERR 无法执行 git ls remote tags heads git github com
  • 在 System Groovy 中暂时禁用 Jenkins 服务器上的 SCM 轮询

    我们有一个 Jenkins 服务器 正在运行 20 到 30 个作业 由于构建过程相当复杂 我们将实际构建分解为 1 个子构建 其中一些可以同时运行 其他则必须遵循之前的构建步骤 因此 我们将每个构建步骤分为 3 组 这三组在构建进行时会被
  • 访问 jelly 模板中的自定义环境变量

    使用 Jenkins 管道 您可以通过以下方式设置任何环境变量全局变量称为 env 果冻模板反过来 您可以访问 Jenkins API 包括hudson model AbstractBuild and hudson model Abstra
  • 如何在 Java 中创建接受多个值的单个注释

    我有一个名为 Retention RetentionPolicy SOURCE Target ElementType METHOD public interface JIRA The Key Bug number JIRA referenc
  • 使用终端时 Git 推送在总计后卡住了?

    我尝试将一些文件推送到Github 总大小只有22 2M 我不知道为什么它在总行之后卡住了 我读过推送到 Github 时 Git 推送挂起 https stackoverflow com questions 16906161 git pu
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • 当 .gitattributes 中的 EOL 设置为 CRLF 时,Git diff 认为行结尾为 LF

    当我恢复对带有 Windows 行结尾的文件的更改并且 gitattributes 将 EOL 定义为 CRLF 时 git 认为行结尾已更改为 LR 即使十六进制编辑器显示 CRLF 仅当 gitattributes 定义 EOL 字符时
  • 当当前分支上有未提交的更改时签出另一个分支

    大多数时候 当我尝试签出另一个现有分支时 如果我在当前分支上有一些未提交的更改 Git 会不允许我这样做 所以我必须首先提交或隐藏这些更改 然而 有时 Git 确实允许我在不提交或存储这些更改的情况下签出另一个分支 并且它会将这些更改携带到
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • 查找曾经分配给我的问题

    我正在尝试创建一个过滤器来搜索曾经分配给我的所有问题 即使在受让人更改后也是如此 我找不到合适的搜索参数 jira 中是否有可能 assignee was currentUser 应该这样做 它还将包括当前分配给您的问题 如果没有 请尝试

随机推荐