Simple command-line client unifying access to Atlassian ® services.
atlssncli is a simple command-line utility written in Python enabling easy, context-based access to various features of Atlassian® services over REST API. The context can be specified in the configuration file in terms of current board or project, and also is extracted automatically from the Git branch of the current working directory.
The goal of this project is to provide a concise command-line interface for everyday tasks involving sprint, issue and build management. atlssncli focuses on simplicity over completeness, to provide as quick as possible access to most commonly used features, assuming that more complex can be achieved otherwise, e.g. using web interface or other command line clients.
Please note, that atlssncli is tested with Jira® version 7.12.3 and Bamboo® version 6.9.2 only.
pip install atlssncli
Configuration file should be placed in `~/.atlssncli/config.ini`:
[common]
username = username
password = password
version = 6
active_project = BKP
[jira]
endpoint = https://jira.example.com/rest/api/latest
[agile]
endpoint = https://jira.example.com/rest/agile/latest
board = 7
sprint_duration = 14
[bamboo]
endpoint = https://bamboo.example.com/rest/api/latest
component1 = BKP-CMP1
component2 = BKP-CMP2
component3 = BKP-CMP3
Add the following line to your `~/.bashrc`:
eval "$(_ATLSSN_COMPLETE=source_bash atlssn)"
Add the following line to your `~/.zshrc`:
eval "$(_ATLSSN_COMPLETE=source_zsh atlssn)"
...
Show information about services.
atlssn info jira
atlssn info bamboo
Bamboo® agents information, REST API for agents only supports a single method.
atlssn agent list
Manage projects in the Jira® and Bamboo® services.
atlssn project list
atlssn project select <project_key>
atlssn project info [<project_key>]
atlssn project list-components [<project_key>]
atlssn project list-issue-types [<project_key>]
atlssn board backlog [-a|--assignee <user_id>] [-q|--jql <jql_query>]
# Examples
atlssn board backlog -q 'status = "Open" AND assignee = "bkryza"'
atlssn board backlog -a bkryza
atlssn board list
atlssn board select <board_id>
atlssn board status [<board_id>]
Below commands, which accept optional sprint_id, will act on active sprint when sprint_id is not provided.
atlssn sprint list [--active|--future|--closed]
atlssn sprint create [-n|--name <name>]
[-s|--start-date YYYY-MM-DD]
[-d|--duration <days>]
atlssn sprint rename <sprint_id> <new_name>
atlssn sprint start <sprint_id> [<start_date> [<duration>]]
atlssn sprint stop <sprint_id>
atlssn sprint status [<sprint_id>]
atlssn sprint issues [<sprint_id>]
atlssn sprint issues [<sprint_id>] --assignee johndoe
atlssn sprint issues [<sprint_id>] --resolved --closed
**atlssn issue types
**atlssn issue types <project_id>
**atlssn issue create <summary> [-t|--type <issue_type>]
[-a|--assignee <username>]
[-r|--reporter <username>]
[-i|--priority <priority>]
[-l|--labels <label>,<label>,...,<label>]
[-d|--description <text>]
[-x|--fix-versions <versions>]
[-c|--components <component>,...,<component>]
**atlssn issue edit <issue_id> [-t|--type <issue_type>]
[-a|--assignee <username>]
[-r|--reporter <username>]
[-i|--priority <priority>]
[-l|--labels <label>,<label>,...,<label>]
[-d|--description <text>]
[-x|--fix-versions <versions>]
[-c|--components <component>,...,<component>]
atlssn issue status <issue_id>
atlssn issue assign <issue_id> <username>
**atlssn issue changelog <issue_id>
**atlssn issue comment <issue_id> <comment>
**atlssn issue update <issue_id> <comment>
**atlssn issue link <issue_id> <outward_issue_id>
**atlssn issue attachments <issue_id>
**atlssn issue attach <issue_id> <file_path>
**atlssn issue detach <issue_id> <file_name>
**atlssn issue transitions <issue_id>
**atlssn issue transition <issue_id> <state_name>
**atlssn issue resolutions <issue_id>
**atlssn issue resolve <issue_id> <resolution>
**atlssn issue branch <issue_id> <state_name>
**atlssn issue branches <issue_id>
- Refactor output formatting to enable custom formatters
- Add OAuth support
- Move todo's to GitHub issues
Copyright 2019-present Bartosz Kryza <bkryza@gmail.com>
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
All Atlassian® services referenced in this project are registered trademarks of Atlassian Corporation Plc.
The author of this project is not affiliated in any way with Atlassian Corporation Plc.