JIRA CI/CD統合


CGI/CDパイプラインのビルドおよび配置情報をJIRA開発パネルに統合します.有効化

Only supports Jira Cloud. Does not support Jira Server (hosted)


必要条件


資格情報を生成する


新しいAuAuth資格情報とコピーを生成する
参照:https://support.atlassian.com/jira-cloud-administration/docs/integrate-with-self-hosted-tools-using-oauth/

任意のCI / CDプロバイダとの使用


CCI/CDプロバイダーがDockerイメージを実行している限り、この統合を使用することができます.無人機でテストio、gitlab ci、およびGoogleクラウドラン.
Docker画像は以下から入手できます.
  • GITLABコンテナレジストリ:registry.gitlab.com/rohit-gohri/jira-ci-cd-integration
  • コンテナレジストリghcr.io/rohit-gohri/jira-ci-cd-integration
  • ドッカーハブboringdownload/jira-integration
  • あなたが望むものを選んで、あなたのために便利です.

    env varsを設定する


    Dockerイメージの設定はenv varsを通して行います.もっと読み込むoptions .

    JIRA GITLAB CI / CD



    Add a CI/CD Variable to your project for JIRA_CLIENT_ID and JIRA_CLIENT_SECRET (マスクを忘れずに)これらのステップをパイプラインに追加します(使用しています).post ステージ
    jira-integration-on-success:
      stage: .post
      when: on_success
      image: registry.gitlab.com/rohit-gohri/jira-ci-cd-integration:v0
      script: jira-integration
      variables:
        BUILD_STATE: successful
        BUILD_NAME: gitlab-pipeline
        JIRA_INSTANCE: companyname
    
    jira-integration-on-failure:
      extends: jira-integration-on-success
      when: on_failure
      variables:
        BUILD_STATE: failure
    
    

    JiraドローンIOの例



    秘密を加えるJIRA_CLIENT_ID and JIRA_CLIENT_SECRET そして、これをパイプラインに追加します.
    steps:
      - name: jira-integration
        image: boringdownload/jira-integration:v0
        environment:
          BUILD_NAME: drone-pipeline
          JIRA_INSTANCE: companyname
          JIRA_CLIENT_ID:
            from_secret: jira_client_id
          JIRA_CLIENT_SECRET:
            from_secret: jira_client_secret
    
    

    Githubアクションを使用する


    JIRAにリリース情報を送信する場合は、Githubアクションとして使用することもできます.

    Githubへの秘密としてOAuthクレードを加えてください


    参照:https://docs.github.com/en/actions/reference/encrypted-secrets
  • クライアントIDを追加JIRA_CLIENT_ID
  • クライアントの秘密を追加JIRA_CLIENT_SECRET

  • Githubワークフローを更新する


    パイプラインのビルドでの使用


    - name: Jira Integration
      if: ${{ always() }}
      uses: rohit-gohri/jira-ci-cd-integration@v0
      with:
        event_type: build
        state: ${{ job.status }}
        jira_instance: companyname # Subdomain for Jira Cloud
        client_id: ${{ secrets.JIRA_CLIENT_ID }}
        client_secret: ${{ secrets.JIRA_CLIENT_SECRET }}
    
    

    展開パイプラインでの使用


    - name: Jira Integration
      if: ${{ always() }}
      uses: rohit-gohri/jira-ci-cd-integration@v0
      with:
        event_type: deployment
        state: ${{ job.status }}
        issue: JCI-3, JCI-6 # Comma separated list of issues being deployed/released. You are expected to generate this yourself in a previous step
        jira_instance: companyname # Subdomain for Jira Cloud
        client_id: ${{ secrets.JIRA_CLIENT_ID }}
        client_secret: ${{ secrets.JIRA_CLIENT_SECRET }}