atlassian-cli 0.10.2__tar.gz → 0.10.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 (29) hide show
  1. {atlassian_cli-0.10.2/src/atlassian_cli.egg-info → atlassian_cli-0.10.3}/PKG-INFO +3 -1
  2. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/README.md +2 -0
  3. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/pyproject.toml +1 -1
  4. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/confluence.py +14 -4
  5. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3/src/atlassian_cli.egg-info}/PKG-INFO +3 -1
  6. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/LICENSE +0 -0
  7. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/setup.cfg +0 -0
  8. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/__init__.py +0 -0
  9. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/adf.py +0 -0
  10. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/config.py +0 -0
  11. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/hints.py +0 -0
  12. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/http.py +0 -0
  13. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/jira.py +0 -0
  14. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/jira_assets.py +0 -0
  15. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/jira_issues.py +0 -0
  16. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/output.py +0 -0
  17. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli/update_check.py +0 -0
  18. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli.egg-info/SOURCES.txt +0 -0
  19. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli.egg-info/dependency_links.txt +0 -0
  20. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli.egg-info/entry_points.txt +0 -0
  21. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli.egg-info/requires.txt +0 -0
  22. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/src/atlassian_cli.egg-info/top_level.txt +0 -0
  23. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/tests/test_adf.py +0 -0
  24. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/tests/test_config.py +0 -0
  25. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/tests/test_confluence.py +0 -0
  26. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/tests/test_http.py +0 -0
  27. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/tests/test_jira_assets.py +0 -0
  28. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/tests/test_jira_issues.py +0 -0
  29. {atlassian_cli-0.10.2 → atlassian_cli-0.10.3}/tests/test_output.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atlassian-cli
3
- Version: 0.10.2
3
+ Version: 0.10.3
4
4
  Summary: Fast CLI tools for Atlassian Cloud (Confluence + Jira) — optimized for AI agents
5
5
  Author-email: Alex Fishlock <alex.fishlock@catapult.cx>
6
6
  License-Expression: MIT
@@ -136,6 +136,7 @@ Create, read, update, and delete blog posts in any Confluence space.
136
136
  confluence blog-create POL "Q1 Product Update"
137
137
  confluence blog-create POL "Release Notes" --body "What's new this quarter..."
138
138
  confluence blog-create POL "Deep Dive" --file /path/to/adf.json
139
+ confluence blog-create POL "Retrospective" --body "..." --created-at 2024-01-15T10:00:00Z
139
140
 
140
141
  # Download a blog post
141
142
  confluence blog-get 123456
@@ -148,6 +149,7 @@ confluence blog-put 123456 --message "Added screenshots"
148
149
  # Update title and/or body directly
149
150
  confluence blog-update 123456 --title "Q1 Update (Revised)"
150
151
  confluence blog-update 123456 --body "Updated content here" -m "Corrections"
152
+ confluence blog-update 123456 --created-at "2024-06-01T08:00:00Z"
151
153
 
152
154
  # List blog posts in a space
153
155
  confluence blog-list POL
@@ -105,6 +105,7 @@ Create, read, update, and delete blog posts in any Confluence space.
105
105
  confluence blog-create POL "Q1 Product Update"
106
106
  confluence blog-create POL "Release Notes" --body "What's new this quarter..."
107
107
  confluence blog-create POL "Deep Dive" --file /path/to/adf.json
108
+ confluence blog-create POL "Retrospective" --body "..." --created-at 2024-01-15T10:00:00Z
108
109
 
109
110
  # Download a blog post
110
111
  confluence blog-get 123456
@@ -117,6 +118,7 @@ confluence blog-put 123456 --message "Added screenshots"
117
118
  # Update title and/or body directly
118
119
  confluence blog-update 123456 --title "Q1 Update (Revised)"
119
120
  confluence blog-update 123456 --body "Updated content here" -m "Corrections"
121
+ confluence blog-update 123456 --created-at "2024-06-01T08:00:00Z"
120
122
 
121
123
  # List blog posts in a space
122
124
  confluence blog-list POL
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "atlassian-cli"
7
- version = "0.10.2"
7
+ version = "0.10.3"
8
8
  description = "Fast CLI tools for Atlassian Cloud (Confluence + Jira) — optimized for AI agents"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -117,7 +117,8 @@ def list_pages(session, base, space_id, statuses=('current',)):
117
117
  # Blog posts (v2)
118
118
  # ---------------------------------------------------------------------------
119
119
 
120
- def create_blogpost(session, base, space_id, title, *, body=None, file=None):
120
+ def create_blogpost(session, base, space_id, title, *, body=None, file=None,
121
+ created_at=None):
121
122
  """Create a blog post in a Confluence space."""
122
123
  body_payload = {}
123
124
  if file:
