backlogops 0.2__tar.gz → 0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. {backlogops-0.2/backlogops.egg-info → backlogops-0.3}/PKG-INFO +64 -18
  2. backlogops-0.2/PKG-INFO → backlogops-0.3/README_pypi.md +53 -42
  3. backlogops-0.2/README_pypi.md → backlogops-0.3/backlogops.egg-info/PKG-INFO +88 -10
  4. {backlogops-0.2 → backlogops-0.3}/backlogops.egg-info/SOURCES.txt +18 -0
  5. backlogops-0.3/backlogops.egg-info/requires.txt +6 -0
  6. {backlogops-0.2 → backlogops-0.3}/pyproject.toml +6 -5
  7. {backlogops-0.2 → backlogops-0.3}/setup.py +7 -5
  8. {backlogops-0.2 → backlogops-0.3}/src/backlogops/__init__.py +69 -5
  9. {backlogops-0.2 → backlogops-0.3}/src/backlogops/backlog.py +6 -4
  10. {backlogops-0.2 → backlogops-0.3}/src/backlogops/backlog_helpers.py +68 -6
  11. {backlogops-0.2 → backlogops-0.3}/src/backlogops/backlog_ops_config.py +34 -4
  12. {backlogops-0.2 → backlogops-0.3}/src/backlogops/backlog_ops_wizard.py +13 -3
  13. backlogops-0.3/src/backlogops/jira_connect.py +105 -0
  14. backlogops-0.3/src/backlogops/jira_io_config.py +787 -0
  15. backlogops-0.3/src/backlogops/jira_order_releases.py +202 -0
  16. backlogops-0.3/src/backlogops/jira_rank_backlog.py +251 -0
  17. backlogops-0.3/src/backlogops/jira_rank_by_keys.py +165 -0
  18. backlogops-0.3/src/backlogops/jira_rank_move_keys.py +273 -0
  19. backlogops-0.3/src/backlogops/jira_read.py +372 -0
  20. backlogops-0.3/src/backlogops/jira_rename_releases.py +214 -0
  21. backlogops-0.3/src/backlogops/jira_token.py +76 -0
  22. backlogops-0.3/src/backlogops/jira_update_backlog.py +629 -0
  23. backlogops-0.3/src/backlogops/jira_update_releases.py +229 -0
  24. backlogops-0.3/src/backlogops/jira_wizard.py +246 -0
  25. backlogops-0.3/src/backlogops/jira_write.py +927 -0
  26. backlogops-0.3/src/backlogops/jira_write_fields.py +167 -0
  27. backlogops-0.3/src/backlogops/jira_write_format.py +101 -0
  28. backlogops-0.3/src/backlogops/jira_write_releases.py +327 -0
  29. {backlogops-0.2 → backlogops-0.3}/src/backlogops/key_list_io.py +4 -10
  30. {backlogops-0.2 → backlogops-0.3}/src/backlogops/levels.py +15 -12
  31. backlogops-0.3/src/backlogops/name_list_io.py +68 -0
  32. {backlogops-0.2 → backlogops-0.3}/src/backlogops/order_by_dependencies.py +24 -0
  33. {backlogops-0.2 → backlogops-0.3}/src/backlogops/releases.py +13 -15
  34. backlogops-0.3/src/backlogops/rename_list_io.py +135 -0
  35. {backlogops-0.2 → backlogops-0.3}/src/backlogops/table_create.py +33 -7
  36. {backlogops-0.2 → backlogops-0.3}/src/backlogops/wizard_helpers.py +242 -9
  37. backlogops-0.2/backlogops.egg-info/requires.txt +0 -4
  38. {backlogops-0.2 → backlogops-0.3}/LICENSE.txt +0 -0
  39. {backlogops-0.2 → backlogops-0.3}/backlogops.egg-info/dependency_links.txt +0 -0
  40. {backlogops-0.2 → backlogops-0.3}/backlogops.egg-info/top_level.txt +0 -0
  41. {backlogops-0.2 → backlogops-0.3}/setup.cfg +0 -0
  42. {backlogops-0.2 → backlogops-0.3}/src/backlogops/apply_format_rules.py +0 -0
  43. {backlogops-0.2 → backlogops-0.3}/src/backlogops/available_teams.py +0 -0
  44. {backlogops-0.2 → backlogops-0.3}/src/backlogops/available_teams_config.py +0 -0
  45. {backlogops-0.2 → backlogops-0.3}/src/backlogops/backlog_in_release_order.py +0 -0
  46. {backlogops-0.2 → backlogops-0.3}/src/backlogops/backlog_releases.py +0 -0
  47. {backlogops-0.2 → backlogops-0.3}/src/backlogops/backlog_releases_io.py +0 -0
  48. {backlogops-0.2 → backlogops-0.3}/src/backlogops/blo_version_reporter.py +0 -0
  49. {backlogops-0.2 → backlogops-0.3}/src/backlogops/date_ranges.py +0 -0
  50. {backlogops-0.2 → backlogops-0.3}/src/backlogops/demo_backlog.py +0 -0
  51. {backlogops-0.2 → backlogops-0.3}/src/backlogops/estimate_ready_date.py +0 -0
  52. {backlogops-0.2 → backlogops-0.3}/src/backlogops/format_rules.py +0 -0
  53. {backlogops-0.2 → backlogops-0.3}/src/backlogops/io_config.py +0 -0
  54. {backlogops-0.2 → backlogops-0.3}/src/backlogops/io_preset_wizard.py +0 -0
  55. {backlogops-0.2 → backlogops-0.3}/src/backlogops/move_keys_first.py +0 -0
  56. {backlogops-0.2 → backlogops-0.3}/src/backlogops/no_text_io.py +0 -0
  57. {backlogops-0.2 → backlogops-0.3}/src/backlogops/person.py +0 -0
  58. {backlogops-0.2 → backlogops-0.3}/src/backlogops/py.typed +0 -0
  59. {backlogops-0.2 → backlogops-0.3}/src/backlogops/release_backlog_updates.py +0 -0
  60. {backlogops-0.2 → backlogops-0.3}/src/backlogops/release_change_io.py +0 -0
  61. {backlogops-0.2 → backlogops-0.3}/src/backlogops/table_rows.py +0 -0
  62. {backlogops-0.2 → backlogops-0.3}/src/backlogops/team.py +0 -0
  63. {backlogops-0.2 → backlogops-0.3}/src/backlogops/work_hours.py +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: backlogops
