LoginSignup
3
2

More than 5 years have passed since last update.

Basic認証を使ってJIRAのissue情報を取得する

Posted at

はじめに

弊社ではチャットワークを導入しておりほとんどのやり取りをチャットワークで行なっていたのですが、人が増えるにつれ情報が流れたり錯綜し、混乱する事が多くなってきました。

その解決策としてJiraを導入する事が決定し、APIを利用してChatworkに通知したりその他ほにゃららするツールを作ることになりました。

しかし「PHP Jira API 連携」などと調べてもそれらしき記事が意外にも出てこなく、最初の情報を取得するフローで一番苦労したので記事として残しておきます。

目的

JiraのAPIを利用して指定したissueの情報を取得する

準備

  1. Jiraのアカウントを取得する
  2. API Tokenの発行

実装

sample.php
<?php
$username = 'Jiraのユーザー名';
$api_token = '取得したAPIトークン';

// 取得したいissueのキー
$issue_key = 'issue_key';

// あなたのJiraのURL
$base_url = 'https://hogehoge.atlassian.net';
$url = $base_url . '/rest/api/2/issue/' . $issue_key;

// 認証
$header = array();
$header[] = "Content-Type: application/json";
$header[] = "Authorization: Basic " . base64_encode($username . ":" . $api_token);

$options = array(
    CURLOPT_URL            => $url,
    CURLOPT_HEADER         => false,
    CURLOPT_HTTPHEADER     => $header,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_SSL_VERIFYPEER => false,
);

// 情報を取得
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
$result = json_decode($result, true);

// 取得した情報をデバッグ
var_dump($result);

これで特定のissueの情報は取得できると思います。
この$resultの中に担当者、報告者、コメントなど全ての情報が入っているので欲しい情報を絞り込んでチャットワークに通知したりできます。

まとめ

「コメントが追加された時」「チケットが追加された時」などにチャットワークに通知させたい時はJiraでWebhookの設定ができるので、そこから発火させてあげればいいです。

もっと便利な使い方もあると思うので今後はJiraを使いこなして行きたいですね。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2