Skip to content

Add support for environment variable to specify config file path#858

Merged
ankitpokhrel merged 2 commits intoankitpokhrel:mainfrom
aazon:env_variable_for_the_path_to_config
May 27, 2025
Merged

Add support for environment variable to specify config file path#858
ankitpokhrel merged 2 commits intoankitpokhrel:mainfrom
aazon:env_variable_for_the_path_to_config

Conversation

@aazon
Copy link
Contributor

@aazon aazon commented May 26, 2025

Solves #713 #434

This pull request introduces a new environment variable, JIRA_CONFIG_FILE, which allows users to specify the path to the configuration file.

A common use case is working with multiple Jira servers across different projects simultaneously. In such scenarios, it’s helpful to maintain separate configuration files to avoid conflicts, especially with credentials.

While the solution proposed in #434 — using the --config/-c flag — is a valid option, it requires specifying the argument manually for every command. This approach is prone to errors and adds complexity when writing automated scripts.

Similarly, the solution proposed in #713 — relying on the XDG_CONFIG_HOME environment variable — affects a broader range of tools beyond jira-cli, which may lead to unintended side effects.

Using a dedicated environment variable like JIRA_CONFIG_FILE offers a more isolated, portable, and context-specific solution. It integrates cleanly into different workflows without impacting other tools or requiring repeated CLI arguments.

@aazon aazon force-pushed the env_variable_for_the_path_to_config branch from b5a19df to 7a09df3 Compare May 27, 2025 10:15
Copy link
Owner

@ankitpokhrel ankitpokhrel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @aazon, Thank you for working on this!

@ankitpokhrel ankitpokhrel merged commit 060ff77 into ankitpokhrel:main May 27, 2025
4 checks passed
@mawid6
Copy link

mawid6 commented Jul 2, 2025

Hi! Trying this out, but I cant get this to work. I am trying e g:

$ JIRA_CONFIG_FILE="$HOME/.config/.jira/.kp-config.yml"
$ tail $JIRA_CONFIG_FILE
        - id: "10780"
          name: Process Epic
          handle: Process Epic
          subtask: false
login: [...]
project:
    key: KP
    type: classic
server: [...]
timezone: Europe/Paris
$ jira issue list -s~Done --plain --created -1w --columns Type,Key,Status
TYPE            KEY     STATUS
Task            IA-347  In Progress
Sub-task        IA-345  To Do
Sub-task        IA-344  To Do
Sub-task        IA-343  To Do
Sub-task        IA-342  To Do
Story           IA-341  To Do
Task            IA-337  To Do
Task            IA-336  To Do
$

Note: I edited the project in this "custom" jira config file to say "KP".
Yet, the query returns issues from the "default" jira-cli config project, IA.

Any ideas @aazon ?

Best regards!

@mawid6
Copy link

mawid6 commented Jul 2, 2025

oh, wait, sorry.

jira version
(Version="1.6.0", GitCommit="6a6611ce59f1a85203b021af9113b2a4e82ecaef", CommitDate="2025-04-19T09:33:11+00:00", GoVersion="go1.24.1", Compiler="gc", Platform="windows/amd64")

Duh, this has not been packaged yet, I see. Apologies for the noise.

tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Sep 2, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ankitpokhrel/jira-cli](https://github.com/ankitpokhrel/jira-cli) | minor | `v1.6.0` -> `v1.7.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>ankitpokhrel/jira-cli (ankitpokhrel/jira-cli)</summary>

### [`v1.7.0`](https://github.com/ankitpokhrel/jira-cli/releases/tag/v1.7.0)

[Compare Source](ankitpokhrel/jira-cli@v1.6.0...v1.7.0)

This release adds CSV and JSON output support for issue listings and upgrades deprecated endpoints to ensure compatibility with the latest Jira APIs.

> \[!IMPORTANT]
>
> - The [new API](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-search/#api-rest-api-3-search-jql-get) does not return the total number of entries anymore, so the total issue count is no longer displayed in the search results.
> - Consequently, the `startAt` parameter in the new API is unsupported. Therefore, the `from` part of the `--paginate=<from>:<limit>` flag is effectively ignored. Users can still paginate using the maxResults parameter (e.g., --paginate=10).

#### 🥷 What's added?

- feat: Add option to list issues in raw JSON by [@&#8203;evg656e](https://github.com/evg656e) in [#&#8203;840](ankitpokhrel/jira-cli#840)
- feat: Add releases Subcommand by [@&#8203;vkhitrin](https://github.com/vkhitrin) in [#&#8203;851](ankitpokhrel/jira-cli#851)
- feat: Support num comments in issue list cmd by [@&#8203;ankitpokhrel](https://github.com/ankitpokhrel) in [#&#8203;853](ankitpokhrel/jira-cli#853)
- feat: Support CSV when listing issues by [@&#8203;ankitpokhrel](https://github.com/ankitpokhrel) in [#&#8203;854](ankitpokhrel/jira-cli#854)
- feat: Allow skipping notification on edit by [@&#8203;ankitpokhrel](https://github.com/ankitpokhrel) in [#&#8203;855](ankitpokhrel/jira-cli#855)
- feat: Add command line arg delimiter for custom delimiter instead of tab. by [@&#8203;iksi4prs](https://github.com/iksi4prs) in [#&#8203;662](ankitpokhrel/jira-cli#662)
- feat: Add support for environment variable to specify config file path by [@&#8203;aazon](https://github.com/aazon) in [#&#8203;858](ankitpokhrel/jira-cli#858)

#### 🐞 What's fixed?

- fix: usernames can be 2 chars by [@&#8203;jontyq](https://github.com/jontyq) in [#&#8203;890](ankitpokhrel/jira-cli#890)
- fix: Update deprecated endpoint by [@&#8203;ankitpokhrel](https://github.com/ankitpokhrel) in [#&#8203;892](ankitpokhrel/jira-cli#892)
- fix: csv format priority by [@&#8203;ciricc](https://github.com/ciricc) in [#&#8203;882](ankitpokhrel/jira-cli#882)

#### ☕️ Other changes

- chore(docs): Add packaging stats to Installation section in README.md by [@&#8203;kskarthik](https://github.com/kskarthik) in [#&#8203;857](ankitpokhrel/jira-cli#857)

#### New Contributors

- [@&#8203;evg656e](https://github.com/evg656e) made their first contribution in [#&#8203;840](ankitpokhrel/jira-cli#840)
- [@&#8203;vkhitrin](https://github.com/vkhitrin) made their first contribution in [#&#8203;851](ankitpokhrel/jira-cli#851)
- [@&#8203;iksi4prs](https://github.com/iksi4prs) made their first contribution in [#&#8203;662](ankitpokhrel/jira-cli#662)
- [@&#8203;aazon](https://github.com/aazon) made their first contribution in [#&#8203;858](ankitpokhrel/jira-cli#858)
- [@&#8203;jontyq](https://github.com/jontyq) made their first contribution in [#&#8203;890](ankitpokhrel/jira-cli#890)
- [@&#8203;ciricc](https://github.com/ciricc) made their first contribution in [#&#8203;882](ankitpokhrel/jira-cli#882)
- [@&#8203;kskarthik](https://github.com/kskarthik) made their first contribution in [#&#8203;857](ankitpokhrel/jira-cli#857)

**Full Changelog**: <ankitpokhrel/jira-cli@v1.6.0...v1.7.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4zIiwidXBkYXRlZEluVmVyIjoiNDEuOTEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants