jira-for-scala

Example

sbt console

[env]
JIRA_SERVER_URI = "serverUri"
JIRA_ACCESS_TOKEN = "accessToken"
mise trust
sbt console
val jira = new io.github.kijuky.jira.JiraFacade("serverUri", "accessToken")
import jira.Implicits._

jira.issues(filterId = xxxxx).foreach(i => println(i.summary))

cake pattern

import io.github.kijuky.jira.Implicits._
trait JiraComponent {
  implicit lazy val jira: JiraClient = createJiraClient("serverUri", "accessToken")
}
import io.github.kijuky.jira.Implicits._
object Main extends App with JiraComponent {
  jira.issues(filterId = xxxxx).foreach(i => println(i.summary))
}

zio

import io.githug.kijuky.jira.JiraFacade
import zio._
object JiraService {
  def layer = ZLayer.succeed(JiraFacade("serverUri", "accessToken"))
}
import zio._
object Main extends ZIOAppDefault {
  def run = {
    for {
      jira <- ZIO.service[JiraService]
    } yield {
      import jira.Implicits._
      jira.issues(filterId = xxxxx).foreach(i => println(i.summary))
    }
  }.provide(JiraService.layer)
}