我是github操作的新手,并计划实现一些东西,比如每当有人将代码推送到github时,github操作应该开始运行,如果任何操作失败,github应该向Jira工具提出Jira请求。有人能建议我如何实现这一点吗?
我在谷歌上找到了一个链接,但帮助不大。此处提供的网址:https://github.com/marketplace/actions/jira-create-issue
发布于 2020-11-17 19:03:22
让我们先做一些介绍,以便对下面描述解决方案的术语有一个共同的理解。如果你看看the documentation。每个GitHub操作工作流由一个或多个作业组成。反过来,作业具有按以下顺序执行的一系列步骤。每个步骤都可以在特定条件下执行。默认情况下,特定作业中的所有步骤都会一个接一个地执行,除非上一步失败。一旦上一步失败,则默认情况下将跳过所有后续作业步骤,并将作业标记为失败。但是,我们可以更改给定步骤的默认值。只有当作业运行失败(其中一个步骤失败)时,我们才能告诉该步骤执行。在上述步骤中,我们可以在工作流作业失败时使用gajira-login action,然后执行前面提到的gajira-create action步骤。这样,我们就可以在工作流作业运行失败时创建一个Jira问题。我们可以通过使步骤依赖于failure() function来执行前面的步骤中失败的步骤。函数:
当作业的前一步失败时,
返回
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 }}https://stackoverflow.com/questions/64873168
复制相似问题