3
- Version: 0.2
3
+ Version: 0.3
4
4
  Summary: Library with backlog operations.
5
5
  Author: Tom Björkholm
6
6
  Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
7
7
  License-Expression: MIT
8
- Project-URL: Homepage, https://bitbucket.org/tom-bjorkholm/backlog-ops
9
- Project-URL: Source code, https://bitbucket.org/tom-bjorkholm/backlog-ops
10
- Project-URL: Documentation, https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/
8
+ Project-URL: Homepage, https://github.com/tom-bjorkholm/backlog-ops
9
+ Project-URL: Source code, https://github.com/tom-bjorkholm/backlog-ops
10
+ Project-URL: Documentation, https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/
11
11
  Keywords: backlog,release planning,agile,scrum,scheduling,roadmap,project management,product owner,product management
12
12
  Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.12
@@ -18,13 +18,16 @@ Classifier: Development Status :: 3 - Alpha
18
18
  Classifier: Intended Audience :: Developers
19
19
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
20
  Classifier: Topic :: Office/Business :: Scheduling
21
+ Classifier: Typing :: Typed
21
22
  Requires-Python: >=3.12
22
23
  Description-Content-Type: text/markdown
23
24
  License-File: LICENSE.txt
24
- Requires-Dist: config-as-json>=1.3
25
- Requires-Dist: tableio>=1.0
26
- Requires-Dist: tableio-cfg-json>=0.6
27
- Requires-Dist: versionreporter>=0.3
25
+ Requires-Dist: config-as-json>=1.4
26
+ Requires-Dist: cryptography>=49.0.0
27
+ Requires-Dist: jira[cli,opt]>=3.10.5
28
+ Requires-Dist: tableio>=1.1
29
+ Requires-Dist: tableio-cfg-json>=0.8
30
+ Requires-Dist: versionreporter>=0.4
28
31
  Dynamic: author
29
32
  Dynamic: license-file
30
33
  Dynamic: requires-dist
@@ -101,6 +104,23 @@ The following functionality is available in all 3 packages:
101
104
  - A wizard to create a backlog-ops configuration file with the workforce, named
102
105
  input and output presets, level names, and status name mapping.
103
106
 
107
+ - Read a backlog and releases from Jira into a backlog and release table.
108
+
109
+ - Write a backlog to Jira, creating a new Jira issue for each backlog item.
110
+
111
+ - Update a backlog that is already in Jira, changing only the chosen columns.
112
+
113
+ - Add the releases to Jira as Jira versions.
114
+
115
+ - Update the releases in Jira, setting their dates to the planned release dates.
116
+
117
+ - Order the releases in Jira by date, by a name list, or by the input order.
118
+
119
+ - Rename releases in Jira, changing the Jira version names.
120
+
121
+ - Move backlog items to a chosen anchor in the Jira rank order, following a key
122
+ list.
123
+
104
124
  ## The operating model
105
125
 
