Skip to content

cpageler93/JiraSwift

Repository files navigation

JiraSwift

Swift Platforms Xcode License Twitter: @cpageler93

JiraSwift is a HTTP client for Jira implemented in swift based on swift-server/async-http-client.

Framework Usage

JQL Search

let jira = JiraClient(baseURL: "https://jira.tinyspeck.com", 
                      username: "your_username", 
                      password: "your_password")

// jira.search.post(jql: String) returns EventLoopFuture<SearchResult>
// you can work with .wait() or .whenComplete { result }
let result = try jira.search.post(jql: "key in (XXX027-65, XXX038-3, XXX027-58)").wait()

Implemented Methods

Implemented Route / Method Route
myself.get() /rest/api/2/myself
search.post() /rest/api/2/search
serverInfo.get() /rest/api/2/serverInfo
project.list() /rest/api/2/project
project.types() /rest/api/2/project/type

Command Line Interface

Environment

You can either setup your environment

# setup environment
JIRA_URL=https://your_jira_url
JIRA_USERNAME=your_username
JIRA_PASSWORD=your_password

jira search --jql "key in (XYZ027-65, XYZ038-3, XYZ027-58)"

Or pass all values as options to jira the command

jira search --url "https://your_jira_url" \
            --username "your_username" \
            --password "your_password" \
            --jql "key in (XYZ027-65, XYZ038-3, XYZ027-58)"

Commands

Command Description
search Search for Issues with JQL
project list List all projects
project types List all project types

Contribute

Feel free to add a missing REST API method or create an issue if you want me to implement it!

Jira REST API Documentation