当github操作在github中失败时,如何创建Jira任务



我是github操作的新手,并计划实现一些东西,比如每当有人将代码推送到github时,github的操作都应该开始运行,如果任何操作失败,则github应该向Jira工具提出Jira请求。有人能建议我如何实现这一点吗。

我在谷歌上找到了一个链接,但帮助不大。此处给出的url:https://github.com/marketplace/actions/jira-create-issue

让我们先做一些介绍,以便对下面描述解决方案的术语有一个共同的理解。如果您查看文档。每个GitHub操作工作流都由一个或多个作业组成。反过来,作业具有按以下顺序执行的一系列步骤。每个步骤都可以在特定条件下执行。默认情况下,除非前一个步骤失败,否则特定作业中的所有步骤都会相继执行。上一步失败后,默认情况下将跳过以下所有作业步骤,并将作业标记为失败。但是,我们可以更改给定步骤的默认值。只有当作业运行失败(其中一个步骤失败(时,我们才能告诉该步骤执行。如上所述,当工作流作业失败时,我们可以使用gajira-login操作,然后使用上述gajira-create操作步骤来执行自己。通过这种方式,我们将实现在工作流作业运行失败时创建Jira问题的目标。通过使步骤依赖于failure()函数,我们可以在前一个步骤失败时执行该步骤。功能:

当作业的任何前一步失败时返回true

将所有的点连接在一起,我们可以编写一个示例工作流:

jobs:
a-failing-job:
runs-on: ubuntu-latest
steps:
- name: Failing step
run: exit 1
- name: Login to Jira
uses: atlassian/gajira-login@master
if: failure()
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
- name: Create Jira issue on job failure
uses: atlassian/gajira-create@master
if: failure()
with:
project: GA
issuetype: Build
summary: Build failed for ${{ github.repository }}

请注意,gajira操作仅支持云中的Jira并且不支持自托管Jira实例。

最新更新