boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

告警信息自动创建Jira工单,reload/jira-security-issue让运维更高效


avatar
作者 2025年8月25日 16

最近在负责一个线上服务的维护工作,经常会遇到各种告警信息,例如CPU使用率过高、内存溢出等等。每次遇到这些告警,都需要手动登录jira系统,创建工单,填写标题、描述等信息,非常繁琐。而且,如果同一个告警重复出现,很容易创建重复的工单,浪费时间。为了解决这个问题,我开始寻找一种自动化创建Jira工单的解决方案,最终发现了reload/jira-security-issue这个库。 composer在线学习地址:学习地址 reload/jira-security-issue是一个轻量级的php库,它可以根据预设的规则,自动创建Jira工单。它的主要特点是简单易用,并且能够避免重复创建工单。该库通过环境变量进行配置,方便在CI/CD系统中使用。

使用composer安装非常简单:

<pre class="brush:php;toolbar:false;">composer require reload/jira-security-issue

在安装完成之后,需要设置以下环境变量:

  • JIRA_Token

    : Jira API Token (必须)

  • JIRA_HOST

    : Jira实例的地址,例如:

    https://your-domain.atlassian.net

    (必须)

  • JIRA_USER

    : 与Jira API Token关联的Jira用户ID,例如:

    your-user@example.com

    (必须)

  • JIRA_PROJECT

    : Jira项目的Key,例如:

    TEST

    ABC

    (如果不在代码中设置,则必须)

  • JIRA_ISSUE_TYPE

    : Issue类型,例如:

    Security

    ,默认为

    bug

    (可选)

  • JIRA_PRIORITY

    : Issue优先级,例如:

    Critical

    (可选)

  • JIRA_WATCHERS

    : 需要添加到工单的Jira用户,多个用户用逗号分隔,例如:

    user1,user2

    (可选)

  • JIRA_RESTRICTED_COMMENT_ROLE

    : 具有受限可见性的评论的角色,默认为

    Developers

    (可选)

以下是一个简单的例子,展示如何使用

JiraSecurityIssue

类创建工单:

<pre class="brush:php;toolbar:false;"><?php  require 'vendor/autoload.php';  use ReloadJiraSecurityIssueJiraSecurityIssue;  $issue = new JiraSecurityIssue();  $issue->setTitle('服务器CPU使用率过高')     ->setBody('服务器CPU使用率超过80%,请尽快处理。');  $issue->setKeyLabel('cpu-high-20240726'); // 设置一个唯一的Key,避免重复创建  echo $issue->ensure(); // 创建工单,并输出工单Key

通过设置

KeyLabel

,可以确保同一个告警只创建一个工单。

ensure()

方法会检查是否已经存在具有相同

KeyLabel

的工单,如果存在,则不会创建新的工单。

使用reload/jira-security-issue库,可以极大地简化Jira工单的创建流程,提高运维效率,避免重复劳动。特别是在自动化运维场景下,该库可以发挥更大的作用。



评论(已关闭)

评论已关闭