Skip to content

Commit 683d0ca

Browse files
committed
improved release process
1 parent 79a1652 commit 683d0ca

5 files changed

Lines changed: 110 additions & 14 deletions

File tree

.github/workflows/publish.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Publish to PyPI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build-publish:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
16+
- name: Set up Python
17+
uses: actions/setup-python@v5
18+
with:
19+
python-version: '3.12'
20+
21+
- name: Install Poetry
22+
run: |
23+
curl -sSL https://install.python-poetry.org | python3 -
24+
echo "export PATH=$HOME/.local/bin:$PATH" >> $GITHUB_ENV
25+
26+
- name: Configure git
27+
run: |
28+
git config user.name "GitHub Actions"
29+
git config user.email "actions@github.com"
30+
31+
- name: Bump patch version
32+
run: |
33+
poetry version patch
34+
git add pyproject.toml
35+
git commit -m "ci: bump version [skip ci]"
36+
git tag v$(poetry version -s)
37+
git push origin main --tags
38+
39+
- name: Install dependencies
40+
run: poetry install
41+
42+
- name: Build package
43+
run: poetry build
44+
45+
- name: Publish to PyPI
46+
env:
47+
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }}
48+
run: poetry publish --username __token__ --password $POETRY_PYPI_TOKEN_PYPI

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
"tests"
44
],
55
"python.testing.unittestEnabled": false,
6-
"python.testing.pytestEnabled": true
6+
"python.testing.pytestEnabled": true,
7+
"makefile.configureOnOpen": false
78
}

Makefile

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Taskra Makefile - Development and testing utilities
22

3-
.PHONY: clean test test-all test-core test-models test-integration lint examples setup
3+
.PHONY: clean test test-all test-core test-models test-integration lint examples setup publish
44

55
# Default Python interpreter
66
PYTHON = python
@@ -79,6 +79,12 @@ doc:
7979
doc-serve:
8080
cd $(DOC_DIR) && mkdocs serve
8181

82+
# Publish package to PyPI with version bump
83+
publish:
84+
poetry version patch
85+
poetry build
86+
poetry publish
87+
8288
# Help command
8389
help:
8490
@echo "Available targets:"
@@ -95,3 +101,4 @@ help:
95101
@echo " watch - Watch for file changes and run tests"
96102
@echo " doc - Build documentation"
97103
@echo " doc-serve - Serve documentation locally"
104+
@echo " publish - Publish package to PyPI"

README.md

Lines changed: 51 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Taskra
22

3-
Taskra is a command-line tool for managing Jira projects, issues, worklogs, and reports efficiently from your terminal. It aims to streamline your workflow by providing quick access to common Jira operations without leaving the command line.
3+
Taskra is a powerful command-line tool for managing Jira projects, issues, worklogs, and generating reports directly from your terminal. It streamlines your workflow by providing fast, scriptable access to Jira, saving you time and reducing context switching.
44

55
---
66

@@ -18,19 +18,19 @@ pip install -r requirements.txt
1818

1919
### Configuration
2020

21-
Before using Taskra, add your Jira account credentials:
21+
Before using Taskra, configure your Jira account:
2222

2323
```bash
2424
taskra config add
2525
```
2626

2727
You will be prompted for:
2828

29-
- Jira URL (e.g., `https://yourcompany.atlassian.net`)
30-
- Email address
31-
- API token (create at https://id.atlassian.com/manage-profile/security/api-tokens)
29+
- **Jira URL** (e.g., `https://yourcompany.atlassian.net`)
30+
- **Email address**
31+
- **API token** (create at [Atlassian API tokens](https://id.atlassian.com/manage-profile/security/api-tokens))
3232

33-
You can list, remove, or set default accounts with:
33+
Manage accounts:
3434

3535
```bash
3636
taskra config list
@@ -58,12 +58,24 @@ Fetch details of a specific issue:
5858
taskra issue <ISSUE-KEY>
5959
```
6060

61-
Create a new issue (interactive prompt):
61+
Create a new issue interactively:
6262

6363
```bash
6464
taskra issue create
6565
```
6666

67+
Update an issue:
68+
69+
```bash
70+
taskra issue update <ISSUE-KEY>
71+
```
72+
73+
Add a comment to an issue:
74+
75+
```bash
76+
taskra issue comment <ISSUE-KEY> --message "Your comment here"
77+
```
78+
6779
#### Tickets Report
6880

6981
Generate a report of tickets in a project with filters:
@@ -72,7 +84,12 @@ Generate a report of tickets in a project with filters:
7284
taskra tickets <PROJECT-KEY> --start-date YYYY-MM-DD --end-date YYYY-MM-DD --status "In Progress" --assignee "john.doe"
7385
```
7486

75-
Options include grouping, sorting, and output format (table, JSON, CSV).
87+
Options:
88+
89+
- `--group-by status|assignee|none`
90+
- `--sort-by created|updated|status|assignee|priority`
91+
- `--format table|json|csv`
92+
- `--reverse/--no-reverse` (sort order)
7693

7794
#### Worklogs
7895

@@ -88,6 +105,12 @@ Add a worklog to an issue:
88105
taskra worklogs add <ISSUE-KEY> <time-spent> --comment "Worked on feature X"
89106
```
90107

108+
Example:
109+
110+
```bash
111+
taskra worklogs add PROJ-123 2h30m --comment "Bug fixes and testing"
112+
```
113+
91114
#### Reports
92115

93116
Generate cross-project reports:
@@ -98,14 +121,29 @@ taskra report cross --projects PROJ1,PROJ2 --start-date YYYY-MM-DD --end-date YY
98121

99122
---
100123

101-
### Debugging
124+
### Debugging & Verbose Output
102125

103-
Enable debug output with:
126+
Enable debug output to troubleshoot API calls:
104127

105128
```bash
106129
taskra --debug verbose <command>
107130
```
108131

132+
Debug levels:
133+
134+
- `none` (default)
135+
- `error`
136+
- `info`
137+
- `verbose`
138+
139+
---
140+
141+
## Tips
142+
143+
- Use shell completion for faster command entry (see `scripts/taskra-completion.bash`).
144+
- Combine filters to narrow down results.
145+
- Use `--json` to get raw API data for scripting.
146+
109147
---
110148

111149
## License
@@ -116,5 +154,7 @@ MIT License
116154

117155
## Contributing
118156

119-
Contributions are welcome! Please open issues or pull requests.
157+
Contributions, bug reports, and feature requests are welcome! Please open an issue or submit a pull request.
158+
159+
---
120160

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "taskra"
3-
version = "0.1.1"
3+
version = "0.1.2"
44
description = "A command-line tool for task and project management"
55
authors = ["JV <jason.viloria@outlook.com>"]
66
readme = "README.md"

0 commit comments

Comments
 (0)