{"id":13815288,"url":"https://github.com/toabctl/jiracli","last_synced_at":"2025-04-05T18:08:38.299Z","repository":{"id":11739512,"uuid":"14266618","full_name":"toabctl/jiracli","owner":"toabctl","description":"Simple command line interface for Jira","archived":false,"fork":false,"pushed_at":"2024-05-20T05:22:20.000Z","size":114,"stargazers_count":155,"open_issues_count":16,"forks_count":40,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-29T17:07:29.366Z","etag":null,"topics":["jira","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toabctl.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-11-09T22:45:55.000Z","updated_at":"2025-03-21T05:29:29.000Z","dependencies_parsed_at":"2024-08-04T04:07:26.183Z","dependency_job_id":"19d5ddca-4938-4893-9919-d35428fe3cfa","html_url":"https://github.com/toabctl/jiracli","commit_stats":{"total_commits":99,"total_committers":16,"mean_commits":6.1875,"dds":0.2222222222222222,"last_synced_commit":"58889ed31bf81e3df429976356b60daae2e81967"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toabctl%2Fjiracli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toabctl%2Fjiracli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toabctl%2Fjiracli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toabctl%2Fjiracli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toabctl","download_url":"https://codeload.github.com/toabctl/jiracli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378149,"owners_count":20929297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jira","python"],"created_at":"2024-08-04T04:03:16.203Z","updated_at":"2025-04-05T18:08:38.280Z","avatar_url":"https://github.com/toabctl.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"Jira command line interface\n===========================\n.. image:: https://github.com/toabctl/jiracli/actions/workflows/pr.yaml/badge.svg\n    :target: https://github.com/toabctl/jiracli\n\n`jiracli` is a simple command line interface based on the `jira` module. The module uses the REST API to communicate with the Jira instance.\n\nInstallation\n============\n`python3` and `jira` from https://pypi.python.org/pypi/jira/ is needed.\n\n * You can install `jiracli` with pip in a virtual environment::\n\n     virtualenv myenv\n     source myenv/bin/activate\n     pip install jiracli\n\n * or without an virtual env::\n\n     pip install jiracli\n\n * or directly from the extracted source::\n\n     python setup.py install\n\nConfiguration\n=============\nDuring the first run, `jiracli` asks for username, password and Jira url. All values are stored in `~/.jiracli.ini`.\nIf the password key is removed from the configuration file, `jiracli` asks everytime for the password.\n\nThere are some optional configuration options which can be set in the configuration\nfile:\n\nverify:\n-------\nDefaults to \"true\". If set to \"false\", the cerfificate verification while talking\nto the JIRA server is disabled.\n\n\nUsage\n=====\nTry the help with::\n\n  ./jiracli -h\n\nExample: create a new issue:\n----------------------------\nThe following command creates a new issue for the project PROJECT. Issue type is `Dev Bug`, labels are `abc` and `def` and components are `xxx` and `yyyy`::\n\n  ./jiracli  -c PROJECT \"Dev Bug\" \"my test summary\" \"abc,def\" \"xxx,yyyy\"\n\n\nExample: show a single issue:\n-----------------------------\nThe following command prints a single issue::\n\n  ./jiracli -i PROJECT-3535\n  PROJECT-3535, Prod Bug: This is a terrible bug. (Created, Low)\n  created              : Thu Oct 24 09:30:35 2013, by t.bechtold\n  assignee             : t.bechtold\n  updated              : Fri Nov  8 15:56:27 2013\n  components           : SITE:XYZ\n  labels               : mylabel\n  attachment           : \n\nYou can also provide a list of issues. Then all issues will be printed. To also see the description of the issue(s), use `--issue-desc`. To list the comments, use `--issue-comments`. For a short overview (online per issue), use `--issue-oneline`.\n\nExample: use favourite filters\n------------------------------\n\nTo see the favourite filters of the currently logged in user, do::\n\n  $ ./jiracli --filter-list-fav\n  23905, t.bechtold PROJECT bugs\n  Url                  : https://example.com/jira/secure/IssueNavigator.jspa?mode=hide\u0026requestId=23905\n  description          : Bugs of t.bechtold in project PROJECT\n  owner                : t.bechtold\n  jql                  : project = PROJECT AND asignee = t.bechtold\n\nThe number `23905` in the filter head line is the filter-id. This id is used to search the issues for this filter::\n\n  ./jiracli --issue-search-by-filter 23905\n\nThis command simply executes the search string given by the filter.\n\nExample: Searching with jql\n---------------------------\n\nUseing the Jira query language to search is simple::\n\n  ./jiracli --issue-search \"assignee=CurrentUser() and status='Closed'\" --issue-comments\n\nThis command searches for all closed issues of the currently logged in user. The command also prints the comments for every issue.\n\nExample: Add and remove issue watchers\n--------------------------------------\n\nTo get informed if something changed on an issue, there are watchers. The following commands add and remove a watch::\n\n  ./jiracli --issue-watch-add PROJECT-1234\n  ./jiracli --issue-watch-remove PROJECT-1234\n\nExample: Add and remove labels\n------------------------------\n\nAdding and removing labels is simple. First add a label called `testlabel` and then remove it::\n\n  ./jiracli --issue-label-add PROJECT-3724 \"testlabel\"\n  ./jiracli --issue-label-remove PROJECT-3724 \"testlabel\"\n\nExample: Add and remove components\n----------------------------------\nA list of available components for a given project is available with::\n\n  ./jiracli  --project-list-components PROJECT\n\nNow add and remove a component from the given list to an issue::\n\n  ./jiracli --issue-component-add PROJECT-1234 \"COMP1\"\n  ./jiracli --issue-component-remove PROJECT-1234 \"COMP1\"\n\nExample: Add and remove fix versions to issue\n---------------------------------------------\nThis is a simple task, similar to labels or components::\n\n  ./jiracli --issue-fix-version-add PROJECT-3750 \"My Fix version\"\n  ./jiracli --issue-fix-version-remove PROJECT-3750 \"My Fix version\"\n\nExample: Add a comment to an issue\n----------------------------------\nThe following command open a text editor to insert the comment::\n\n  ./jiracli --issue-comment-add PROJECT-3724\n\nThe short form is::\n\n  ./jiracli --issue-comment-add PROJECT-3724 -m \"another comment\"\n\n\nExample: Create multiple tickets in one shot\n--------------------------------------------\nWith a simple plain text file filled with Issue summaries per line you can\neasily greate mulitple Issues and Sub-Tasks in one run.\n\nThe layout of the file is pretty basic:\n\n * each line represents an issue\n * this line will be the summary of the issue\n * issues starting with a `*` or `-` character will be a Sub-Task of the previous parent issue\n\nExample::\n\n  As a DevOps I want to automate all daily duties via a RESTful API\n  * Collect requirments from all DevOps teams\n  * Design RESTful API draft\n  * Implement the API\n\nThe following command creates multiple tickets with the summary from the given file::\n\n  ./jiracli --issues-create PROJECT \"User Story\" \"Sub-task\" sprint22-stories.txt\n\nAppending Sub-Tasks or Child-Tickets from a file to an existing Issue with a given parent id::\n\n  ./jiracli --issue-parent PROJECT-3763 --issues-create PROJECT \"User Story\" \"Sub-task\" sprint22-stories.txt\n\nExample: Show ongoing sprint for a project\n------------------------------------------\nThe following command will show you the current ongoing sprint of a project::\n\n  ./jiracli --sprint MYPROJECT\n  issue    status          assignee    summary\n  -------  --------------  ----------  -------------------------------------------\n  RD-1547  In Progress     user_owner  Bug on main screen of MyLittlePoney Project\n  RD-1517  Refused         Nobody      Please add a green poney\n  RD-1516  Resolved        user_x      My poney is not pink enough\n\nExample: Assign an issue\n------------------------\nThe following command will assign an issue to a given user::\n\n  ./jiracli --issue-assign DOCUMENT-628 t.bechtold\n\n\nContributing\n============\n`jiracli` is hosted on `github`_ . Please send pull requests or create\nissus there.\n\nTesting\n-------\ntox is used for testing. To execute i.e. the pep8 style checks, run::\n\n  tox -epep8\n\n.. _github: https://github.com/toabctl/jiracli\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoabctl%2Fjiracli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoabctl%2Fjiracli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoabctl%2Fjiracli/lists"}