{"id":34656759,"url":"https://github.com/ilpanich/jirust-cli","last_synced_at":"2026-01-28T23:10:30.583Z","repository":{"id":249371068,"uuid":"831325661","full_name":"ilpanich/jirust-cli","owner":"ilpanich","description":"JIRA CLI developed in rust","archived":false,"fork":false,"pushed_at":"2025-12-24T15:36:30.000Z","size":5422,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T07:11:21.356Z","etag":null,"topics":["cli","jira","jira-rest-api","rust-lang"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/jirust-cli","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilpanich.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-20T08:20:22.000Z","updated_at":"2025-12-24T15:36:33.000Z","dependencies_parsed_at":"2024-07-26T08:44:03.166Z","dependency_job_id":null,"html_url":"https://github.com/ilpanich/jirust-cli","commit_stats":null,"previous_names":["ilpanich/jirust-cli"],"tags_count":93,"template":false,"template_full_name":null,"purl":"pkg:github/ilpanich/jirust-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilpanich%2Fjirust-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilpanich%2Fjirust-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilpanich%2Fjirust-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilpanich%2Fjirust-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilpanich","download_url":"https://codeload.github.com/ilpanich/jirust-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilpanich%2Fjirust-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28854547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cli","jira","jira-rest-api","rust-lang"],"created_at":"2025-12-24T18:19:37.167Z","updated_at":"2026-01-28T23:10:30.577Z","avatar_url":"https://github.com/ilpanich.png","language":"Rust","funding_links":["https://ko-fi.com/ilpanich"],"categories":[],"sub_categories":[],"readme":"![icon](https://github.com/ilpanich/jirust-cli/blob/main/images/jirust-cli.png)\n\n# JiRust-CLI\n\n| Component | Build | Crate | docs | rust-clippy | npm | coverage |\n|:---------:|:-----:|:-----:|:----:|:-----------:|:---:|:--------:|\n| jirust-cli | [![build and release jirust-cli](https://github.com/ilpanich/jirust-cli/actions/workflows/build_jirust_cli.yml/badge.svg)](https://github.com/ilpanich/jirust-cli/actions/workflows/build_jirust_cli.yml) | [![Crate](https://img.shields.io/crates/v/jirust-cli.svg)](https://crates.io/crates/jirust-cli) | [![API](https://docs.rs/jirust-cli/badge.svg)](https://docs.rs/jirust-cli)|[![rust-clippy analyze](https://github.com/ilpanich/jirust-cli/actions/workflows/rust-clippy.yml/badge.svg)](https://github.com/ilpanich/jirust-cli/actions/workflows/rust-clippy.yml)|[![npm](https://img.shields.io/npm/v/jirust-cli.svg)](https://www.npmjs.com/package/jirust-cli) | [![Coverage Status](https://coveralls.io/repos/github/ilpanich/jirust-cli/badge.svg?branch=main)](https://coveralls.io/github/ilpanich/jirust-cli?branch=main) |\n| jira_v3_openapi | [![build and release jira_v3_openapi](https://github.com/ilpanich/jirust-cli/actions/workflows/build_jira_v3.yml/badge.svg)](https://github.com/ilpanich/jirust-cli/actions/workflows/build_jira_v3.yml) | [![Crate](https://img.shields.io/crates/v/jira_v3_openapi.svg)](https://crates.io/crates/jira_v3_openapi) | [![API](https://docs.rs/jira_v3_openapi/badge.svg)](https://docs.rs/jira_v3_openapi) |\n\nJiRust-CLI will be a simple Jira CLI developed in Rust language.\nThe main goals are\n* to provide a simple and easy way to interact with Jira using the terminal\n* to experience myself with Rust language\n* to provide an implementation of the Jira API in Rust I cannot find at the moment\n\n## Installation\nTo install it simply run:\n\n```bash\ncargo install jirust-cli\n```\n\n## Usage\nTo use the CLI, simply run:\n```bash\njirust-cli --help\n```\n\nAnd you will see the help message.\n\nStarting from version 0.14.0 a WASM version of the library is available to be used in Node.js; you can refer to the following sample code (see the Rust  docs for all the available options and parameters):\n```javascript\nimport { run } from \"./pkg/jirust_cli.js\";\n\nlet cmd = run([\"project\", \"list\"], {\n  auth: {\n    auth_token: \"jira_auth_token\",\n  },\n  jira: {\n    jira_url: \"https://jira.atlassian.net\",\n    standard_resolution: '{\"name\": \"Done\"}',\n    standard_resolution_comment: \"Autoresolved\",\n    transitions_names: { resolve: [\"Resolve Issue\"] },\n  },\n}).then((v, err) =\u003e {\n  if (err) {\n    console.error(err);\n  } else {\n    console.log(JSON.stringify(v));\n    console.log(\"Done\");\n  }\n});\n```\n\nAnd then you can run this node.js script using:\n\n```bash\nnode jirust-cli-example.js\n```\n\nThe sample code file is also included in the repository.\n\n### Configuration\nTo configure the CLI you need to create a configuration file in your home directory called `.jirust-cli/jirust-cli.toml`.\n\nYou can generate it (if the file doesn't exist the CLI will ask you to configure itself at the first run and the it will store the config in the file) by:\n\n```bash\njirust-cli config setup\n```\n\nAnd you will be asked to insert the configuration parameters.\n\n### Features\nThe CLI is still under heavy development and the features are not complete.\nCurrently the basic version management is implemented and you can:\n* list the versions of a project\n* create a new version\n* delete a version\n* update a version\n* release a version\n* archive a version\n* list all the version-related workitems\n* create a new project\n* list all the projects\n* list all the issue types available in a given project\n* list all the fields available in a given project for a given issue type\n* Create a new issue\n* Show an issue details\n* Update an issue (Not yet working, to be fixed)\n* Delete an issue\n* Transition an issue\n* Assign an issue\n* Add an attachment to an issue\n* Link issues\n* Attach files to an issue (with optional YARA scan when built with the `attachment_scan` feature)\n* List all the transitions available for an issue\n* Search issue using JQL query (basic implementation, as required for my personal use)\n\nSupported output formats are:\n* JSON (default)\n* Table\n\n\n## Development\nThe project is still under heavy development and I will prioritize the features I need the most for my daily programmer life.\nUse in production at your own risk.\nThe content of the openapi Jira lib is automatically generated from the Jira API openapi file, retrieved form the official [Jira API v3 docs](https://developer.atlassian.com/cloud/jira/platform/rest/v3/):\n\n```bash\nopenapi-generator-cli generate -g rust -o ~/git/priv/jirust-cli/jira_v3_openapi -i jira-v3-openapi-spec/swagger.v3.json --additional-properties=bestFitInt=true,preferUnsignedInt=true,supportMiddleware=true\n```\n\n## Documentation\nThe documentation is generated using `cargo doc --open` and it will open the documentation in your browser.\nIt is also available upon publish on [jira_v3_openapi docs.rs](https://docs.rs/jira_v3_openapi) for the Jira REST API v3 lib crate and on [JiRust-CLI docs.rs](https://docs.rs/jirust-cli) for the lib crate used by the binary..\nSince everything is still under heavy development the documentation is not complete and it will be updated as the project evolves.\nPlease notice that jira_v3_openapi docs is autogenerated from the openapi file and it is not complete and not always correct, but I wouldn't spend time to improve it..\n\nAlso some of the jirust-cli documentation is auto-generated by AI, I will improve it every time I found something to be fixed inside it.\n\n## Release\nEverything is currently released upon the [crates.io](https://crates.io) platform, once new updates are available:\n* [jira_v3_openapi](https://crates.io/crates/jira_v3_openapi)\n* [jirust-cli](https://crates.io/crates/jirust-cli)\n\n## Roadmap\nNext features to be integrated and supported are:\n* Update Jira issue: check if it works correctly\n\nThose are mandatory for my work and I will prioritize them; other features will be added as needed.\nYou can request a feature by opening an issue or you can provide an implementation compliant with what is currently developed in a PR.\n\n### Attachments\nUpload a file to an issue:\n\n```bash\njirust-cli issue attach -i ISSUE-123 -p /path/to/file.pdf\n```\n\nWhen built with the `attachment_scan` feature, attachments are scanned with YARA before upload. See the configuration notes below to point the scanner at your local or remote rules.\n\n### Attachment scanning (optional)\nAttachment scanning is disabled by default during builds to avoid pulling extra dependencies. Build with the feature flag to enable it:\n\n```bash\ncargo build -p jirust-cli --features attachment_scan\n```\n\nThe BIN version for Windows or Linux distributed via github releases already include this feature enabled by default (_full_ version), otherwise it is not included (_basic_ version).\n\nConfigure the rules source in `~/.jirust-cli/jirust-cli.toml` (see `jirust-cli/config_example.toml`):\n\n```toml\n[yara]\nrules_source = \"https://github.com/YARAHQ/yara-forge/releases/latest/download/yara-forge-rules-core.zip\"\nrules_directory = \"yara-rules\"\ncache_file = \"yara_rules.cache\"\ncache_version_file = \"yara_rules.cache.version\"\n```\n\nRules are downloaded (git or zip) into `~/.jirust-cli/\u003crules_directory\u003e` and cached locally; subsequent runs reuse the cache unless the source version changes.\n\n## License\nApache 2.0\n\n## Contribution\nFeel free to contribute to the project. I will be happy to accept any help and suggestion on how to make the code better or even to integrate new features developed by the community.\n\n\n## Support the project\nSince I work as developer and manager during the day, I will develop this project during the night and weekends, once I have time.\nIf you want to support the project bringing me a coffee to keep me awake and coding, you can do it by clicking the link below:\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/ilpanich)\n\nThank you for your support!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filpanich%2Fjirust-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filpanich%2Fjirust-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filpanich%2Fjirust-cli/lists"}