@@ -144,6 +145,8 @@ def create_blogpost(session, base, space_id, title, *, body=None, file=None):
144
145
  }
145
146
  if body_payload:
146
147
  payload['body'] = body_payload
148
+ if created_at is not None:
149
+ payload['createdAt'] = created_at
147
150
 
148
151
  return api_post(session, base, f'{V2}/blogposts', payload)
149
152
 
@@ -162,8 +165,9 @@ def get_blogpost(session, base, blogpost_id):
162
165
 
163
166
 
164
167
  def update_blogpost(session, base, blogpost_id, *,
165
- title=None, body=None, file=None, message=None):
166
- """Update a blog post's title and/or body."""
168
+ title=None, body=None, file=None, message=None,
169
+ created_at=None):
170
+ """Update a blog post's title, body, and/or creation date."""
167
171
  remote = get_blogpost(session, base, blogpost_id)
168
172
 
169
173
  new_title = title if title is not None else remote.get('title', '')
@@ -203,6 +207,8 @@ def update_blogpost(session, base, blogpost_id, *,
203
207
  }
204
208
  if body_payload:
205
209
  payload['body'] = body_payload
210
+ if created_at is not None:
211
+ payload['createdAt'] = created_at
206
212
 
207
213
  api_put(session, base, f'{V2}/blogposts/{blogpost_id}', payload)
208
214
  return new_title, new_version
@@ -506,7 +512,8 @@ def cmd_blog_create(args):
506
512
  space_key = space.get('key', args.space_key)
507
513
 
508
514
  result = create_blogpost(session, base, space_id, args.title,
509
- body=args.body, file=args.file)
515
+ body=args.body, file=args.file,
516
+ created_at=getattr(args, 'created_at', None))
510
517
  blogpost_id = result['id']
511
518
 
512
519
  if args.dir:
@@ -531,6 +538,7 @@ def cmd_blog_update(args):
531
538
  session, base, args.blogpost_id,
532
539
  title=args.title, body=args.body, file=args.file,
533
540
  message=getattr(args, 'message', None),
541
+ created_at=getattr(args, 'created_at', None),
534
542
  )
535
543
 
536
544
  if args.dir:
@@ -1311,6 +1319,7 @@ def main():
1311
1319
  p.add_argument('title', help='Blog post title')
1312
1320
  p.add_argument('--body', help='Plain text body')
1313
1321
  p.add_argument('--file', '-f', help='ADF JSON file for blog body')
1322
+ p.add_argument('--created-at', help='Creation date (ISO 8601, e.g. 2024-01-15T10:00:00Z)')
1314
1323
  p.add_argument('--dir', default='pages', help='Pages directory (default: pages)')
1315
1324
  p.set_defaults(func=cmd_blog_create)
1316
1325
 
@@ -1324,6 +1333,7 @@ def main():
1324
1333
  p.add_argument('--title', help='New title')
1325
1334
  p.add_argument('--body', help='New plain text body')
1326
1335
  p.add_argument('--file', '-f', help='ADF JSON file for new blog body')
1336
+ p.add_argument('--created-at', help='Override creation date (ISO 8601, e.g. 2024-01-15T10:00:00Z)')
1327
1337
  p.add_argument('--message', '-m', help='Version message')
1328
1338
  p.add_argument('--dir', default='pages', help='Pages directory (default: pages)')
1329
1339
  p.set_defaults(func=cmd_blog_update)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atlassian-cli
3
- Version: 0.10.2
3
+ Version: 0.10.3
4
4
  Summary: Fast CLI tools for Atlassian Cloud (Confluence + Jira) — optimized for AI agents
5
5
  Author-email: Alex Fishlock <alex.fishlock@catapult.cx>
6
6
  License-Expression: MIT
@@ -136,6 +136,7 @@ Create, read, update, and delete blog posts in any Confluence space.
136
136
  confluence blog-create POL "Q1 Product Update"
137
137
  confluence blog-create POL "Release Notes" --body "What's new this quarter..."
138
138
  confluence blog-create POL "Deep Dive" --file /path/to/adf.json
139
+ confluence blog-create POL "Retrospective" --body "..." --created-at 2024-01-15T10:00:00Z
139
140
 
140
141
  # Download a blog post
141
142
  confluence blog-get 123456
@@ -148,6 +149,7 @@ confluence blog-put 123456 --message "Added screenshots"
148
149
  # Update title and/or body directly
149
150
  confluence blog-update 123456 --title "Q1 Update (Revised)"
150
151
  confluence blog-update 123456 --body "Updated content here" -m "Corrections"
152
+ confluence blog-update 123456 --created-at "2024-06-01T08:00:00Z"
151
153
 
152
154
  # List blog posts in a space
153
155
  confluence blog-list POL
File without changes
File without changes