106
126
  The operating model that most of the functionality is designed for is that the
@@ -136,8 +156,9 @@ the library:
136
156
  before the parent item starts, and the parent item cannot finish before all
137
157
  its children have finished.
138
158
 
139
- - `release` The release of the backlog item. Optional. Follows the same
140
- character rules as the key. Must not be empty string.
159
+ - `release` The release of the backlog item. Optional. Must not be empty string,
160
+ must not start or end with whitespace, and must not contain tabs, newlines or
161
+ control characters.
141
162
 
142
163
  - `team` The team responsible for the backlog item. Optional. Must not be empty
143
164
  string. Must be a valid team name. If None the item can be done by any team.
@@ -177,21 +198,27 @@ To install backlogops on Microsoft Windows, run the following command:
177
198
  pip install --upgrade backlogops
178
199
  ````
179
200
 
201
+ ## Using backlogops documentation
202
+
203
+ For a better understanding of how to use the library, CLI or GUI, see the user
204
+ documentation:
205
+ [Using backlogops](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc//using_backlogops/README.md)
206
+
180
207
  ## API documentation
181
208
 
182
209
  For more detailed code documentation, see the API documentation:
183
210
 
184
- - [Library public API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_api.md)
211
+ - [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
185
212
 
186
- - [Library protected API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_api.md)
213
+ - [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
187
214
 
188
- - [Library public CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_cli.md)
215
+ - [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
189
216
 
190
- - [Library protected CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_cli.md)
217
+ - [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
191
218
 
192
- - [Library public GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_gui.md)
219
+ - [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
193
220
 
194
- - [Library protected GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_gui.md)
221
+ - [Protected GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_gui.md)
195
222
 
196
223
  ## Library main entry points
197
224
 
@@ -254,13 +281,32 @@ from backlogops import (
254
281
  - `check_backlog_consistency`: validate the backlog and releases for
255
282
  consistency.
256
283
 
284
+ ### Jira
285
+
286
+ - `read_backlog_from_jira`: read a backlog and its releases from Jira.
287
+
288
+ - `add_backlog_to_jira`, `update_backlog_in_jira`: create Jira issues
289
+ for the backlog items, or update selected fields of existing issues.
290
+
291
+ - `add_releases_to_jira`, `update_releases_in_jira`: create Jira
292
+ versions for the releases, or update their dates.
293
+
294
+ - `order_releases_in_jira`, `rename_releases_in_jira`: order and rename
295
+ the Jira versions.
296
+
297
+ - `jira_rank_backlog`, `jira_rank_move_keys`: rank backlog items in the
298
+ Jira rank order.
299
+
300
+ - `JiraIOConfig`, `JiraPreset`: the Jira connection and preset
301
+ configuration.
302
+
257
303
  For the full set of public names see the API documentation linked above.
258
304
 
259
305
  ## Test summary
260
306
 
261
- - Test result: 1545 passed in 32s
307
+ - Test result: 2284 passed, 7 deselected in 44s
262
308
  - No flake8 warnings.
263
309
  - No mypy errors found.
264
310
  - No python layout warnings.
265
- - Built version(s): 0.2
311
+ - Built version(s): 0.3
266
312
  - Build and test using Python 3.14.6
@@ -1,35 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: backlogops
3
- Version: 0.2
4
- Summary: Library with backlog operations.
5
- Author: Tom Björkholm
6
- Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
7
- License-Expression: MIT
8
- Project-URL: Homepage, https://bitbucket.org/tom-bjorkholm/backlog-ops
9
- Project-URL: Source code, https://bitbucket.org/tom-bjorkholm/backlog-ops
10
- Project-URL: Documentation, https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/
11
- Keywords: backlog,release planning,agile,scrum,scheduling,roadmap,project management,product owner,product management
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.12
14
- Classifier: Programming Language :: Python :: 3.13
15
- Classifier: Programming Language :: Python :: 3.14
16
- Classifier: Operating System :: OS Independent
17
- Classifier: Development Status :: 3 - Alpha
18
- Classifier: Intended Audience :: Developers
19
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
- Classifier: Topic :: Office/Business :: Scheduling
21
- Requires-Python: >=3.12
22
- Description-Content-Type: text/markdown
23
- License-File: LICENSE.txt
24
- Requires-Dist: config-as-json>=1.3
25
- Requires-Dist: tableio>=1.0
26
- Requires-Dist: tableio-cfg-json>=0.6
27
- Requires-Dist: versionreporter>=0.3
28
- Dynamic: author
29
- Dynamic: license-file
30
- Dynamic: requires-dist
31
- Dynamic: requires-python
32
-
33
1
  # backlogops
34
2
 
35
3
  There are 3 related packages for backlog operations:
@@ -101,6 +69,23 @@ The following functionality is available in all 3 packages:
101
69
  - A wizard to create a backlog-ops configuration file with the workforce, named
102
70
  input and output presets, level names, and status name mapping.
103
71
 
72
+ - Read a backlog and releases from Jira into a backlog and release table.
73
+
74
+ - Write a backlog to Jira, creating a new Jira issue for each backlog item.
75
+
76
+ - Update a backlog that is already in Jira, changing only the chosen columns.
77
+
78
+ - Add the releases to Jira as Jira versions.
79
+
80
+ - Update the releases in Jira, setting their dates to the planned release dates.
81
+
82
+ - Order the releases in Jira by date, by a name list, or by the input order.
83
+
84
+ - Rename releases in Jira, changing the Jira version names.
85
+
86
+ - Move backlog items to a chosen anchor in the Jira rank order, following a key
87
+ list.
88
+
104
89
  ## The operating model
105
90
 
106
91
  The operating model that most of the functionality is designed for is that the
@@ -136,8 +121,9 @@ the library:
136
121
  before the parent item starts, and the parent item cannot finish before all
137
122
  its children have finished.
138
123
 
139
- - `release` The release of the backlog item. Optional. Follows the same
140
- character rules as the key. Must not be empty string.
124
+ - `release` The release of the backlog item. Optional. Must not be empty string,
125
+ must not start or end with whitespace, and must not contain tabs, newlines or
126
+ control characters.
141
127
 
142
128
  - `team` The team responsible for the backlog item. Optional. Must not be empty
143
129
  string. Must be a valid team name. If None the item can be done by any team.
@@ -177,21 +163,27 @@ To install backlogops on Microsoft Windows, run the following command:
177
163
  pip install --upgrade backlogops
178
164
  ````
179
165
 
166
+ ## Using backlogops documentation
167
+
168
+ For a better understanding of how to use the library, CLI or GUI, see the user
169
+ documentation:
170
+ [Using backlogops](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc//using_backlogops/README.md)
171
+
180
172
  ## API documentation
181
173
 
182
174
  For more detailed code documentation, see the API documentation:
183
175
 
184
- - [Library public API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_api.md)
176
+ - [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
185
177
 
186
- - [Library protected API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_api.md)
178
+ - [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
187
179
 
188
- - [Library public CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_cli.md)
180
+ - [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
189
181
 
190
- - [Library protected CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_cli.md)
182
+ - [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
191
183
 
192
- - [Library public GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_gui.md)
184
+ - [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
193
185
 
194
- - [Library protected GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_gui.md)
186
+ - [Protected GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_gui.md)
195
187
 
196
188
  ## Library main entry points
197
189
 
@@ -254,13 +246,32 @@ from backlogops import (
254
246
  - `check_backlog_consistency`: validate the backlog and releases for
255
247
  consistency.
256
248
 
249
+ ### Jira
250
+
251
+ - `read_backlog_from_jira`: read a backlog and its releases from Jira.
252
+
253
+ - `add_backlog_to_jira`, `update_backlog_in_jira`: create Jira issues
254
+ for the backlog items, or update selected fields of existing issues.
255
+
256
+ - `add_releases_to_jira`, `update_releases_in_jira`: create Jira
257
+ versions for the releases, or update their dates.
258
+
259
+ - `order_releases_in_jira`, `rename_releases_in_jira`: order and rename
260
+ the Jira versions.
261
+
262
+ - `jira_rank_backlog`, `jira_rank_move_keys`: rank backlog items in the
263
+ Jira rank order.
264
+
265
+ - `JiraIOConfig`, `JiraPreset`: the Jira connection and preset
266
+ configuration.
267
+
257
268
  For the full set of public names see the API documentation linked above.
258
269
 
259
270
  ## Test summary
260
271
 
261
- - Test result: 1545 passed in 32s
272
+ - Test result: 2284 passed, 7 deselected in 44s
262
273
  - No flake8 warnings.
263
274
  - No mypy errors found.
264
275
  - No python layout warnings.
265
- - Built version(s): 0.2
276
+ - Built version(s): 0.3
266
277
  - Build and test using Python 3.14.6
@@ -1,3 +1,38 @@
1
+ Metadata-Version: 2.4
2
+ Name: backlogops
3
+ Version: 0.3
4
+ Summary: Library with backlog operations.
5
+ Author: Tom Björkholm
6
+ Author-email: Tom Björkholm <klausuler_linnet0q@icloud.com>
7
+ License-Expression: MIT
8
+ Project-URL: Homepage, https://github.com/tom-bjorkholm/backlog-ops
9
+ Project-URL: Source code, https://github.com/tom-bjorkholm/backlog-ops
10
+ Project-URL: Documentation, https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/
11
+ Keywords: backlog,release planning,agile,scrum,scheduling,roadmap,project management,product owner,product management
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Development Status :: 3 - Alpha
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Classifier: Topic :: Office/Business :: Scheduling
21
+ Classifier: Typing :: Typed
22
+ Requires-Python: >=3.12
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE.txt
25
+ Requires-Dist: config-as-json>=1.4
26
+ Requires-Dist: cryptography>=49.0.0
27
+ Requires-Dist: jira[cli,opt]>=3.10.5
28
+ Requires-Dist: tableio>=1.1
29
+ Requires-Dist: tableio-cfg-json>=0.8
30
+ Requires-Dist: versionreporter>=0.4
31
+ Dynamic: author
32
+ Dynamic: license-file
33
+ Dynamic: requires-dist
34
+ Dynamic: requires-python
35
+
1
36
  # backlogops
2
37
 
3
38
  There are 3 related packages for backlog operations:
@@ -69,6 +104,23 @@ The following functionality is available in all 3 packages:
69
104
  - A wizard to create a backlog-ops configuration file with the workforce, named
70
105
  input and output presets, level names, and status name mapping.
71
106
 
107
+ - Read a backlog and releases from Jira into a backlog and release table.
108
+
109
+ - Write a backlog to Jira, creating a new Jira issue for each backlog item.
110
+
111
+ - Update a backlog that is already in Jira, changing only the chosen columns.
112
+
113
+ - Add the releases to Jira as Jira versions.
114
+
115
+ - Update the releases in Jira, setting their dates to the planned release dates.
116
+
117
+ - Order the releases in Jira by date, by a name list, or by the input order.
118
+
119
+ - Rename releases in Jira, changing the Jira version names.
120
+
121
+ - Move backlog items to a chosen anchor in the Jira rank order, following a key
122
+ list.
123
+
72
124
  ## The operating model
73
125
 
74
126
  The operating model that most of the functionality is designed for is that the
@@ -104,8 +156,9 @@ the library:
104
156
  before the parent item starts, and the parent item cannot finish before all
105
157
  its children have finished.
106
158
 
107
- - `release` The release of the backlog item. Optional. Follows the same
108
- character rules as the key. Must not be empty string.
159
+ - `release` The release of the backlog item. Optional. Must not be empty string,
160
+ must not start or end with whitespace, and must not contain tabs, newlines or
161
+ control characters.
109
162
 
110
163
  - `team` The team responsible for the backlog item. Optional. Must not be empty
111
164
  string. Must be a valid team name. If None the item can be done by any team.
@@ -145,21 +198,27 @@ To install backlogops on Microsoft Windows, run the following command:
145
198
  pip install --upgrade backlogops
146
199
  ````
147
200
 
201
+ ## Using backlogops documentation
202
+
203
+ For a better understanding of how to use the library, CLI or GUI, see the user
204
+ documentation:
205
+ [Using backlogops](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc//using_backlogops/README.md)
206
+
148
207
  ## API documentation
149
208
 
150
209
  For more detailed code documentation, see the API documentation:
151
210
 
152
- - [Library public API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_api.md)
211
+ - [Library public API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_api.md)
153
212
 
154
- - [Library protected API](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_api.md)
213
+ - [Library protected API](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_api.md)
155
214
 
156
- - [Library public CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_cli.md)
215
+ - [Public CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_cli.md)
157
216
 
158
- - [Library protected CLI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_cli.md)
217
+ - [Protected CLI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_cli.md)
159
218
 
160
- - [Library public GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_gui.md)
219
+ - [Public GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_gui.md)
161
220
 
162
- - [Library protected GUI](https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/backlogops_protected_gui.md)
221
+ - [Protected GUI code documentation](https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/backlogops_protected_gui.md)
163
222
 
164
223
  ## Library main entry points
165
224
 
@@ -222,13 +281,32 @@ from backlogops import (
222
281
  - `check_backlog_consistency`: validate the backlog and releases for
223
282
  consistency.
224
283
 
284
+ ### Jira
285
+
286
+ - `read_backlog_from_jira`: read a backlog and its releases from Jira.
287
+
288
+ - `add_backlog_to_jira`, `update_backlog_in_jira`: create Jira issues
289
+ for the backlog items, or update selected fields of existing issues.
290
+
291
+ - `add_releases_to_jira`, `update_releases_in_jira`: create Jira
292
+ versions for the releases, or update their dates.
293
+
294
+ - `order_releases_in_jira`, `rename_releases_in_jira`: order and rename
295
+ the Jira versions.
296
+
297
+ - `jira_rank_backlog`, `jira_rank_move_keys`: rank backlog items in the
298
+ Jira rank order.
299
+
300
+ - `JiraIOConfig`, `JiraPreset`: the Jira connection and preset
301
+ configuration.
302
+
225
303
  For the full set of public names see the API documentation linked above.
226
304
 
227
305
  ## Test summary
228
306
 
229
- - Test result: 1545 passed in 32s
307
+ - Test result: 2284 passed, 7 deselected in 44s
230
308
  - No flake8 warnings.
231
309
  - No mypy errors found.
232
310
  - No python layout warnings.
233
- - Built version(s): 0.2
311
+ - Built version(s): 0.3
234
312
  - Build and test using Python 3.14.6
@@ -25,9 +25,26 @@ src/backlogops/estimate_ready_date.py
25
25
  src/backlogops/format_rules.py
26
26
  src/backlogops/io_config.py
27
27
  src/backlogops/io_preset_wizard.py
28
+ src/backlogops/jira_connect.py
29
+ src/backlogops/jira_io_config.py
30
+ src/backlogops/jira_order_releases.py
31
+ src/backlogops/jira_rank_backlog.py
32
+ src/backlogops/jira_rank_by_keys.py
33
+ src/backlogops/jira_rank_move_keys.py
34
+ src/backlogops/jira_read.py
35
+ src/backlogops/jira_rename_releases.py
36
+ src/backlogops/jira_token.py
37
+ src/backlogops/jira_update_backlog.py
38
+ src/backlogops/jira_update_releases.py
39
+ src/backlogops/jira_wizard.py
40
+ src/backlogops/jira_write.py
41
+ src/backlogops/jira_write_fields.py
42
+ src/backlogops/jira_write_format.py
43
+ src/backlogops/jira_write_releases.py
28
44
  src/backlogops/key_list_io.py
29
45
  src/backlogops/levels.py
30
46
  src/backlogops/move_keys_first.py
47
+ src/backlogops/name_list_io.py
31
48
  src/backlogops/no_text_io.py
32
49
  src/backlogops/order_by_dependencies.py
33
50
  src/backlogops/person.py
@@ -35,6 +52,7 @@ src/backlogops/py.typed
35
52
  src/backlogops/release_backlog_updates.py
36
53
  src/backlogops/release_change_io.py
37
54
  src/backlogops/releases.py
55
+ src/backlogops/rename_list_io.py
38
56
  src/backlogops/table_create.py
39
57
  src/backlogops/table_rows.py
40
58
  src/backlogops/team.py
@@ -0,0 +1,6 @@
1
+ config-as-json>=1.4
2
+ cryptography>=49.0.0
3
+ jira[cli,opt]>=3.10.5
4
+ tableio>=1.1
5
+ tableio-cfg-json>=0.8
6
+ versionreporter>=0.4
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "backlogops"
7
- version = "0.2"
7
+ version = "0.3"
8
8
  authors = [
9
9
  { name="Tom Björkholm", email="klausuler_linnet0q@icloud.com" },
10
10
  ]
@@ -25,11 +25,12 @@ classifiers = [
25
25
  "Development Status :: 3 - Alpha",
26
26
  "Intended Audience :: Developers",
27
27
  "Topic :: Software Development :: Libraries :: Python Modules",
28
- "Topic :: Office/Business :: Scheduling"
28
+ "Topic :: Office/Business :: Scheduling",
29
+ "Typing :: Typed"
29
30
  ]
30
31
  dynamic = ["dependencies"]
31
32
 
32
33
  [project.urls]
33
- "Homepage" = "https://bitbucket.org/tom-bjorkholm/backlog-ops"
34
- "Source code" = "https://bitbucket.org/tom-bjorkholm/backlog-ops"
35
- "Documentation" = "https://bitbucket.org/tom-bjorkholm/backlog-ops/src/master/doc/"
34
+ "Homepage" = "https://github.com/tom-bjorkholm/backlog-ops"
35
+ "Source code" = "https://github.com/tom-bjorkholm/backlog-ops"
36
+ "Documentation" = "https://github.com/tom-bjorkholm/backlog-ops/blob/master/doc/"
@@ -5,7 +5,7 @@ from setuptools import setup
5
5
 
6
6
  setup(
7
7
  name='backlogops',
8
- version='0.2',
8
+ version='0.3',
9
9
  description='Library with backlog operations.',
10
10
  author='Tom Björkholm',
11
11
  author_email='klausuler_linnet0q@icloud.com',
@@ -14,9 +14,11 @@ setup(
14
14
  package_dir={'backlogops': 'src/backlogops'},
15
15
  package_data={'backlogops': ['src/py.typed']},
16
16
  install_requires=[
17
- 'config-as-json >= 1.3',
18
- 'tableio >= 1.0',
19
- 'tableio-cfg-json >= 0.6',
20
- 'versionreporter >= 0.3'
17
+ 'config-as-json >= 1.4',
18
+ 'cryptography >= 49.0.0',
19
+ 'jira[cli,opt] >= 3.10.5',
20
+ 'tableio >= 1.1',
21
+ 'tableio-cfg-json >= 0.8',
22
+ 'versionreporter >= 0.4'
21
23
  ]
22
24
  )
@@ -29,9 +29,9 @@ from backlogops.available_teams_config import (
29
29
  AvailableTeamsConfig, read_available_teams, write_available_teams)
30
30
  from backlogops.backlog_ops_config import (
31
31
  BacklogOpsConfig, read_backlog_ops_config, write_backlog_ops_config,
32
- get_backlog_ops_config)
32
+ get_backlog_ops_config, DEF_STATUS_INPUT_MAP)
33
33
  from backlogops.order_by_dependencies import (
34
- order_by_dependencies, DependencyMode)
34
+ order_by_dependencies, DependencyMode, precedence_relations)
35
35
  from backlogops.estimate_ready_date import (
36
36
  estimate_ready_date, set_plan_from_estimate)
37
37
  from backlogops.release_backlog_updates import (
@@ -45,6 +45,11 @@ from backlogops.io_config import (
45
45
  GuiDisplayConfig, InputFormatConfig, OutputFormatConfig,
46
46
  resolve_input_config, resolve_output_config, make_input_config,
47
47
  make_output_config)
48
+ from backlogops.jira_io_config import (
49
+ JiraIOConfig, JiraConnectConfig, JiraPreset, JiraType,
50
+ TokenStorage, JiraAttrType, JiraAttrPath, JiraColumnMap,
51
+ JiraIssueTypeMap, DEF_BACKLOG_COLUMN_MAP, DEF_RELEASE_COLUMN_MAP,
52
+ CLEAR_TOKEN_WARNING, default_jira_filter)
48
53
  from backlogops.table_create import FileExistsCb, allow_overwrite
49
54
  from backlogops.backlog_releases_io import (
50
55
  read_backlog_releases, write_backlog_releases)
@@ -56,6 +61,7 @@ from backlogops.format_rules import FormatRules
56
61
  from backlogops.apply_format_rules import format_backlog, format_releases
57
62
  from backlogops.move_keys_first import move_keys_first, get_keys_in_order
58
63
  from backlogops.key_list_io import read_key_list, write_key_list
64
+ from backlogops.name_list_io import read_name_list
59
65
  from backlogops.backlog_ops_wizard import (
60
66
  available_teams_wizard, backlog_ops_wizard)
61
67
  from backlogops.io_preset_wizard import preset_wizard
@@ -65,6 +71,38 @@ from backlogops.work_hours import (
65
71
  from backlogops.date_ranges import check_date_range, check_no_overlap
66
72
  from backlogops.no_text_io import NoTextIO
67
73
  from backlogops.backlog_in_release_order import backlog_in_release_order
74
+ from backlogops.jira_connect import JiraConnections
75
+ from backlogops.jira_read import (
76
+ read_backlog_from_jira, read_jira_from_config, build_backlog_releases,
77
+ resolve_jql)
78
+ from backlogops.jira_write_fields import FailedLink
79
+ from backlogops.jira_write import (
80
+ add_backlog_to_jira, AddedToJira, ExistsInJiraError, FailedItem,
81
+ ItemNotInJiraError, OnExistingKey, OnMissingKey, StatusMismatch,
82
+ UnknownIssueTypeError, apply_jira_keys,
83
+ jira_custom_fields, jira_editable_fields)
84
+ from backlogops.jira_write_format import format_add_result
85
+ from backlogops.jira_write_releases import (
86
+ add_releases_to_jira, AddedReleasesToJira, FailedRelease,
87
+ ReleaseExistsError, format_release_result)
88
+ from backlogops.jira_update_releases import (
89
+ update_releases_in_jira, UpdatedReleasesInJira, format_release_updates)
90
+ from backlogops.jira_rename_releases import (
91
+ rename_release_in_jira, rename_releases_in_jira, ReleaseRename,
92
+ FailedRename, RenamedReleasesInJira, format_rename_result)
93
+ from backlogops.jira_order_releases import (
94
+ order_releases_in_jira, order_jira_rel_by_date, OrderedReleasesInJira,
95
+ format_order_result)
96
+ from backlogops.rename_list_io import read_renames
97
+ from backlogops.jira_update_backlog import (
98
+ update_backlog_in_jira, UpdatedBacklogInJira, LinkUpdate,
99
+ format_backlog_updates, updatable_backlog_fields)
100
+ from backlogops.jira_rank_by_keys import (
101
+ jira_rank_by_keys_raw, JiraKeyError, JiraTooManyLoops)
102
+ from backlogops.jira_rank_backlog import (
103
+ jira_rank_backlog, JiraRankAnchor, BadJiraRankFilter)
104
+ from backlogops.jira_rank_move_keys import (
105
+ jira_rank_move_keys, RankedInJira, format_rank_result)
68
106
 
69
107
  __all__ = [
70
108
  'Backlog', 'BacklogItem', 'Status', 'get_backlog', 'get_backlog_item',
@@ -78,10 +116,15 @@ __all__ = [
78
116
  'AvailableTeams', 'AvailableTeamsConfig', 'read_available_teams',
79
117
  'write_available_teams', 'BacklogOpsConfig', 'read_backlog_ops_config',
80
118
  'write_backlog_ops_config', 'get_backlog_ops_config',
81
- 'order_by_dependencies',
119
+ 'order_by_dependencies', 'precedence_relations',
82
120
  'DependencyMode', 'GuiDisplayConfig', 'InputFormatConfig',
83
121
  'OutputFormatConfig', 'resolve_input_config', 'resolve_output_config',
84
- 'make_input_config', 'make_output_config', 'FileExistsCb',
122
+ 'make_input_config', 'make_output_config',
123
+ 'JiraIOConfig', 'JiraConnectConfig', 'JiraPreset',
124
+ 'JiraType', 'TokenStorage', 'JiraAttrType', 'JiraAttrPath',
125
+ 'JiraColumnMap', 'JiraIssueTypeMap', 'DEF_BACKLOG_COLUMN_MAP',
126
+ 'DEF_RELEASE_COLUMN_MAP', 'DEF_STATUS_INPUT_MAP',
127
+ 'CLEAR_TOKEN_WARNING', 'default_jira_filter', 'FileExistsCb',
85
128
  'allow_overwrite', 'read_backlog_releases', 'write_backlog_releases',
86
129
  'LEVEL_COLUMN', 'LEVEL_NAME_COLUMN', 'apply_column_map',
87
130
  'map_column_order', 'display_level_order',
@@ -95,7 +138,28 @@ __all__ = [
95
138
  'adjust_release_content', 'format_content_changes', 'format_date_changes',
96
139
  'write_content_changes', 'write_date_changes',
97
140
  'move_keys_first', 'get_keys_in_order', 'read_key_list', 'write_key_list',
141
+ 'read_name_list',
98
142
  'available_teams_wizard', 'backlog_ops_wizard', 'preset_wizard',
99
143
  'WeekDay', 'ScheduleWorkHours', 'DEFAULT_WORK_WEEK', 'ExceptionWorkHours',
100
144
  'CompanyWorkHours', 'check_date_range', 'check_no_overlap', 'NoTextIO',
101
- 'backlog_in_release_order']
145
+ 'backlog_in_release_order', 'read_backlog_from_jira',
146
+ 'read_jira_from_config', 'build_backlog_releases', 'resolve_jql',
147
+ 'JiraConnections', 'add_backlog_to_jira', 'AddedToJira',
148
+ 'ExistsInJiraError', 'FailedItem', 'FailedLink', 'ItemNotInJiraError',
149
+ 'OnExistingKey', 'OnMissingKey', 'StatusMismatch',
150
+ 'UnknownIssueTypeError', 'apply_jira_keys', 'format_add_result',
151
+ 'jira_custom_fields', 'jira_editable_fields',
152
+ 'add_releases_to_jira', 'AddedReleasesToJira', 'FailedRelease',
153
+ 'ReleaseExistsError', 'format_release_result',
154
+ 'update_releases_in_jira', 'UpdatedReleasesInJira',
155
+ 'format_release_updates', 'rename_release_in_jira',
156
+ 'rename_releases_in_jira', 'ReleaseRename', 'FailedRename',
157
+ 'RenamedReleasesInJira', 'format_rename_result',
158
+ 'order_releases_in_jira', 'order_jira_rel_by_date',
159
+ 'OrderedReleasesInJira', 'format_order_result', 'read_renames',
160
+ 'update_backlog_in_jira',
161
+ 'UpdatedBacklogInJira', 'LinkUpdate', 'format_backlog_updates',
162
+ 'updatable_backlog_fields', 'jira_rank_by_keys_raw', 'JiraKeyError',
163
+ 'JiraTooManyLoops', 'jira_rank_move_keys', 'jira_rank_backlog',
164
+ 'JiraRankAnchor', 'RankedInJira', 'BadJiraRankFilter',
165
+ 'format_rank_result']