Edit' in content and 'Update' in content, \
- 'Could not open PAGE to edit.'
-
- edit_page_version = fetch_by_re(params.editor_page_version_re, content)
- edit_atl_token = fetch_by_re(params.atl_token_re, content)
- edit_space_key = fetch_by_re(params.space_key_re, content)
- edit_content_id = fetch_by_re(params.content_id_re, content)
- edit_page_id = fetch_by_re(params.page_id_re, content)
- edit_parent_page_id = fetch_by_re(params.parent_page_id, content)
-
- locust.session_data_storage['edit_parent_page_id'] = edit_parent_page_id
- locust.session_data_storage['edit_page_version'] = edit_page_version
- locust.session_data_storage['edit_page_id'] = edit_page_id
- locust.session_data_storage['atl_token'] = edit_atl_token
- locust.session_data_storage['edit_content_id'] = edit_content_id
-
- locust.get(f'/rest/jiraanywhere/1.0/servers?_={timestamp_int()}', catch_response=True)
- heartbeat_activity_body = {"dataType": "json",
- "contentId": edit_content_id,
- "draftType": "page",
- "spaceKey": edit_space_key,
- "atl_token": edit_atl_token
- }
- locust.post('/json/startheartbeatactivity.action', heartbeat_activity_body,
- TEXT_HEADERS, catch_response=True)
- expand = 'history.createdBy.status%2Chistory.contributors.publishers.users.status' \
- '%2Cchildren.comment.version.by.status'
- locust.get(f'/rest/api/content/{edit_page_id}?expand={expand}&_={timestamp_int()}',
- catch_response=True)
- locust.post('/json/startheartbeatactivity.action', heartbeat_activity_body,
- TEXT_HEADERS, catch_response=True)
- locust.get(f'/rest/ui/1.0/content/{edit_page_id}/labels?_={timestamp_int()}', catch_response=True)
- locust.get('/rest/mywork/latest/status/notification/count', catch_response=True)
- locust.post('/json/startheartbeatactivity.action', heartbeat_activity_body,
- TEXT_HEADERS, catch_response=True)
+ # 1370 rest/jiraanywhere/1.0/servers
+ locust.get(f'/rest/jiraanywhere/1.0/servers'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1380 rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}
+ locust.get(f'/rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1390 json/startheartbeatactivity.action
+ locust.post('/json/startheartbeatactivity.action',
+ params=start_heartbeat_activity_body,
+ headers=TEXT_HEADERS,
+ catch_response=True)
+
+ # 1400 rest/api/content/{content_id}
+ locust.get(f'/rest/api/content/{locust.session_data_storage["content_id"]}'
+ f'?expand=history.createdBy.status,history.contributors.publishers.users.status,'
+ f'children.comment.version.by.status'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1410 rest/autoconvert/latest/shortcutlinkconfigurations
+ locust.get(f'/rest/autoconvert/latest/shortcutlinkconfigurations'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1420 rest/autoconvert/latest/shortcutlinkconfigurations
+ locust.get(f'/rest/ui/1.0/content/{locust.session_data_storage["content_id"]}/labels'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1430 rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1430"),
+ headers=TEXT_HEADERS,
+ catch_response=True)
+
+ # 1440 rest/mywork/latest/status/notification/count
+ locust.get(f'/rest/mywork/latest/status/notification/count'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1450 rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1450"),
+ headers=TEXT_HEADERS,
+ catch_response=True)
@confluence_measure('locust_create_and_edit_page:edit_page')
def edit_page():
raise_if_login_failed(locust)
locust.session_data_storage['draft_name'] = f"{generate_random_string(10, only_letters=True)}"
- edit_parent_page_id = locust.session_data_storage['edit_parent_page_id']
- edit_page_id = locust.session_data_storage['edit_page_id']
- content_id = locust.session_data_storage['edit_content_id']
- edit_page_version = int(locust.session_data_storage['edit_page_version']) + 1
- edit_atl_token = locust.session_data_storage['atl_token']
- edit_page_body = dict()
-
- if edit_parent_page_id:
- edit_page_body = {
- "status": "current",
- "title": f"Test Performance Edit with locust {locust.session_data_storage['draft_name']}",
- "space": {
- "key": f"{space_key}"
- },
- "body": {
- "storage": {
- "value": f"Page edit with locust {locust.session_data_storage['draft_name']}",
- "representation": "storage",
- "content": {
- "id": f"{content_id}"
- }
- }
- },
- "id": f"{content_id}",
- "type": "page",
- "version": {
- "number": f"{edit_page_version}"
- },
- "ancestors": [
- {
- "id": f"{edit_parent_page_id}",
- "type": "page"
- }
- ]
- }
-
- if not edit_parent_page_id:
- edit_page_body = {
- "status": "current",
- "title": f"Test Performance Edit with locust {locust.session_data_storage['draft_name']}",
+ title = f"locust_create_and_edit_page:edit_page - {locust.session_data_storage['draft_name']}"
+ body_editor_value = f"Page edit with locust {locust.session_data_storage['draft_name']}
"
+
+ TEXT_HEADERS['Content-Type'] = 'application/json'
+ TEXT_HEADERS['X-Requested-With'] = 'XMLHttpRequest'
+
+ start_heartbeat_activity_body = {"dataType": "json",
+ "contentId": locust.session_data_storage["content_id"],
+ "space_key": space_key,
+ "draftType": "page",
+ "atl_token": locust.session_data_storage['token'],
+ "contributorsHash": locust.session_data_storage['contributor_hash'],
+ }
+
+ stop_heartbeat_activity_body = {"dataType": "json",
+ "contentId": locust.session_data_storage["content_id"],
+ "draftType": "page",
+ "atl_token": locust.session_data_storage['token'],
+ }
+
+ edt_page_body_data = {"status": "current",
+ "title": title,
"space": {
- "key": f"{space_key}"
+ "key": space_key
},
"body": {
- "storage": {
- "value": f"Page edit with locust {locust.session_data_storage['draft_name']}",
- "representation": "storage",
- "content": {
- "id": f"{content_id}"
+ "editor": {
+ "value": body_editor_value,
+ "representation": "editor",
+ "content": {
+ "id": locust.session_data_storage['content_id']
+ }
}
- }
},
- "id": f"{content_id}",
+ "id": locust.session_data_storage['content_id'],
"type": "page",
"version": {
- "number": f"{edit_page_version}"
+ "number": 2,
+ "message": "",
+ "minorEdit": "false",
+ "syncRev": "0.oLWs6S5l3gY2mwHJiA9jHao.5"
+ },
+ "ancestors": [
+ {
+ "id": locust.session_data_storage['parent_page_id'],
+ "type": "page"
+ }
+ ]
}
- }
- TEXT_HEADERS['Content-Type'] = 'application/json'
- TEXT_HEADERS['X-Requested-With'] = 'XMLHttpRequest'
- r = locust.client.put(f'/rest/api/content/{content_id}?status=draft', json=edit_page_body,
- headers=TEXT_HEADERS, catch_response=True)
- content = r.content.decode('utf-8')
- if 'history' not in content:
+ # 1460 json/startheartbeatactivity.action
+ locust.post('/json/startheartbeatactivity.action',
+ params=start_heartbeat_activity_body,
+ headers=TEXT_HEADERS,
+ catch_response=True)
+
+ # 1470 rest/api/content/{content_id}?status=draft
+ r = locust.client.put(f'/rest/api/content/{locust.session_data_storage["content_id"]}'
+ f'?status=draft',
+ json=edt_page_body_data,
+ headers=TEXT_HEADERS,
+ catch_response=True)
+
+ content = r.json()
+ page_title = content.get('title', None)
+
+ if page_title is None:
logger.info(f'Could not edit page. Response content: {content}')
- if 'history' not in content:
- logger.error(f'User {locust.session_data_storage["username"]} could not edit page {content_id}, '
- f'parent page id: {edit_parent_page_id}: {content}')
- assert 'history' in content, \
- 'User could not edit page.'
+ logger.error(f'User {locust.session_data_storage["username"]} could not edit page '
+ f'{locust.session_data_storage["content_id"]}, '
+ f'parent page id: {locust.session_data_storage["parent_page_id"]}: {content}')
+ assert page_title is not None, 'User could not edit page.'
+
+ # 1480 json/stopheartbeatactivity.action
+ locust.post('/json/stopheartbeatactivity.action',
+ params=stop_heartbeat_activity_body,
+ headers=TEXT_HEADERS,
+ catch_response=True)
- r = locust.get(f'/pages/viewpage.action?pageId={edit_page_id}', catch_response=True)
- content = r.content.decode('utf-8')
- if not('last-modified' in content and 'Created by' in content):
- logger.error(f"Could not open page {edit_page_id}: {content}")
- assert 'last-modified' in content and 'Created by' in content, "Could not open page to edit."
+ # 1490 /display/${space_key}/${page_title}
+ locust.get(f'/display/{space_key}/{page_title}',
+ catch_response=True)
- locust.get('/rest/mywork/latest/status/notification/count', catch_response=True)
- heartbeat_activity_body = {"dataType": "json",
- "contentId": content_id,
- "space_key": space_key,
- "draftType": "page",
- "atl_token": edit_atl_token
- }
- locust.post('/json/stopheartbeatactivity.action', params=heartbeat_activity_body,
- headers=TEXT_HEADERS, catch_response=True)
+ # 1500 rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1500"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1510 rest/helptips/1.0/tips
locust.get('/rest/helptips/1.0/tips', catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1175"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.get(f'/rest/jira-metadata/1.0/metadata/aggregate?pageId={edit_page_id}&_={timestamp_int()}',
+
+ locust.get(f'/rest/inlinecomments/1.0/comments'
+ f'?containerId={locust.session_data_storage["content_id"]}'
+ f'&_={timestamp_int()}',
catch_response=True)
- locust.get(f'/rest/likes/1.0/content/{edit_page_id}/likes?commentLikes=true&_={timestamp_int()}',
+
+ # 1530 rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}
+ locust.get(f'/rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}'
+ f'?_={timestamp_int()}',
catch_response=True)
- locust.get(f'/rest/highlighting/1.0/panel-items?pageId={edit_page_id}&_={timestamp_int()}',
+
+ # 1540 plugins/pagetree/naturalchildren.action
+ locust.get(f'/plugins/pagetree/naturalchildren.action'
+ f'?decorator=none'
+ f'&expandCurrent=true'
+ f'&mobile=false'
+ f'&sort=position'
+ f'&reverse=false'
+ f'&spaceKey={space_key}'
+ f'&treeId=0'
+ f'&hasRoot=false'
+ f'&startDepth=0'
+ f'&disableLinks=false'
+ f'&placement=sidebar'
+ f'&excerpt=false'
+ f'&ancestors={locust.session_data_storage["parent_page_id"]}'
+ f'&treePageId={space_key}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1550 rest/jira-metadata/1.0/metadata/aggregate
+ locust.get(f'/rest/jira-metadata/1.0/metadata/aggregate'
+ f'?pageId={page_id}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1560 rest/likes/1.0/content/{content_id}/likes
+ locust.get(f'/rest/likes/1.0/content/{locust.session_data_storage["content_id"]}/likes'
+ f'?commentLikes=true'
+ f'&_={timestamp_int()}',
catch_response=True)
- locust.get(f'/rest/mywork/latest/status/notification/count?pageId={edit_page_id}&_={timestamp_int()}',
+
+ # 1570 rest/highlighting/1.0/panel-items
+ locust.get(f'/rest/highlighting/1.0/panel-items'
+ f'?pageId={page_id}'
+ f'&_={timestamp_int()}',
catch_response=True)
- locust.get(f'/plugins/editor-loader/editor.action?parentPageId={edit_parent_page_id}'
- f'&pageId={edit_page_id}&spaceKey={space_key}&atl_after_login_redirect=/pages/viewpage.action'
- f'&timeout=12000&_={timestamp_int()}', catch_response=True)
- locust.get(f'/rest/inlinecomments/1.0/comments?containerId={content_id}&_={timestamp_int()}',
+
+ # 1580 rest/mywork/latest/status/notification/count
+ locust.get(f'/rest/mywork/latest/status/notification/count'
+ f'?pageid={page_id}'
+ f'&_={timestamp_int()}', catch_response=True)
+
+ # 1590 rest/watch-button/1.0/watchState/{content_id}
+ locust.get(f'/rest/watch-button/1.0/watchState/{locust.session_data_storage["content_id"]}'
+ f'?_={timestamp_int()}',
catch_response=True)
- locust.get(f'/rest/watch-button/1.0/watchState/{edit_page_id}?_={timestamp_int()}',
+
+ # 1600 rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1600"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1610 plugins/editor-loader/editor.action
+ locust.get(f'/plugins/editor-loader/editor.action?parent'
+ f'parentPageId={locust.session_data_storage["parent_page_id"]}'
+ f'&pageId={locust.session_data_storage["content_id"]}'
+ f'&spaceKey={space_key}'
+ f'&atl_after_login_redirect=/pages/viewpage.action'
+ f'&timeout=12000'
+ f'&_={timestamp_int()}', catch_response=True)
+
+ # 1620 rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1620"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1630 rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1630"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1640 plugins/macrobrowser/browse-macros.action
+ locust.get('/plugins/macrobrowser/browse-macros.action'
+ '?macroMetadataClientCacheKey=1618492783694'
+ '&detailed=false',
catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1215"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1220"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1225"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1230"),
- headers=RESOURCE_HEADERS, catch_response=True)
create_page_editor()
create_page()
@@ -721,31 +1307,166 @@ def edit_page():
@confluence_measure('locust_comment_page')
def comment_page(locust):
- raise_if_login_failed(locust)
+ params = CommentPage()
page = random.choice(confluence_dataset["pages"])
page_id = page[0]
- comment = f'{generate_random_string(length=15, only_letters=True)}
'
+ space_key = page[1]
+ comment_text = generate_random_string(length=15, only_letters=True)
+ comment = f'
{comment_text}
'
uid = str(uuid.uuid4())
- r = locust.post(f'/rest/tinymce/1/content/{page_id}/comment?actions=true',
- params={'html': comment, 'watch': True, 'uuid': uid}, headers=NO_TOKEN_HEADERS,
+ build_number = locust.session_data_storage.get('build_number', '')
+ keyboard_hash = locust.session_data_storage.get('keyboard_hash', '')
+
+ start_heartbeat_activity_body = {"dataType": "json",
+ "contentId": page_id,
+ "space_key": space_key,
+ "draftType": "comment",
+ "atl_token": locust.session_data_storage['token'],
+ }
+
+ # 1680 rest/jiraanywhere/1.0/servers
+ locust.get(f'/rest/jiraanywhere/1.0/servers'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1690 /rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}
+ locust.get(f'/rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1700 json/startheartbeatactivity.action
+ locust.post('/json/startheartbeatactivity.action',
+ params=start_heartbeat_activity_body,
+ headers=TEXT_HEADERS,
+ catch_response=True)
+
+ # 1710 rest/autoconvert/latest/shortcutlinkconfigurations
+ locust.get(f'/rest/autoconvert/latest/shortcutlinkconfigurations'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1720 rest/mywork/latest/status/notification/count
+ locust.get(f'/rest/mywork/latest/status/notification/count'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1730 rest/tinymce/1/content/{page_id}/comment
+ r = locust.post(f'/rest/tinymce/1/content/{page_id}/comment'
+ f'?actions=true',
+ params={'html': comment, 'watch': True, 'uuid': uid},
+ headers=NO_TOKEN_HEADERS,
catch_response=True)
+
content = r.content.decode('utf-8')
- if not('reply-comment' in content and 'edit-comment' in content):
+ if comment_text not in content:
logger.error(f'Could not add comment: {content}')
- assert 'reply-comment' in content and 'edit-comment' in content, 'Could not add comment.'
+ assert comment_text in content, 'Could not add comment.'
+
+ # 1740 rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1740"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
@confluence_measure('locust_view_attachment')
def view_attachments(locust):
raise_if_login_failed(locust)
+
+ params = ViewAttachment()
page = random.choice(confluence_dataset["pages"])
page_id = page[0]
- r = locust.get(f'/pages/viewpageattachments.action?pageId={page_id}', catch_response=True)
+ space_key = page[1]
+
+ # 1750 rest/quickreload/latest/{page_id}
+ locust.get(f'/rest/quickreload/latest/{page_id}'
+ f'?since={timestamp_int()}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1760 pages/viewpageattachments.action
+ r = locust.get(f'/pages/viewpageattachments.action'
+ f'?pageId={page_id}',
+ catch_response=True)
+
content = r.content.decode('utf-8')
- if not('Upload file' in content and 'Attach more files' in content or 'currently no attachments' in content):
+
+ if not ('Upload file' in content and 'Attach more files' in content or 'currently no attachments' in content):
logger.error(f'View attachments failed: {content}')
assert 'Upload file' in content and 'Attach more files' in content \
or 'currently no attachments' in content, 'View attachments failed.'
+ build_number = fetch_by_re(params.build_number_re, content)
+ keyboard_hash = fetch_by_re(params.keyboard_hash_re, content)
+ parent_page_id = fetch_by_re(params.parent_page_id_re, content)
+
+ # 1770 rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}
+ locust.get(f'/rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1790 rest/mywork/latest/status/notification/count
+ locust.get(f'/rest/mywork/latest/status/notification/count'
+ f'?pageid={page_id}'
+ f'&_={timestamp_int()}', catch_response=True)
+
+ # 1800 plugins/pagetree/naturalchildren.action
+ locust.get(f'/plugins/pagetree/naturalchildren.action'
+ f'?decorator=none'
+ f'&expandCurrent=true'
+ f'&mobile=false'
+ f'&sort=position'
+ f'&reverse=false'
+ f'&spaceKey={space_key}'
+ f'&treeId=0'
+ f'&hasRoot=false'
+ f'&startDepth=0'
+ f'&disableLinks=false'
+ f'&placement=sidebar'
+ f'&excerpt=false'
+ f'&ancestors={parent_page_id}'
+ f'&treePageId={page_id}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1810 rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1810"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1820 plugins/editor-loader/editor.action
+ locust.get(f'/plugins/editor-loader/editor.action?parent'
+ f'parentPageId={parent_page_id}'
+ f'&pageId={page_id}'
+ f'&spaceKey={space_key}'
+ f'&atl_after_login_redirect=/pages/viewpage.action'
+ f'&timeout=12000'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1830 rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1830"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1840 rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1840"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1850 plugins/macrobrowser/browse-macros.action
+ locust.get('/plugins/macrobrowser/browse-macros.action'
+ '?macroMetadataClientCacheKey=1618579820365'
+ '&detailed=false',
+ catch_response=True)
+
+ # 1890 rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1890"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
@confluence_measure('locust_upload_attachment')
@@ -758,27 +1479,103 @@ def upload_attachments(locust):
file_name = static_content[2]
file_extension = static_content[1]
page_id = page[0]
+ space_key = page[1]
r = locust.get(f'/pages/viewpage.action?pageId={page_id}', catch_response=True)
content = r.content.decode('utf-8')
if not('Created by' in content and 'Save for later' in content):
logger.error(f'Failed to open page {page_id}: {content}')
assert 'Created by' in content and 'Save for later' in content, 'Failed to open page to upload attachments.'
- atl_token_view_issue = fetch_by_re(params.atl_token_view_issue_re, content)
+ build_number = fetch_by_re(params.build_number_re, content)
+ keyboard_hash = fetch_by_re(params.keyboard_hash_re, content)
+ parent_page_id = fetch_by_re(params.parent_page_id_re, content)
multipart_form_data = {
"file": (file_name, open(file_path, 'rb'), file_extension)
}
- r = locust.post(f'/pages/doattachfile.action?pageId={page_id}',
- params={"atl_token": atl_token_view_issue, "comment_0": "", "comment_1": "", "comment_2": "",
- "comment_3": "", "comment_4": "0", "confirm": "Attach"}, files=multipart_form_data,
+ # 1900 pages/doattachfile.action?pageId={page_id}
+ r = locust.post(f'/pages/doattachfile.action'
+ f'?pageId={page_id}',
+ params={"atl_token": locust.session_data_storage['token'], "comment_0": "", "comment_1": "",
+ "comment_2": "", "comment_3": "", "comment_4": "0", "confirm": "Attach"},
+ files=multipart_form_data,
catch_response=True)
content = r.content.decode('utf-8')
if not('Upload file' in content and 'Attach more files' in content):
logger.error(f'Could not upload attachments: {content}')
assert 'Upload file' in content and 'Attach more files' in content, 'Could not upload attachments.'
+ # 1910 rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}
+ locust.get(f'/rest/shortcuts/latest/shortcuts/{build_number}/{keyboard_hash}'
+ f'?_={timestamp_int()}',
+ catch_response=True)
+
+ # 1920 plugins/pagetree/naturalchildren.action
+ locust.get(f'/plugins/pagetree/naturalchildren.action'
+ f'?decorator=none'
+ f'&expandCurrent=true'
+ f'&mobile=false'
+ f'&sort=position'
+ f'&reverse=false'
+ f'&spaceKey={space_key}'
+ f'&treeId=0'
+ f'&hasRoot=false'
+ f'&startDepth=0'
+ f'&disableLinks=false'
+ f'&placement=sidebar'
+ f'&excerpt=false'
+ f'&ancestors={parent_page_id}'
+ f'&treePageId={page_id}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1930 rest/mywork/latest/status/notification/count
+ locust.get(f'/rest/mywork/latest/status/notification/count'
+ f'?pageid={page_id}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1940 rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1940"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1950 rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1950"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1960 plugins/editor-loader/editor.action
+ locust.get(f'/plugins/editor-loader/editor.action?parent'
+ f'parentPageId={parent_page_id}'
+ f'&pageId={page_id}'
+ f'&spaceKey={space_key}'
+ f'&atl_after_login_redirect=/pages/viewpage.action'
+ f'&timeout=12000'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1970 rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1970"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1980 plugins/macrobrowser/browse-macros.action
+ locust.get('/plugins/macrobrowser/browse-macros.action'
+ '?macroMetadataClientCacheKey=1618624163503'
+ '&detailed=false',
+ catch_response=True)
+
+ # 1990 rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1990"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
@confluence_measure('locust_like_page')
def like_page(locust):
@@ -788,14 +1585,24 @@ def like_page(locust):
page_id = page[0]
JSON_HEADERS['Origin'] = CONFLUENCE_SETTINGS.server_url
- r = locust.get(f'/rest/likes/1.0/content/{page_id}/likes', headers=JSON_HEADERS, catch_response=True)
+
+ # 2030 rest/likes/1.0/content/{page_id}/likes
+ r = locust.get(f'/rest/likes/1.0/content/{page_id}/likes',
+ headers=JSON_HEADERS,
+ catch_response=True)
+
content = r.content.decode('utf-8')
like = fetch_by_re(params.like_re, content)
if like is None:
- r = locust.post(f'/rest/likes/1.0/content/{page_id}/likes', headers=JSON_HEADERS, catch_response=True)
+ # 2050 rest/likes/1.0/content/{page_id}/likes
+ r = locust.post(f'/rest/likes/1.0/content/{page_id}/likes',
+ headers=JSON_HEADERS,
+ catch_response=True)
else:
- r = locust.client.delete(f'/rest/likes/1.0/content/{page_id}/likes', catch_response=True)
+ # 2040 rest/likes/1.0/content/${page_id}/likes
+ r = locust.client.delete(f'/rest/likes/1.0/content/{page_id}/likes',
+ catch_response=True)
content = r.content.decode('utf-8')
if 'likes' not in content:
diff --git a/app/locustio/confluence/locustfile.py b/app/locustio/confluence/locustfile.py
index 1d8038c16..9e9a5ab8e 100644
--- a/app/locustio/confluence/locustfile.py
+++ b/app/locustio/confluence/locustfile.py
@@ -2,9 +2,9 @@
from extension.confluence.extension_locust import app_specific_action
from locustio.common_utils import LocustConfig, MyBaseTaskSet
-from locustio.confluence.http_actions import login_and_view_dashboard, view_page_and_tree, view_dashboard, view_blog, \
+from locustio.confluence.http_actions import login_and_view_dashboard, view_dashboard, view_blog, \
search_cql_and_view_results, open_editor_and_create_blog, create_and_edit_page, comment_page, view_attachments, \
- upload_attachments, like_page
+ upload_attachments, like_page, view_page
from util.conf import CONFLUENCE_SETTINGS
config = LocustConfig(config_yml=CONFLUENCE_SETTINGS)
@@ -18,7 +18,7 @@ def on_start(self):
@task(config.percentage('view_page'))
def view_page_action(self):
- view_page_and_tree(self)
+ view_page(self)
@task(config.percentage('view_dashboard'))
def view_dashboard_action(self):
diff --git a/app/locustio/confluence/requests_params.py b/app/locustio/confluence/requests_params.py
index e2ef9b219..882a538f0 100644
--- a/app/locustio/confluence/requests_params.py
+++ b/app/locustio/confluence/requests_params.py
@@ -33,6 +33,7 @@ class Login(ConfluenceResource):
static_resource_url_re = 'meta name=\"ajs-static-resource-url-prefix\" content=\"(.*?)/_\">'
version_number_re = 'meta name=\"ajs-version-number\" content=\"(.*?)\">'
build_number_re = 'meta name=\"ajs-build-number\" content=\"(.*?)\"'
+ atl_token_pattern = r'"ajs-atl-token" content="(.+?)"'
class ViewPage(ConfluenceResource):
@@ -44,7 +45,6 @@ class ViewPage(ConfluenceResource):
tree_result_id_re = 'name="treeRequestId" value="(.+?)"'
has_no_root_re = '"noRoot" value="(.+?)"'
root_page_id_re = 'name="rootPageId" value="(.+?)"'
- atl_token_view_issue_re = '"ajs-atl-token" content="(.+?)"'
editable_re = 'id=\"editPageLink\" href="(.+?)\?pageId=(.+?)\"'
inline_comment_re = '\"id\":(.+?)\,\"'
@@ -62,16 +62,18 @@ class ViewBlog(ConfluenceResource):
parent_page_id_re = 'meta name=\"ajs-parent-page-id\" content=\"(.*?)\"'
page_id_re = 'meta name=\"ajs-page-id\" content=\"(.*?)\">'
space_key_re = 'meta id=\"confluence-space-key\" name=\"confluence-space-key\" content=\"(.*?)\"'
- atl_token_re = '"ajs-atl-token" content="(.+?)"'
inline_comment_re = '\"id\":(.+?)\,\"'
+ keyboard_hash_re = 'name=\"ajs-keyboardshortcut-hash\" content=\"(.*?)\">'
+ build_number_re = 'meta name=\"ajs-build-number\" content=\"(.*?)\"'
class CreateBlog(ConfluenceResource):
action_name = 'create_blog'
- atl_token_re = 'name=\"ajs-atl-token\" content=\"(.*?)\">'
content_id_re = 'name=\"ajs-content-id\" content=\"(.*?)\">'
+ page_id_re = 'meta name=\"ajs-page-id\" content=\"(.*?)\">'
space_key = 'createpage.action\?spaceKey=(.+?)\&'
contribution_hash = '\"contributorsHash\":\"\"'
+ parent_page_id_re = 'meta name=\"ajs-parent-page-id\" content=\"(.*?)\"'
created_blog_title_re = 'anonymous_export_view.*?\"webui\":\"(.*?)\"'
@@ -79,12 +81,7 @@ class CreateBlog(ConfluenceResource):
class CreateEditPage(ConfluenceResource):
action_name = 'create_and_edit_page'
content_id_re = 'meta name=\"ajs-content-id\" content=\"(.*?)\">'
- atl_token_re = 'meta name=\"ajs-atl-token\" content=\"(.*?)\">'
- space_key_re = 'createpage.action\?spaceKey=(.+?)\&'
- page_title_re = 'anonymous_export_view.*?\"webui\":\"(.*?)\"'
- page_id_re = 'meta name=\"ajs-page-id\" content=\"(.*?)\">'
parent_page_id = 'meta name=\"ajs-parent-page-id\" content=\"(.*?)\"'
- create_page_id = 'meta name=\"ajs-page-id\" content=\"(.*?)\">'
editor_page_title_re = 'name=\"ajs-page-title\" content=\"(.*?)\"'
editor_page_version_re = 'name=\"ajs-page-version\" content=\"(.*?)\">'
@@ -98,9 +95,24 @@ class CommentPage(ConfluenceResource):
class UploadAttachments(ConfluenceResource):
action_name = 'upload_attachments'
- atl_token_view_issue_re = '"ajs-atl-token" content="(.+?)"'
+
+ keyboard_hash_re = 'name=\"ajs-keyboardshortcut-hash\" content=\"(.*?)\">'
+ build_number_re = 'meta name=\"ajs-build-number\" content=\"(.*?)\"'
+ parent_page_id_re = 'meta name=\"ajs-parent-page-id\" content=\"(.*?)\"'
class LikePage(ConfluenceResource):
action_name = 'like_page'
like_re = '\{\"likes\":\[\{"user":\{"name\"\:\"(.+?)",'
+
+
+class ViewAttachment(ConfluenceResource):
+ action_name = 'view_attachment'
+
+ keyboard_hash_re = 'name=\"ajs-keyboardshortcut-hash\" content=\"(.*?)\">'
+ build_number_re = 'meta name=\"ajs-build-number\" content=\"(.*?)\"'
+ parent_page_id_re = 'meta name=\"ajs-parent-page-id\" content=\"(.*?)\"'
+ remote_user_key_re = 'meta name=\"ajs-remote-user-key\" content=\"(.*?)\">'
+ data_linked_resource_id_re = 'data-linked-resource-id=\"(.*?)\"'
+ page_id_re = 'meta name=\"ajs-page-id\" content=\"(.*?)\">'
+
diff --git a/app/locustio/confluence/resources.json b/app/locustio/confluence/resources.json
index 339813114..a29b52bb7 100644
--- a/app/locustio/confluence/resources.json
+++ b/app/locustio/confluence/resources.json
@@ -1,51 +1,65 @@
{
"login_and_view_dashboard": {
- "010": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","baseurl-checker-resource","dashboard","backbone-dashboard","atl.general","main"],"xr":["confluence.macros.advanced:blogpost-resources"]},
- "025": {"r":[],"c":["com.atlassian.confluence.extra.team-calendars.resources-batch"],"xc":["_super","baseurl-checker-resource","dashboard","backbone-dashboard","atl.general","main"],"xr":["confluence.macros.advanced:blogpost-resources"]}
+ "30": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","dashboard","backbone-dashboard","atl.general","main"],"xr":[]},
+ "80": [{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}"},"timeDelta":-586},{"name":"confluence.spa.root-loaded","properties":{"redirectedTo":"all-updates","currentSection":""},"timeDelta":-568},{"name":"confluence.spa.rendered","properties":{"currentSection":"all-updates"},"timeDelta":-540},{"name":"confluence.spa.view","properties":{"previousSection":"all-updates","currentSection":"all-updates"},"timeDelta":-455}],
+ "90": [{"name":"browser.metrics.navigation","properties":{"apdex":"0","firstPaint":"10096","isInitial":"true","journeyId":"6925a014-c5e2-4fb6-a50b-671e1e5658de","key":"confluence.dashboard.view","navigationType":"0","readyForUser":"10702","redirectCount":"1","resourceLoadedEnd":"10044","resourceLoadedStart":9390.24999999674,"threshold":"1000","unloadEventStart":"9366","unloadEventEnd":"9366","redirectStart":"2","redirectEnd":"173","fetchStart":"173","domainLookupStart":"173","domainLookupEnd":"173","connectStart":"173","connectEnd":"173","requestStart":"176","responseStart":"333","responseEnd":"9360","domLoading":"9367","domInteractive":"10060","domContentLoadedEventStart":"10060","domContentLoadedEventEnd":"10091","domComplete":"10967","loadEventStart":"10967","loadEventEnd":"10968","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","serverDuration":"37","requestCorrelationId":"da8b3c3783e2a786","resourceTiming":"{\"â \":[\"2,78u,7e2,7d1,799,78u,,78u,78u,78u\",\"2,78u,7e1,7cy,79a,78u,,78u,78u,78u\",\"2,78u,7e0,7cz,79a,78u,,78u,78u,78u\",\"3,78u,7lb,7d1,79b,78u,,78u,78u,78u\",\"3,78u,7r0,7gg,7cs,7cs,,79b,79b,79b\",\"3,78v,7hm,7gd,7cs,7cs,,79c,79c,79b\",\"5,7r9,7v1,7v0,7rb,7r9,,7r9,7r9,7r9\",\"4,7rm,7v8,7v7,7ro,7rm,,7rm,7rm,7rm\",\"4,7rp,7vb,7vb,7rr,7rp,,7rp,7rp,7rp\",\"4,7rq,7w7,7w5,7si,7rq,,7rq,7rq,7rq\",\"5,7tl,7xa,7x9,7tn,7tl,,7tl,7tl,7tl\",\"5,7tw,7xl,7xk,7tz,7tw,,7tw,7tw,7tw\",\"4,7um,7ys,7ys,7v9,7um,,7um,7um,7um\",\"4,7un,7yw,7yv,7vb,7un,,7un,7un,7un\",\"4,7uy,82h,82g,7yw,7uy,,7uy,7uy,7uy\",\"4,7uy,80z,80w,7xa,7uy,,7uy,7uy,7uy\",\"4,7uz,817,816,7xl,7uz,,7uz,7uz,7uz\",\"3,7v8,84u,84t,817,7v8,,7v8,7v8,7v8\",\"-1,7xo,82q,82p,7yt,7xo,,7xo,7xo,7xo\",\"5,80p,80s\",\"5,7ud,85x,85w,7v1,7ud,,7ud,7ud,7ud\"]}","mark.@grammarly-extension:checkScriptInitStart":"[10364]","mark.@grammarly-extension:checkScriptInitEnd":"[10371]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:checkScriptInitStart\":[10364],\"@grammarly-extension:checkScriptInitEnd\":[10371]},\"measures\":{}}","experiments":"[]"},"timeDelta":-4690}]
},
"view_page": {
- "110": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "145": {"r":[],"c":["request-access-plugin"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "150": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "155": {"r":["confluence.web.resources.colors:colors","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.editor:editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-browser-metrics:editor","confluence.web.resources:quicksearchdropdown","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","confluence.web.resources:hint-manager","confluence.web.resources:raphael","com.atlassian.confluence.plugins.confluence-link-browser:link-object","confluence.web.resources:core","com.atlassian.confluence.plugins.confluence-page-layout:pagelayout-frontend","com.atlassian.confluence.plugins.confluence-link-browser:link-browser-conf-frontend","confluence.extra.jira:macro-browser-resources","confluence.extra.jira:dialogsJs-for-conf-frontend","confluence.extra.jira:jirachart-macro","confluence.web.resources:navigator-context","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:dynamic-css-resources","com.atlassian.plugins.atlassian-connect-plugin:featured-macro-css-resources","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-autoconvert-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:macro-editor-resources-v5","com.atlassian.confluence.plugins.confluence-inline-tasks:editor-autocomplete-date-conf-frontend","confluence.web.resources:breadcrumbs","com.atlassian.confluence.plugins.confluence-collaborative-editor-plugin:confluence-collaborative-editor-plugin-resources","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.plugins.confluence-labels:labels-editor","confluence.web.resources:ajs","com.atlassian.auiplugin:aui-inline-dialog2","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-editor-conf-frontend","com.atlassian.confluence.plugins.gadgets:macro-browser-for-gadgetsplugin","com.atlassian.confluence.plugins.confluence-invite-to-edit:edit-resources","confluence.macros.multimedia:macro-browser-smart-fields","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.image.effects.ImageEffectsPlugin:propertiespanel","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-view-file-macro:view-file-macro-editor-resources","confluence.macros.advanced:editor_includemacro-conf-frontend","com.atlassian.confluence.plugins.confluence-request-access-plugin:confluence-request-access-plugin-resources","confluence.web.resources:deferred-dialog-loader","com.atlassian.confluence.plugins.confluence-create-content-plugin:editor-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-macro-browser-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-resources","com.atlassian.confluence.plugins.confluence-inline-tasks:inline-tasks-macro-browser","com.atlassian.confluence.extra.team-calendars:amd","com.atlassian.confluence.extra.team-calendars:user-timezone-setup","com.atlassian.confluence.extra.team-calendars:calendar-init-editor","com.atlassian.confluence.extra.team-calendars:macro-browser-web-resources","confluence.extra.jira:text-placeholders-jira"],"c":[],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "160": {"r":[],"c":["com.atlassian.confluence.extra.team-calendars.resources-batch"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]}
+ "110": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewcontent","atl.general","page","atl.comments"],"xr":[]},
+ "200": {"r":[],"c":["sortable-tables-resources","request-access-plugin"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewcontent","atl.general","page","atl.comments","browser-metrics-plugin.contrib"],"xr":[]},
+ "220": [{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}","pageID":"${page_id}"},"timeDelta":-510},{"name":"confluence.page.view","properties":{"pageID":"${page_id}"},"timeDelta":-502},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1138","isInitial":"true","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.page.view","navigationType":"1","readyForUser":"1232","redirectCount":"0","resourceLoadedEnd":"899","resourceLoadedStart":237.04499999985273,"threshold":"1000","unloadEventStart":"213","unloadEventEnd":"213","fetchStart":"0","domainLookupStart":"0","domainLookupEnd":"0","connectStart":"0","connectEnd":"0","requestStart":"5","responseStart":"201","responseEnd":"219","domLoading":"217","domInteractive":"1071","domContentLoadedEventStart":"1071","domContentLoadedEventEnd":"1098","domComplete":"1540","loadEventStart":"1541","loadEventEnd":"1545","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36","serverDuration":"78","requestCorrelationId":"2e7b1dbf229e6734","resourceTiming":"{\"â \":[\"2,6l,hl,aj,6w,6l,,6l,6l,6l\",\"2,6l,e5,am,6x,6l,,6l,6l,6l\",\"3,6l,oz,an,6x,6l,,6l,6l,6l\",\"3,6l,lf,ap,6x,6l,,6l,6l,6l\",\"5,re,v6,v6,rg,re,,re,re,re\",\"5,rk,v8,v7,rm,rk,,rk,rk,rk\",\"4,sd,we,wd,st,sd,,sd,sd,sd\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]"},"timeDelta":-154}],
+ "230": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewcontent","atl.general","page","atl.comments","browser-metrics-plugin.contrib","sortable-tables-resources","request-access-plugin"],"xr":[]}
},
"view_dashboard": {
- "205": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","baseurl-checker-resource","dashboard","backbone-dashboard","atl.general","main"],"xr":["confluence.macros.advanced:blogpost-resources"]},
- "220": {"r":[],"c":["com.atlassian.confluence.extra.team-calendars.resources-batch"],"xc":["_super","baseurl-checker-resource","dashboard","backbone-dashboard","atl.general","main"],"xr":["confluence.macros.advanced:blogpost-resources"]}
+ "280": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","dashboard","backbone-dashboard","atl.general","main"],"xr":[]},
+ "330": [{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}"},"timeDelta":-617},{"name":"confluence.spa.root-loaded","properties":{"redirectedTo":"all-updates","currentSection":""},"timeDelta":-597},{"name":"confluence.spa.rendered","properties":{"currentSection":"all-updates"},"timeDelta":-556},{"name":"confluence.spa.view","properties":{"previousSection":"all-updates","currentSection":"all-updates"},"timeDelta":-475},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"943","isInitial":"true","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.dashboard.view","navigationType":"0","readyForUser":"1560","redirectCount":"0","resourceLoadedEnd":"828","resourceLoadedStart":184.42499998491257,"threshold":"1000","unloadEventStart":"164","unloadEventEnd":"164","fetchStart":"1","domainLookupStart":"1","domainLookupEnd":"1","connectStart":"1","connectEnd":"1","requestStart":"4","responseStart":"160","responseEnd":"172","domLoading":"166","domInteractive":"903","domContentLoadedEventStart":"903","domContentLoadedEventEnd":"933","domComplete":"1362","loadEventStart":"1362","loadEventEnd":"1363","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","serverDuration":"40","requestCorrelationId":"cd97183c29eb2d82","resourceTiming":"{\"â \":[\"2,54,cn,93,5f,54,,54,54,54\",\"2,54,97,94,5i,54,,54,54,54\",\"2,54,92,91,5i,54,,54,54,54\",\"3,54,n0,96,5i,54,,54,54,54\",\"3,55,gb,9c,5i,55,,55,55,55\",\"3,55,94,93,5j,55,,55,55,55\",\"5,ow,sm,sm,oy,ow,,ow,ow,ow\",\"4,p9,sv,su,pb,p9,,p9,p9,p9\",\"4,pc,sy,sy,pe,pc,,pc,pc,pc\",\"4,pd,tt,tq,q3,pd,,pd,pd,pd\",\"5,r0,um,ul,r2,r0,,r0,r0,r0\",\"5,r9,uu,ut,rb,r9,,r9,r9,r9\",\"4,sd,we,we,sv,sd,,sd,sd,sd\",\"4,sd,wh,wg,sz,sd,,sd,sd,sd\",\"4,ss,y6,y6,um,ss,,ss,ss,ss\",\"4,ss,zz,zy,wf,ss,,ss,ss,ss\",\"4,ss,yf,yf,uu,ss,,ss,ss,ss\",\"3,t8,11s,11q,y7,t8,,t8,t8,t8\",\"5,yx,z2\",\"5,rx,13l,13k,sm,rx,,rx,rx,rx\"]}","mark.@grammarly-extension:checkScriptInitStart":"[1207]","mark.@grammarly-extension:checkScriptInitEnd":"[1212]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:checkScriptInitStart\":[1207],\"@grammarly-extension:checkScriptInitEnd\":[1212]},\"measures\":{}}","experiments":"[]"},"timeDelta":-26}]
},
"view_blog": {
- "310": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "345": {"r":[],"c":["request-access-plugin"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "350": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "355": {"r":["confluence.web.resources.colors:colors","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.editor:editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-browser-metrics:editor","confluence.web.resources:quicksearchdropdown","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","confluence.web.resources:hint-manager","confluence.web.resources:raphael","com.atlassian.confluence.plugins.confluence-link-browser:link-object","confluence.web.resources:core","com.atlassian.confluence.plugins.confluence-page-layout:pagelayout-frontend","com.atlassian.confluence.plugins.confluence-link-browser:link-browser-conf-frontend","confluence.extra.jira:macro-browser-resources","confluence.extra.jira:dialogsJs-for-conf-frontend","confluence.extra.jira:jirachart-macro","confluence.web.resources:navigator-context","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:dynamic-css-resources","com.atlassian.plugins.atlassian-connect-plugin:featured-macro-css-resources","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-autoconvert-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:macro-editor-resources-v5","com.atlassian.confluence.plugins.confluence-inline-tasks:editor-autocomplete-date-conf-frontend","confluence.web.resources:breadcrumbs","com.atlassian.confluence.plugins.confluence-collaborative-editor-plugin:confluence-collaborative-editor-plugin-resources","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.plugins.confluence-labels:labels-editor","confluence.web.resources:ajs","com.atlassian.auiplugin:aui-inline-dialog2","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-editor-conf-frontend","com.atlassian.confluence.plugins.gadgets:macro-browser-for-gadgetsplugin","com.atlassian.confluence.plugins.confluence-invite-to-edit:edit-resources","confluence.macros.multimedia:macro-browser-smart-fields","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.image.effects.ImageEffectsPlugin:propertiespanel","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-view-file-macro:view-file-macro-editor-resources","confluence.macros.advanced:editor_includemacro-conf-frontend","com.atlassian.confluence.plugins.confluence-request-access-plugin:confluence-request-access-plugin-resources","confluence.web.resources:deferred-dialog-loader","com.atlassian.confluence.plugins.confluence-create-content-plugin:editor-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-macro-browser-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-resources","com.atlassian.confluence.plugins.confluence-inline-tasks:inline-tasks-macro-browser","com.atlassian.confluence.extra.team-calendars:amd","com.atlassian.confluence.extra.team-calendars:user-timezone-setup","com.atlassian.confluence.extra.team-calendars:calendar-init-editor","com.atlassian.confluence.extra.team-calendars:macro-browser-web-resources","confluence.extra.jira:text-placeholders-jira"],"c":[],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "360": {"r":[],"c":["com.atlassian.confluence.extra.team-calendars.resources-batch"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]}
+ "350": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","blogpost","viewcontent","main","atl.general","atl.comments"],"xr":[]},
+ "430": [{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}","pageID":"${blog_id}"},"timeDelta":-502}],
+ "440": {"r":["com.atlassian.confluence.ext.newcode-macro-plugin:sh-theme-confluence","com.atlassian.confluence.ext.newcode-macro-plugin:sh-theme-confluence"],"c":["request-access-plugin","sortable-tables-resources","code-macro"],"xc":["_super","blogpost","viewcontent","main","atl.general","atl.comments","browser-metrics-plugin.contrib"],"xr":[]},
+ "480": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","blogpost","viewcontent","main","atl.general","atl.comments","browser-metrics-plugin.contrib","request-access-plugin","sortable-tables-resources","code-macro"],"xr":["com.atlassian.confluence.ext.newcode-macro-plugin:sh-theme-confluence"]}
},
"create_blog": {
- "910": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","baseurl-checker-resource","editor-v4","atl.general","editor","macro-browser","main","blogpost"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar"]},
- "925": {"r":[],"c":["com.atlassian.confluence.extra.team-calendars.resources-batch"],"xc":["_super","baseurl-checker-resource","editor-v4","atl.general","editor","macro-browser","main","blogpost"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar"]},
- "930": {"r":[],"c":["request-access-plugin"],"xc":["_super","baseurl-checker-resource","editor-v4","atl.general","editor","macro-browser","main","blogpost"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar"]},
- "970": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","baseurl-checker-resource","blogpost","viewcontent","main","atl.general","atl.comments"],"xr":[]},
- "975": {"r":[],"c":["sortable-tables-resources"],"xc":["_super","baseurl-checker-resource","blogpost","viewcontent","main","atl.general","atl.comments"],"xr":[]},
- "995": {"r":[],"c":["request-access-plugin"],"xc":["_super","baseurl-checker-resource","blogpost","viewcontent","main","atl.general","atl.comments"],"xr":[]},
- "1030": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","baseurl-checker-resource","blogpost","viewcontent","main","atl.general","atl.comments"],"xr":[]},
- "1035": {"r":[],"c":["com.atlassian.confluence.extra.team-calendars.resources-batch"],"xc":["_super","baseurl-checker-resource","blogpost","viewcontent","main","atl.general","atl.comments"],"xr":[]}
+ "560": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","editor-v4","atl.general","editor","macro-browser","main","blogpost"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar"]},
+ "700": {"r":[],"c":["request-access-plugin"],"xc":["_super","editor-v4","atl.general","editor","macro-browser","main","blogpost","browser-metrics-plugin.contrib"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar","com.atlassian.confluence.plugins.confluence-space-ia:soy-resources"]},
+ "730": [{"name":"confluence.editor.close","properties":{"source":"publishButton"},"timeDelta":-25},{"name":"confluence.table.quality.in.page","properties":{"pageId":"${ajs-page-id}","total":0,"fixed":0,"fluid":0,"relative":0,"nested":0},"timeDelta":-23}],
+ "740": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","blogpost","viewcontent","main","atl.general","atl.comments"],"xr":[]},
+ "830": {"r":[],"c":["request-access-plugin"],"xc":["_super","blogpost","viewcontent","main","atl.general","atl.comments","browser-metrics-plugin.contrib"],"xr":[]},
+ "850": [{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}","pageID":"${ajs-page-id}","draftID":"${ajs-draft-id}"},"timeDelta":-609},{"name":"confluence.editor.ready.collab.mode.on","properties":{"connectionOrder":"","connectionType":""},"timeDelta":-255}],
+ "880": [{"name":"confluence.synchrony.editor.loaded","properties":{"durationMillis":877,"contentId":"${ajs-content-id}"},"timeDelta":-4514},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"2578","isInitial":"true","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.blogpost.create.collaborative.view","navigationType":"0","readyForUser":"3862","redirectCount":"0","resourceLoadedEnd":"2344","resourceLoadedStart":315.84500009194016,"threshold":"1000","unloadEventStart":"292","unloadEventEnd":"292","fetchStart":"2","domainLookupStart":"2","domainLookupEnd":"2","connectStart":"2","connectEnd":"2","requestStart":"5","responseStart":"284","responseEnd":"432","domLoading":"293","domInteractive":"2553","domContentLoadedEventStart":"2553","domContentLoadedEventEnd":"2563","domComplete":"3785","loadEventStart":"3785","loadEventEnd":"3786","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","serverDuration":"64","requestCorrelationId":"3dfaa599735fcbcb","resourceTiming":"{\"â \":[\"2,8r,h3,gy,94,8r,,8r,8r,8r\",\"2,8s,qz,gy,96,8s,,8s,8s,8s\",\"2,8s,h1,gx,96,8s,,8s,8s,8s\",\"3,8s,102,gy,96,8s,,8s,8s,8s\",\"3,8s,1t4,gy,96,8s,,8s,8s,8s\",\"3,8s,1ez,14y,c0,8s,,8s,8s,8s\",\"3,8s,lz,ly,h1,8s,,8s,8s,8s\",\"5,1vg,22n,224,1vh,1vg,,1vg,1vg,1vg\",\"5,1vm,21m,21m,1vp,1vm,,1vm,1vm,1vm\",\"4,1xf,21h,21g,1xg,1xf,,1xf,1xf,1xf\",\"4,1xg,236,232,1zj,1xg,,1xg,1xg,1xg\",\"5,20u,24h,24g,20w,20u,,20u,20u,20u\",\"5,20w,24r,24p,211,20w,,20w,20w,20w\",\"5,219,254,253,21h,219,,219,219,219\",\"5,235,26r,26q,237,235,,235,235,235\",\"3,276,2at,2ar,277,276,,276,276,276\",\"5,277,2as,2as,278,277,,277,277,277\",\"5,2a8,2e4,2e3,2aa,2a8,,2a8,2a8,2a8\",\"5,2ac,2dy,2dy,2ae,2ac,,2ac,2ac,2ac\",\"5,2ag,2ed,2ed,2at,2ag,,2ag,2ag,2ag\",\"5,2iq,2jh\",\"5,2h7,2lm,2lm,2hm,2h7,,2h7,2h7,2h7\",\"5,2hk,2lf,2lf,2ho,2hk,,2hk,2hk,2hk\",\"5,2hv,2lj,2lj,2hz,2hv,,2hv,2hv,2hv\",\"5,2i6,2m7,2m5,2im,2i6,,2i6,2i6,2i6\",\"5,2i9,2td,2m6,2in,2i9,,2i9,2i9,2i9\",\"5,2j9,2o4,2o3,2kf,2j9,,2j9,2j9,2j9\",\"2,2o7,2so,2sl,2p1,2o7,,2o7,2o7,2o7\",\"3,2o7,2x4,2x3,2tj,2o7,,2o7,2o7,2o7\",\"5,2uj,2yu,2yu,2v9,2uj,,2uj,2uj,2uj\"]}","mark.@grammarly-extension:checkScriptInitStart":"[3196]","mark.@grammarly-extension:checkScriptInitEnd":"[3198]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:checkScriptInitStart\":[3196],\"@grammarly-extension:checkScriptInitEnd\":[3198]},\"measures\":{}}","experiments":"[]"},"timeDelta":-4501},{"name":"confluence.synchrony.user.in.session","properties":{"numOtherUsers":1,"draftId":"38904812","contentId":"38904812"},"timeDelta":-3368},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","isInitial":"false","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.blogpost.create.collaborative.view.connected","readyForUser":"1139","threshold":"1000","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","resourceTiming":"{\"â \":[\"5,dv,dy\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]"},"timeDelta":-3365}],
+ "890": [{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}","pageID":"${page_id}"},"timeDelta":-502},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"1377","isInitial":"true","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.blogpost.view","navigationType":"0","readyForUser":"1441","redirectCount":"0","resourceLoadedEnd":"1297","resourceLoadedStart":269.0850000362843,"threshold":"1000","unloadEventStart":"247","unloadEventEnd":"247","fetchStart":"5","domainLookupStart":"5","domainLookupEnd":"5","connectStart":"5","connectEnd":"5","requestStart":"14","responseStart":"236","responseEnd":"249","domLoading":"251","domInteractive":"1363","domContentLoadedEventStart":"1363","domContentLoadedEventEnd":"1370","domComplete":"1734","loadEventStart":"1735","loadEventEnd":"1738","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","serverDuration":"107","requestCorrelationId":"edf885c57119f2bd","resourceTiming":"{\"â \":[\"2,7h,bq,bc,7r,7h,,7h,7h,7h\",\"2,7h,bo,be,7r,7h,,7h,7h,7h\",\"3,7h,lu,bh,7s,7h,,7h,7h,7h\",\"3,7h,101,bj,7s,7h,,7h,7h,7h\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]"},"timeDelta":-176}],
+ "910": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","blogpost","viewcontent","main","atl.general","atl.comments","browser-metrics-plugin.contrib","request-access-plugin"],"xr":[]}
},
"create_and_edit_page": {
- "705": {"r":["confluence.web.resources.colors:colors","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.editor:editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-browser-metrics:editor","confluence.web.resources:quicksearchdropdown","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","confluence.web.resources:hint-manager","confluence.web.resources:raphael","com.atlassian.confluence.plugins.confluence-link-browser:link-object","confluence.web.resources:core","com.atlassian.confluence.plugins.confluence-page-layout:pagelayout-frontend","com.atlassian.confluence.plugins.confluence-link-browser:link-browser-conf-frontend","confluence.extra.jira:macro-browser-resources","confluence.extra.jira:dialogsJs-for-conf-frontend","confluence.extra.jira:jirachart-macro","confluence.web.resources:navigator-context","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:dynamic-css-resources","com.atlassian.plugins.atlassian-connect-plugin:featured-macro-css-resources","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-autoconvert-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:macro-editor-resources-v5","com.atlassian.confluence.plugins.confluence-inline-tasks:editor-autocomplete-date-conf-frontend","confluence.web.resources:breadcrumbs","com.atlassian.confluence.plugins.confluence-collaborative-editor-plugin:confluence-collaborative-editor-plugin-resources","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.plugins.confluence-labels:labels-editor","confluence.web.resources:ajs","com.atlassian.auiplugin:aui-inline-dialog2","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-editor-conf-frontend","com.atlassian.confluence.plugins.gadgets:macro-browser-for-gadgetsplugin","com.atlassian.confluence.plugins.confluence-invite-to-edit:edit-resources","confluence.macros.multimedia:macro-browser-smart-fields","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.image.effects.ImageEffectsPlugin:propertiespanel","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-view-file-macro:view-file-macro-editor-resources","confluence.macros.advanced:editor_includemacro-conf-frontend","com.atlassian.confluence.plugins.confluence-request-access-plugin:confluence-request-access-plugin-resources","confluence.web.resources:deferred-dialog-loader","com.atlassian.confluence.plugins.confluence-create-content-plugin:editor-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-macro-browser-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-resources","com.atlassian.confluence.plugins.confluence-inline-tasks:inline-tasks-macro-browser","com.atlassian.confluence.extra.team-calendars:amd","com.atlassian.confluence.extra.team-calendars:user-timezone-setup","com.atlassian.confluence.extra.team-calendars:calendar-init-editor","com.atlassian.confluence.extra.team-calendars:macro-browser-web-resources","confluence.extra.jira:text-placeholders-jira"],"c":[],"xc":["_super","baseurl-checker-resource","editor-v4","editor","macro-browser","atl.general","main","page"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar"]},
- "710": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","baseurl-checker-resource","editor-v4","editor","macro-browser","atl.general","main","page"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar"]},
- "715": {"r":[],"c":["com.atlassian.confluence.extra.team-calendars.resources-batch"],"xc":["_super","baseurl-checker-resource","editor-v4","editor","macro-browser","atl.general","main","page"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar"]},
- "750": {"r":[],"c":["request-access-plugin"],"xc":["_super","baseurl-checker-resource","editor-v4","editor","macro-browser","atl.general","main","page"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar"]},
- "795": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "830": {"r":[],"c":["sortable-tables-resources"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "835": {"r":[],"c":["request-access-plugin"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "845": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "850": {"r":["confluence.web.resources.colors:colors","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.editor:editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-browser-metrics:editor","confluence.web.resources:quicksearchdropdown","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","confluence.web.resources:hint-manager","confluence.web.resources:raphael","com.atlassian.confluence.plugins.confluence-link-browser:link-object","confluence.web.resources:core","com.atlassian.confluence.plugins.confluence-page-layout:pagelayout-frontend","com.atlassian.confluence.plugins.confluence-link-browser:link-browser-conf-frontend","confluence.extra.jira:macro-browser-resources","confluence.extra.jira:dialogsJs-for-conf-frontend","confluence.extra.jira:jirachart-macro","confluence.web.resources:navigator-context","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:dynamic-css-resources","com.atlassian.plugins.atlassian-connect-plugin:featured-macro-css-resources","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-autoconvert-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:macro-editor-resources-v5","com.atlassian.confluence.plugins.confluence-inline-tasks:editor-autocomplete-date-conf-frontend","confluence.web.resources:breadcrumbs","com.atlassian.confluence.plugins.confluence-collaborative-editor-plugin:confluence-collaborative-editor-plugin-resources","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.plugins.confluence-labels:labels-editor","confluence.web.resources:ajs","com.atlassian.auiplugin:aui-inline-dialog2","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-editor-conf-frontend","com.atlassian.confluence.plugins.gadgets:macro-browser-for-gadgetsplugin","com.atlassian.confluence.plugins.confluence-invite-to-edit:edit-resources","confluence.macros.multimedia:macro-browser-smart-fields","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.image.effects.ImageEffectsPlugin:propertiespanel","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-view-file-macro:view-file-macro-editor-resources","confluence.macros.advanced:editor_includemacro-conf-frontend","com.atlassian.confluence.plugins.confluence-request-access-plugin:confluence-request-access-plugin-resources","confluence.web.resources:deferred-dialog-loader","com.atlassian.confluence.plugins.confluence-create-content-plugin:editor-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-macro-browser-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-resources","com.atlassian.confluence.plugins.confluence-inline-tasks:inline-tasks-macro-browser","com.atlassian.confluence.extra.team-calendars:amd","com.atlassian.confluence.extra.team-calendars:user-timezone-setup","com.atlassian.confluence.extra.team-calendars:calendar-init-editor","com.atlassian.confluence.extra.team-calendars:macro-browser-web-resources","confluence.extra.jira:text-placeholders-jira"],"c":[],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "855": {"r":[],"c":["com.atlassian.confluence.extra.team-calendars.resources-batch"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "1175": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "1215": {"r":[],"c":["request-access-plugin"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "1220": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "1225": {"r":["confluence.web.resources.colors:colors","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.editor:editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-browser-metrics:editor","confluence.web.resources:quicksearchdropdown","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","confluence.web.resources:hint-manager","confluence.web.resources:raphael","com.atlassian.confluence.plugins.confluence-link-browser:link-object","confluence.web.resources:core","com.atlassian.confluence.plugins.confluence-page-layout:pagelayout-frontend","com.atlassian.confluence.plugins.confluence-link-browser:link-browser-conf-frontend","confluence.extra.jira:macro-browser-resources","confluence.extra.jira:dialogsJs-for-conf-frontend","confluence.extra.jira:jirachart-macro","confluence.web.resources:navigator-context","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:dynamic-css-resources","com.atlassian.plugins.atlassian-connect-plugin:featured-macro-css-resources","com.atlassian.plugins.atlassian-connect-plugin:confluence-atlassian-connect-autoconvert-resources-v5","com.atlassian.plugins.atlassian-connect-plugin:macro-editor-resources-v5","com.atlassian.confluence.plugins.confluence-inline-tasks:editor-autocomplete-date-conf-frontend","confluence.web.resources:breadcrumbs","com.atlassian.confluence.plugins.confluence-collaborative-editor-plugin:confluence-collaborative-editor-plugin-resources","com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts","com.atlassian.confluence.plugins.confluence-labels:labels-editor","confluence.web.resources:ajs","com.atlassian.auiplugin:aui-inline-dialog2","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-editor-conf-frontend","com.atlassian.confluence.plugins.gadgets:macro-browser-for-gadgetsplugin","com.atlassian.confluence.plugins.confluence-invite-to-edit:edit-resources","confluence.macros.multimedia:macro-browser-smart-fields","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.image.effects.ImageEffectsPlugin:propertiespanel","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-resources-conf-frontend","com.atlassian.confluence.plugins.confluence-view-file-macro:view-file-macro-editor-resources","confluence.macros.advanced:editor_includemacro-conf-frontend","com.atlassian.confluence.plugins.confluence-request-access-plugin:confluence-request-access-plugin-resources","confluence.web.resources:deferred-dialog-loader","com.atlassian.confluence.plugins.confluence-create-content-plugin:editor-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-macro-browser-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-resources","com.atlassian.confluence.plugins.confluence-inline-tasks:inline-tasks-macro-browser","com.atlassian.confluence.extra.team-calendars:amd","com.atlassian.confluence.extra.team-calendars:user-timezone-setup","com.atlassian.confluence.extra.team-calendars:calendar-init-editor","com.atlassian.confluence.extra.team-calendars:macro-browser-web-resources","confluence.extra.jira:text-placeholders-jira"],"c":[],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]},
- "1230": {"r":[],"c":["com.atlassian.confluence.extra.team-calendars.resources-batch"],"xc":["_super","baseurl-checker-resource","atl.confluence.plugins.pagetree-desktop","main","viewcontent","page","atl.general","atl.comments"],"xr":[]}
+ "970": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","editor-v4","atl.general","editor","macro-browser","main","page"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar"]},
+ "1100": {"r":[],"c":["request-access-plugin"],"xc":["_super","editor-v4","atl.general","editor","macro-browser","main","page","browser-metrics-plugin.contrib"],"xr":["com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar","com.atlassian.confluence.plugins.confluence-space-ia:soy-resources"]},
+ "1110": [{"name":"confluence.synchrony.exit.before.connecting","properties":{"afterTimeout":false,"contentId":"${ajs-content-id}"},"timeDelta":-2867},{"name":"confluence.viewpage.src.quick-create","properties":{"userKey":"${ajs-remote-user-key}","pageID":"${ajs-page-id}","draftID":"${ajs-draft-id}"},"timeDelta":-590},{"name":"confluence.editor.ready.collab.mode.on","properties":{"connectionOrder":"","connectionType":""},"timeDelta":-241}],
+ "1120": [{"name":"confluence.synchrony.editor.loaded","properties":{"durationMillis":839,"contentId":"${ajs-content-id}"},"timeDelta":-4563},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","firstPaint":"2222","isInitial":"true","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.page.create.collaborative.view","navigationType":"0","readyForUser":"3456","redirectCount":"0","resourceLoadedEnd":"2008","resourceLoadedStart":313.95000009797513,"threshold":"1000","unloadEventStart":"292","unloadEventEnd":"292","fetchStart":"1","domainLookupStart":"1","domainLookupEnd":"1","connectStart":"1","connectEnd":"1","requestStart":"4","responseStart":"286","responseEnd":"304","domLoading":"296","domInteractive":"2199","domContentLoadedEventStart":"2199","domContentLoadedEventEnd":"2206","domComplete":"3416","loadEventStart":"3416","loadEventEnd":"3417","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","serverDuration":"172","requestCorrelationId":"094ec5fbb427a8c7","resourceTiming":"{\"â \":[\"2,8p,cw,cn,8z,8p,,8p,8p,8p\",\"2,8q,d0,co,90,8q,,8q,8q,8q\",\"2,8q,g3,g2,ch,ch,,91,91,91\",\"3,8q,xx,g5,ch,ch,,91,91,91\",\"3,8q,1js,g6,ch,ch,,91,91,91\",\"3,8q,hg,h9,cl,cl,,90,90,90\",\"3,8q,ha,gj,cx,8q,,8q,8q,8q\",\"5,1lo,1qn,1q2,1lq,1lo,,1lo,1lo,1lo\",\"5,1lw,1pq,1pp,1ly,1lw,,1lw,1lw,1lw\",\"4,1nn,1re,1rd,1no,1nn,,1nn,1nn,1nn\",\"4,1no,1t8,1t5,1pn,1no,,1no,1no,1no\",\"5,1qm,1u9,1u8,1qo,1qm,,1qm,1qm,1qm\",\"5,1qr,1ud,1uc,1qt,1qr,,1qr,1qr,1qr\",\"5,1qt,1us,1uq,1qz,1qt,,1qt,1qt,1qt\",\"3,1r0,1ut,1us,1r7,1r0,,1r0,1r0,1r0\",\"5,1r5,1v6,1v6,1re,1r5,,1r5,1r5,1r5\",\"5,1rk,1xw,1xw,1ua,1rk,,1rk,1rk,1rk\",\"5,1t5,1wt,1wr,1t8,1t5,,1t5,1t5,1t5\",\"5,202,243,242,203,202,,202,202,202\",\"5,205,23s,23r,208,205,,205,205,205\",\"5,20a,23w,23v,20c,20a,,20a,20a,20a\",\"5,24r,2bx,28g,24t,24r,,24r,24r,24r\",\"5,24r,2ib,2bc,272,24r,,24r,24r,24r\",\"5,26q,2b1,2b0,27d,26q,,26q,26q,26q\",\"5,270,2b2,2b1,27i,270,,270,270,270\",\"5,278,2bp,2bo,27t,278,,278,278,278\",\"5,279,2bn,2bn,284,279,,279,279,279\",\"5,27l,280\",\"2,2br,2fe,2fb,2bs,2br,,2br,2br,2br\",\"3,2br,2mv,2mu,2j5,2br,,2br,2br,2br\",\"5,2jk,2ne,2nb,2jn,2jk,,2jk,2jk,2jk\"]}","mark.@grammarly-extension:checkScriptInitStart":"[2822]","mark.@grammarly-extension:checkScriptInitEnd":"[2823]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:checkScriptInitStart\":[2822],\"@grammarly-extension:checkScriptInitEnd\":[2823]},\"measures\":{}}","experiments":"[]"},"timeDelta":-4550},{"name":"confluence.synchrony.user.in.session","properties":{"numOtherUsers":1,"draftId":"38904870","contentId":"38904870"},"timeDelta":-3417},{"name":"browser.metrics.navigation","properties":{"apdex":"0.5","isInitial":"false","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.page.create.collaborative.view.connected","readyForUser":"1138","threshold":"1000","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","resourceTiming":"{\"â \":[\"5,ea,ec\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]"},"timeDelta":-3415}],
+ "1180": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewcontent","atl.general","page","atl.comments"],"xr":[]},
+ "1280": {"r":[],"c":["request-access-plugin"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewcontent","atl.general","page","atl.comments","browser-metrics-plugin.contrib"],"xr":[]},
+ "1300": [{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}","pageID":"${ajs-page-id}"},"timeDelta":-502},{"name":"confluence.page.view","properties":{"pageID":"${ajs-page-id}"},"timeDelta":-495},{"name":"browser.metrics.navigation","properties":{"apdex":"1","firstPaint":"861","isInitial":"true","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.page.view","navigationType":"0","readyForUser":"933","redirectCount":"0","resourceLoadedEnd":"718","resourceLoadedStart":303.38499997742474,"threshold":"1000","unloadEventStart":"279","unloadEventEnd":"279","fetchStart":"5","domainLookupStart":"5","domainLookupEnd":"5","connectStart":"5","connectEnd":"5","requestStart":"14","responseStart":"274","responseEnd":"288","domLoading":"282","domInteractive":"842","domContentLoadedEventStart":"842","domContentLoadedEventEnd":"851","domComplete":"1246","loadEventStart":"1246","loadEventEnd":"1248","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","serverDuration":"145","requestCorrelationId":"20f982530b81615b","resourceTiming":"{\"â \":[\"2,8f,fz,cc,8o,8f,,8f,8f,8f\",\"2,8f,g9,cl,8p,8f,,8f,8f,8f\",\"3,8f,jy,cb,8p,8f,,8f,8f,8f\",\"3,8f,jo,cg,8p,8f,,8f,8f,8f\",\"5,lw,pt,pt,ly,lw,,lw,lw,lw\",\"5,m1,pp,po,m3,m1,,m1,m1,m1\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]"},"timeDelta":-160}],
+ "1310": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewcontent","atl.general","page","atl.comments","browser-metrics-plugin.contrib","request-access-plugin"],"xr":[]},
+ "1430": [{"name":"view.edit.transition.edit.button.clicked","properties":{"method":"by-other"},"timeDelta":-3837},{"name":"confluence.synchrony.client.content.reconciliation.blank-content","properties":{"contentId":"${ajs-content-id}"},"timeDelta":-3697},{"name":"confluence.editor.ready.collab.mode.on","properties":{"connectionOrder":"secondary","connectionType":"synchrony-proxy"},"timeDelta":-3369},{"name":"quick-edit-success","timeDelta":-3352},{"name":"confluence.synchrony.editor.loaded","properties":{"durationMillis":17,"contentId":"${ajs-content-id}"},"timeDelta":-3334},{"name":"browser.metrics.navigation","properties":{"apdex":"1","isInitial":"false","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.page.edit.collaborative.quick-view","readyForUser":"505","threshold":"1000","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","resourceTiming":"{\"â \":[\"5,5s,9l,9k,5u,5s,,5s,5s,5s\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]"},"timeDelta":-3321},{"name":"confluence.synchrony.user.in.session","properties":{"numOtherUsers":1,"draftId":"38904871","contentId":"38904870"},"timeDelta":-2606},{"name":"browser.metrics.navigation","properties":{"apdex":"1","isInitial":"false","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.page.edit.collaborative.quick-view.connected","readyForUser":"723","threshold":"1000","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","resourceTiming":"{\"â \":[\"5,3k,7n,7m,3m,3k,,3k,3k,3k\",\"5,44,7r,7q,47,44,,44,44,44\"]}","mark.@grammarly-extension:gButtonShow":"[67]","userTimingRaw":"{\"marks\":{\"@grammarly-extension:gButtonShow\":[67]},\"measures\":{}}","experiments":"[]"},"timeDelta":-2603}],
+ "1450": [{"name":"confluence.editor.transition.firstkeydown","properties":{"delay":20017},"timeDelta":-3472}],
+ "1500": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewcontent","atl.general","page","atl.comments"],"xr":[]},
+ "1600": {"r":[],"c":["request-access-plugin"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewcontent","atl.general","page","atl.comments","browser-metrics-plugin.contrib"],"xr":[]},
+ "1620": [{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}","pageID":"${ajs-page-id}"},"timeDelta":-503},{"name":"confluence.page.view","properties":{"pageID":"${ajs-page-id}"},"timeDelta":-497},{"name":"browser.metrics.navigation","properties":{"apdex":"1","firstPaint":"906","isInitial":"true","journeyId":"a7c0ccb4-dcf5-46b1-b640-5dda29da5764","key":"confluence.page.view","navigationType":"0","readyForUser":"978","redirectCount":"0","resourceLoadedEnd":"762","resourceLoadedStart":237.39999998360872,"threshold":"1000","unloadEventStart":"212","unloadEventEnd":"212","fetchStart":"7","domainLookupStart":"7","domainLookupEnd":"7","connectStart":"7","connectEnd":"7","requestStart":"14","responseStart":"208","responseEnd":"222","domLoading":"216","domInteractive":"889","domContentLoadedEventStart":"889","domContentLoadedEventEnd":"895","domComplete":"1277","loadEventStart":"1277","loadEventEnd":"1279","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36","serverDuration":"79","requestCorrelationId":"a0c10edb3d00e84c","resourceTiming":"{\"â \":[\"2,6l,az,am,6v,6l,,6l,6l,6l\",\"2,6l,b3,az,6v,6l,,6l,6l,6l\",\"3,6l,l6,ak,6w,6l,,6l,6l,6l\",\"3,6l,em,ai,6w,6l,,6l,6l,6l\",\"5,n4,qv,qv,n6,n4,,n4,n4,n4\",\"5,nb,qz,qy,nd,nb,,nb,nb,nb\"]}","userTimingRaw":"{\"marks\":{},\"measures\":{}}","experiments":"[]"},"timeDelta":-176}],
+ "1630": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewcontent","atl.general","page","atl.comments","browser-metrics-plugin.contrib","request-access-plugin"],"xr":[]}
+ },
+ "comment_page": {
+ "1740": [{"name":"confluence.page.reading","properties":{"pageID":"${page_id}"},"timeDelta":-880},{"name":"confluence.page.comment.create","properties":{"pageID":"${page_id}"},"timeDelta":-376},{"name":"confluence.editor.action","properties":{"keys":40,"pageID":"${page_id}","editorVersion":"0.74.1"},"timeDelta":-190}]
+ },
+ "view_attachment": {
+ "1810": {"r":[],"c":["request-access-plugin"],"xc":["_super","viewattachments","main","atl.general","page","atl.confluence.plugins.pagetree-desktop"],"xr":["confluence.web.resources:attachments","com.atlassian.auiplugin:split_aui.splitchunk.036a05e5ff","com.atlassian.auiplugin:split_aui.component.nav","com.atlassian.confluence.plugins.confluence-space-ia:soy-resources","com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1","com.atlassian.auiplugin:split_jquery.ui.sortable","com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar","confluence.web.resources:pagination-styles"]},
+ "1830": [{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}","pageID":"${page_id}"},"timeDelta":-505}],
+ "1840": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","viewattachments","main","atl.general","page","atl.confluence.plugins.pagetree-desktop","request-access-plugin"],"xr":["confluence.web.resources:attachments","com.atlassian.auiplugin:split_aui.splitchunk.036a05e5ff","com.atlassian.auiplugin:split_aui.component.nav","com.atlassian.confluence.plugins.confluence-space-ia:soy-resources","com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1","com.atlassian.auiplugin:split_jquery.ui.sortable","com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar","confluence.web.resources:pagination-styles"]},
+ "1890": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","viewattachments","main","atl.general","page","atl.confluence.plugins.pagetree-desktop","request-access-plugin"],"xr":["confluence.web.resources:attachments","com.atlassian.auiplugin:split_aui.splitchunk.036a05e5ff","com.atlassian.auiplugin:split_aui.component.nav","com.atlassian.confluence.plugins.confluence-space-ia:soy-resources","com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1","com.atlassian.auiplugin:split_jquery.ui.sortable","com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar","confluence.web.resources:pagination-styles","com.atlassian.auiplugin:split_aui.component.form.date-select","com.atlassian.auiplugin:split_aui.splitchunk.e8173e0382","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.splitchunk.vendors--8cfcf1af69","com.atlassian.auiplugin:split_aui.component.form.file-select","com.atlassian.auiplugin:split_aui.deprecated.pattern.toolbar1","com.atlassian.auiplugin:split_aui.splitchunk.vendors--85718a7eef","com.atlassian.auiplugin:split_aui.splitchunk.vendors--7c76061134","com.atlassian.confluence.plugins.confluence-ui-components:space-page-picker","com.atlassian.confluence.plugins.confluence-ui-components:user-group-select2","com.atlassian.confluence.plugins.confluence-ui-components:cql","com.atlassian.confluence.plugins.confluence-create-content-plugin:user-select2","confluence.web.components:editor-notifications","confluence.web.resources:draft-changes-css","com.atlassian.confluence.plugins.confluence-macro-browser:macro-browser-css","confluence.web.resources:macro-browser-sprites","com.atlassian.confluence.editor:page-editor-css","com.atlassian.confluence.editor:unpublished-changes","com.atlassian.confluence.plugins.reliablesave:reliable-save-conf-frontend","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.image.effects.ImageEffectsPlugin:propertiespanel","com.atlassian.plugins.editor:atlassian-rte-css","com.atlassian.confluence.plugins.confluence-collaborative-editor-plugin:confluence-collaborative-editor-plugin-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-resources","com.atlassian.confluence.plugins.confluence-fixed-headers:confluence-fixed-headers-editor-resources","com.atlassian.confluence.plugins.confluence-hipchat-emoticons-plugin:hipchat-emoticons-conf-frontend","com.atlassian.confluence.plugins.confluence-link-browser:linkbrowser-css-resources","com.atlassian.confluence.plugins.confluence-mentions-plugin:smart-mentions-editor-resources","com.atlassian.confluence.plugins.confluence-page-layout:pagelayout-frontend","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-dialog-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-toolbar-view-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-resources","com.atlassian.confluence.plugins.confluence-templates:template-editor-variables-resources","com.atlassian.confluence.plugins.confluence-view-file-macro:view-file-macro-editor-resources","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-overlay","com.atlassian.confluence.plugins.gadgets:css","com.atlassian.confluence.plugins.share-page:plus-icon-css","com.atlassian.integration.jira.jira-integration-plugin:fields","com.atlassian.integration.jira.jira-integration-plugin:jira-create-issue-form","confluence.extra.jira:dialogsJs","com.atlassian.auiplugin:split_aui.splitchunk.vendors--ec56cc9135","com.atlassian.auiplugin:split_aui.component.form-validation","com.atlassian.auiplugin:split_aui.splitchunk.vendors--825acd7236","com.atlassian.auiplugin:split_jquery.ui.droppable","com.atlassian.auiplugin:split_jquery.ui.resizable","com.atlassian.auiplugin:split_jquery.ui.selectable","com.atlassian.confluence.editor:analytics","com.atlassian.confluence.editor:attachments-insert-utils-resources","com.atlassian.confluence.editor:editor-internationalisation","confluence.web.resources:dictionary","confluence.web.resources:macro-js-overrides","com.atlassian.confluence.plugins.confluence-ui-components:common","com.atlassian.confluence.plugins.confluence-ui-components:space-picker","confluence.web.resources:date-picker","com.atlassian.confluence.plugins.confluence-ui-components:page-picker","com.atlassian.confluence.plugins.confluence-ui-components:label-picker","com.atlassian.confluence.plugins.confluence-ui-components:include-exclude-picker","com.atlassian.confluence.plugins.confluence-macro-browser:macro-browser-js","com.atlassian.confluence.plugins.confluence-editor-v4:editor-resources-v4","com.atlassian.confluence.editor:bookmark-manager-conf-frontend","com.atlassian.confluence.editor:collaborative-helper","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","confluence.web.resources:draft-changes-js","com.atlassian.confluence.editor:page-editor-soy","com.atlassian.confluence.plugins.drag-and-drop:files-upload-analytics","com.atlassian.confluence.editor:panel-components","com.atlassian.confluence.editor:page-editor-js","com.atlassian.confluence.editor:editor-v3-v4-shared-resources","com.atlassian.confluence.editor:editor-resources-v4","com.atlassian.confluence.editor:editor-support-util","com.atlassian.confluence.editor:page-editor-quit-dialog","com.atlassian.confluence.plugins.confluence-image-attributes:soy-resources","com.atlassian.confluence.plugins.confluence-image-attributes:image-attributes","com.atlassian.confluence.ext.newcode-macro-plugin:code-macro-editor","com.atlassian.confluence.extra.officeconnector:macro-browser-smart-fields","com.atlassian.confluence.keyboardshortcuts:confluence-tinymce-keyboard-shortcuts","com.atlassian.plugins.browser.metrics.browser-metrics-plugin:api","com.atlassian.confluence.plugins.confluence-browser-metrics:editor","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-macro-browser-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:editor-resources","com.atlassian.confluence.plugins.confluence-fixed-headers:utils","com.atlassian.confluence.plugins.confluence-frontend:split_jquery-selection-plugin","com.atlassian.confluence.plugins.confluence-inline-tasks:confluence-inlineTasks-utils","com.atlassian.confluence.plugins.confluence-inline-tasks:datepicker1","com.atlassian.confluence.plugins.confluence-inline-tasks:dateutil","com.atlassian.confluence.plugins.confluence-inline-tasks:date-helper-js-resources","com.atlassian.confluence.plugins.confluence-inline-tasks:editor-autocomplete-date-js","com.atlassian.confluence.plugins.confluence-inline-tasks:space-page-picker-shim","com.atlassian.confluence.plugins.confluence-inline-tasks:inline-tasks-macro-browser","confluence.web.resources:trigger","confluence.web.resources:keyboard","confluence.web.resources:jira-controls","confluence.web.resources:breadcrumbs-jquery","confluence.web.resources:dialog-breadcrumbs","confluence.web.resources:page-location","com.atlassian.confluence.plugins.confluence-link-browser:link-browser-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-analytics-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-bar-dialog-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-utilities-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-models","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-timeline-view-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-view-resources","com.atlassian.confluence.plugins.confluence-templates:template-editor-variables-template-resources","com.atlassian.confluence.plugins.drag-and-drop:image-dialog-client","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-tip","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-editor-common","com.atlassian.confluence.plugins.drag-and-drop:drop-zone-for-image-dialog","com.atlassian.gadgets.embedded:gadget-core-resources","com.atlassian.confluence.plugins.gadgets:macro-browser-for-gadgetsplugin","com.atlassian.confluence.plugins.profile-picture:profile-picture-editor_resources","com.atlassian.confluence.plugins.quickedit:editor-view-resources","com.atlassian.confluence.plugins.share-page:edit-resources","com.atlassian.confluence.plugins.sticky-table-headers:stickytableheaders-resources","confluence.extra.jira:proxy-js","confluence.extra.jira:jqlHelper","confluence.extra.jira:editor-resources-v4-exporter","confluence.extra.jira:jiraAnalytics","confluence.extra.jira:jirachart-macro","confluence.extra.jira:macro-browser-resources","confluence.extra.jira:text-placeholders-jira","confluence.macros.advanced:include_macro","confluence.macros.multimedia:macro-browser-smart-fields"]}
+ },
+ "upload_attachments": {
+ "1940": {"r":[],"c":["request-access-plugin"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewattachments","atl.general","page"],"xr":["confluence.web.resources:attachments","com.atlassian.confluence.plugins.confluence-previews:companion-plugin-templates","com.atlassian.auiplugin:split_aui.pattern.help","com.atlassian.confluence.plugins.confluence-previews:companion-plugin-button","com.atlassian.confluence.plugins.confluence-previews:companion-client-wrapper","com.atlassian.confluence.plugins.confluence-previews:mediaviewer-companion","com.atlassian.confluence.plugins.confluence-previews:embedded-edit","com.atlassian.auiplugin:split_aui.splitchunk.036a05e5ff","com.atlassian.auiplugin:split_aui.component.nav","com.atlassian.confluence.plugins.confluence-space-ia:soy-resources","com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1","com.atlassian.auiplugin:split_jquery.ui.sortable","com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar","com.atlassian.confluence.plugins.confluence-previews:confluence-plugin-css","confluence.web.resources:pagination-styles"]},
+ "1950": [{"name":"confluence.synchrony.exit.before.connecting","properties":{"afterTimeout":false,"contentId":"${x_editable_g2}"},"timeDelta":-4777},{"name":"confluence.viewpage.src.empty","properties":{"userKey":"${ajs-remote-user-key}","pageID":"${x_editable_g2}"},"timeDelta":-503}],
+ "1970": {"r":[],"c":["editor-v4","editor","macro-browser","fullpage-editor"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewattachments","atl.general","page","request-access-plugin"],"xr":["confluence.web.resources:attachments","com.atlassian.confluence.plugins.confluence-previews:companion-plugin-templates","com.atlassian.auiplugin:split_aui.pattern.help","com.atlassian.confluence.plugins.confluence-previews:companion-plugin-button","com.atlassian.confluence.plugins.confluence-previews:companion-client-wrapper","com.atlassian.confluence.plugins.confluence-previews:mediaviewer-companion","com.atlassian.confluence.plugins.confluence-previews:embedded-edit","com.atlassian.auiplugin:split_aui.splitchunk.036a05e5ff","com.atlassian.auiplugin:split_aui.component.nav","com.atlassian.confluence.plugins.confluence-space-ia:soy-resources","com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1","com.atlassian.auiplugin:split_jquery.ui.sortable","com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar","com.atlassian.confluence.plugins.confluence-previews:confluence-plugin-css","confluence.web.resources:pagination-styles"]},
+ "1990": {"r":[],"c":["browser-metrics-plugin.contrib"],"xc":["_super","atl.confluence.plugins.pagetree-desktop","main","viewattachments","atl.general","page","request-access-plugin"],"xr":["confluence.web.resources:attachments","com.atlassian.confluence.plugins.confluence-previews:companion-plugin-templates","com.atlassian.auiplugin:split_aui.pattern.help","com.atlassian.confluence.plugins.confluence-previews:companion-plugin-button","com.atlassian.confluence.plugins.confluence-previews:companion-client-wrapper","com.atlassian.confluence.plugins.confluence-previews:mediaviewer-companion","com.atlassian.confluence.plugins.confluence-previews:embedded-edit","com.atlassian.auiplugin:split_aui.splitchunk.036a05e5ff","com.atlassian.auiplugin:split_aui.component.nav","com.atlassian.confluence.plugins.confluence-space-ia:soy-resources","com.atlassian.auiplugin:split_aui.splitchunk.vendors--fc45e4dda1","com.atlassian.auiplugin:split_jquery.ui.sortable","com.atlassian.confluence.plugins.confluence-space-ia:spacesidebar","com.atlassian.confluence.plugins.confluence-previews:confluence-plugin-css","confluence.web.resources:pagination-styles","com.atlassian.auiplugin:split_aui.component.form.date-select","com.atlassian.auiplugin:split_aui.splitchunk.e8173e0382","com.atlassian.auiplugin:split_aui.component.form.select2","com.atlassian.auiplugin:split_aui.splitchunk.vendors--8cfcf1af69","com.atlassian.auiplugin:split_aui.component.form.file-select","com.atlassian.auiplugin:split_aui.deprecated.pattern.toolbar1","com.atlassian.auiplugin:split_aui.splitchunk.vendors--85718a7eef","com.atlassian.auiplugin:split_aui.splitchunk.vendors--7c76061134","com.atlassian.confluence.plugins.confluence-ui-components:space-page-picker","com.atlassian.confluence.plugins.confluence-ui-components:user-group-select2","com.atlassian.confluence.plugins.confluence-ui-components:cql","com.atlassian.confluence.plugins.confluence-create-content-plugin:user-select2","confluence.web.components:editor-notifications","confluence.web.resources:draft-changes-css","com.atlassian.confluence.plugins.confluence-macro-browser:macro-browser-css","confluence.web.resources:macro-browser-sprites","com.atlassian.confluence.editor:page-editor-css","com.atlassian.confluence.editor:unpublished-changes","com.atlassian.confluence.plugins.reliablesave:reliable-save-conf-frontend","com.atlassian.confluence.editor:property-panel-image-link-macro-conf-frontend","com.atlassian.confluence.image.effects.ImageEffectsPlugin:propertiespanel","com.atlassian.plugins.editor:atlassian-rte-css","com.atlassian.confluence.plugins.confluence-collaborative-editor-plugin:confluence-collaborative-editor-plugin-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-resources","com.atlassian.confluence.plugins.confluence-fixed-headers:confluence-fixed-headers-editor-resources","com.atlassian.confluence.plugins.confluence-hipchat-emoticons-plugin:hipchat-emoticons-conf-frontend","com.atlassian.confluence.plugins.confluence-link-browser:linkbrowser-css-resources","com.atlassian.confluence.plugins.confluence-mentions-plugin:smart-mentions-editor-resources","com.atlassian.confluence.plugins.confluence-page-layout:pagelayout-frontend","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-dialog-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-toolbar-view-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-resources","com.atlassian.confluence.plugins.confluence-templates:template-editor-variables-resources","com.atlassian.confluence.plugins.confluence-view-file-macro:view-file-macro-editor-resources","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-overlay","com.atlassian.confluence.plugins.gadgets:css","com.atlassian.confluence.plugins.share-page:plus-icon-css","com.atlassian.integration.jira.jira-integration-plugin:fields","com.atlassian.integration.jira.jira-integration-plugin:jira-create-issue-form","confluence.extra.jira:dialogsJs","com.atlassian.auiplugin:split_aui.splitchunk.vendors--ec56cc9135","com.atlassian.auiplugin:split_aui.component.form-validation","com.atlassian.auiplugin:split_aui.splitchunk.vendors--825acd7236","com.atlassian.auiplugin:split_jquery.ui.droppable","com.atlassian.auiplugin:split_jquery.ui.resizable","com.atlassian.auiplugin:split_jquery.ui.selectable","com.atlassian.confluence.editor:analytics","com.atlassian.confluence.editor:attachments-insert-utils-resources","com.atlassian.confluence.editor:editor-internationalisation","confluence.web.resources:dictionary","confluence.web.resources:macro-js-overrides","com.atlassian.confluence.plugins.confluence-ui-components:common","com.atlassian.confluence.plugins.confluence-ui-components:space-picker","confluence.web.resources:date-picker","com.atlassian.confluence.plugins.confluence-ui-components:page-picker","com.atlassian.confluence.plugins.confluence-ui-components:label-picker","com.atlassian.confluence.plugins.confluence-ui-components:include-exclude-picker","com.atlassian.confluence.plugins.confluence-macro-browser:macro-browser-js","com.atlassian.confluence.plugins.confluence-editor-v4:editor-resources-v4","com.atlassian.confluence.editor:bookmark-manager-conf-frontend","com.atlassian.confluence.editor:collaborative-helper","confluence.web.resources:legacy-editor-global-AVOID-IF-POSSIBLE","confluence.web.resources:draft-changes-js","com.atlassian.confluence.editor:page-editor-soy","com.atlassian.confluence.plugins.drag-and-drop:files-upload-analytics","com.atlassian.confluence.editor:panel-components","com.atlassian.confluence.editor:page-editor-js","com.atlassian.confluence.editor:editor-v3-v4-shared-resources","com.atlassian.confluence.editor:editor-resources-v4","com.atlassian.confluence.editor:editor-support-util","com.atlassian.confluence.editor:page-editor-quit-dialog","com.atlassian.confluence.plugins.confluence-image-attributes:soy-resources","com.atlassian.confluence.plugins.confluence-image-attributes:image-attributes","com.atlassian.confluence.ext.newcode-macro-plugin:code-macro-editor","com.atlassian.confluence.extra.officeconnector:macro-browser-smart-fields","com.atlassian.confluence.keyboardshortcuts:confluence-tinymce-keyboard-shortcuts","com.atlassian.plugins.browser.metrics.browser-metrics-plugin:api","com.atlassian.confluence.plugins.confluence-browser-metrics:editor","com.atlassian.confluence.plugins.confluence-create-content-plugin:create-from-template-macro-browser-resources","com.atlassian.confluence.plugins.confluence-create-content-plugin:editor-resources","com.atlassian.confluence.plugins.confluence-fixed-headers:utils","com.atlassian.confluence.plugins.confluence-frontend:split_jquery-selection-plugin","com.atlassian.confluence.plugins.confluence-inline-tasks:confluence-inlineTasks-utils","com.atlassian.confluence.plugins.confluence-inline-tasks:datepicker1","com.atlassian.confluence.plugins.confluence-inline-tasks:dateutil","com.atlassian.confluence.plugins.confluence-inline-tasks:date-helper-js-resources","com.atlassian.confluence.plugins.confluence-inline-tasks:editor-autocomplete-date-js","com.atlassian.confluence.plugins.confluence-inline-tasks:space-page-picker-shim","com.atlassian.confluence.plugins.confluence-inline-tasks:inline-tasks-macro-browser","confluence.web.resources:trigger","confluence.web.resources:keyboard","confluence.web.resources:jira-controls","confluence.web.resources:breadcrumbs-jquery","confluence.web.resources:dialog-breadcrumbs","confluence.web.resources:page-location","com.atlassian.confluence.plugins.confluence-link-browser:link-browser-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-analytics-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-bar-dialog-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-utilities-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-models","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-timeline-view-resources","com.atlassian.confluence.plugins.confluence-roadmap-plugin:roadmap-editor-view-resources","com.atlassian.confluence.plugins.confluence-templates:template-editor-variables-template-resources","com.atlassian.confluence.plugins.drag-and-drop:image-dialog-client","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-tip","com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-editor-common","com.atlassian.confluence.plugins.drag-and-drop:drop-zone-for-image-dialog","com.atlassian.gadgets.embedded:gadget-core-resources","com.atlassian.confluence.plugins.gadgets:macro-browser-for-gadgetsplugin","com.atlassian.confluence.plugins.profile-picture:profile-picture-editor_resources","com.atlassian.confluence.plugins.quickedit:editor-view-resources","com.atlassian.confluence.plugins.share-page:edit-resources","com.atlassian.confluence.plugins.sticky-table-headers:stickytableheaders-resources","confluence.extra.jira:proxy-js","confluence.extra.jira:jqlHelper","confluence.extra.jira:editor-resources-v4-exporter","confluence.extra.jira:jiraAnalytics","confluence.extra.jira:jirachart-macro","confluence.extra.jira:macro-browser-resources","confluence.extra.jira:text-placeholders-jira","confluence.macros.advanced:include_macro","confluence.macros.multimedia:macro-browser-smart-fields"]}
}
}
\ No newline at end of file
diff --git a/app/locustio/jira/http_actions.py b/app/locustio/jira/http_actions.py
index 371640003..c775a7a04 100644
--- a/app/locustio/jira/http_actions.py
+++ b/app/locustio/jira/http_actions.py
@@ -26,31 +26,59 @@ def login_and_view_dashboard(locust):
body['os_username'] = user[0]
body['os_password'] = user[1]
- locust.post('/login.jsp', body, TEXT_HEADERS, catch_response=True)
+ # 100 /login.jsp
+ locust.post('/login.jsp', body,
+ TEXT_HEADERS,
+ catch_response=True)
+
r = locust.get('/', catch_response=True)
if not r.content:
raise Exception('Please check server hostname in jira.yml file')
content = r.content.decode('utf-8')
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("110"),
- headers=RESOURCE_HEADERS, catch_response=True)
+
+ # 110 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("110"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 115 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("115"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 120 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("120"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 125 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("125"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 130 /plugins/servlet/gadgets/dashboard-diagnostics
locust.post("/plugins/servlet/gadgets/dashboard-diagnostics",
{"uri": f"{locust.client.base_url.lower()}/secure/Dashboard.jspa"},
- TEXT_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("120"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("125"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("130"),
- headers=RESOURCE_HEADERS, catch_response=True)
+ TEXT_HEADERS,
+ catch_response=True)
+ # 135 /rest/activity-stream/1.0/preferences
locust.get(f'/rest/activity-stream/1.0/preferences?_={timestamp_int()}', catch_response=True)
+
+ # 140 /rest/gadget/1.0/issueTable/jql
locust.get(f'/rest/gadget/1.0/issueTable/jql?num=10&tableContext=jira.table.cols.dashboard'
f'&addDefault=true&enableSorting=true&paging=true&showActions=true'
f'&jql=assignee+%3D+currentUser()+AND'
f'+resolution+%3D+unresolved+ORDER+BY+priority+DESC%2C+created+ASC'
f'&sortBy=&startIndex=0&_={timestamp_int()}', catch_response=True)
- locust.get(f'/plugins/servlet/streams?maxResults=5&relativeLinks=true&_={timestamp_int()}',
- catch_response=True)
+
+ # 145 /plugins/servlet/streams
+ locust.get(f'/plugins/servlet/streams?maxResults=5&relativeLinks=true&_={timestamp_int()}', catch_response=True)
+
# Assertions
token = fetch_by_re(params.atl_token_pattern, content)
if not (f'title="loggedInUser" value="{user[0]}">' in content):
@@ -70,23 +98,62 @@ def view_issue(locust):
issue_key = random.choice(jira_dataset['issues'])[0]
project_key = random.choice(jira_dataset['issues'])[2]
+ # 400 /browse
r = locust.get(f'/browse/{issue_key}', catch_response=True)
+
content = r.content.decode('utf-8')
issue_id = fetch_by_re(params.issue_id_pattern, content)
project_avatar_id = fetch_by_re(params.project_avatar_id_pattern, content)
edit_allowed = fetch_by_re(params.edit_allow_pattern, content, group_no=0)
+
+ # 405 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("405"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 410 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("410"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 415 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("415"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 420 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("420"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 425 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("425"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 430 /secure/projectavatar
locust.get(f'/secure/projectavatar?avatarId={project_avatar_id}', catch_response=True)
+
# Assertions
- if not(f'' in content):
+ if not (f'' in content):
logger.error(f'Issue {issue_key} not found: {content}')
assert f'' in content, 'Issue not found'
logger.locust_info(f"{params.action_name}: Issue {issue_key} is opened successfully")
-
logger.locust_info(f'{params.action_name}: Issue key - {issue_key}, issue_id - {issue_id}')
+
+ # 435 /secure/AjaxIssueEditAction!default.jspa
if edit_allowed:
url = f'/secure/AjaxIssueEditAction!default.jspa?decorator=none&issueId={issue_id}&_={timestamp_int()}'
locust.get(url, catch_response=True)
- locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', params.browse_project_payload,
+
+ # 440 /rest/projects/1.0/project//lastVisited
+ locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited',
+ params.browse_project_payload,
catch_response=True)
@@ -98,8 +165,10 @@ def create_issue(locust):
@jira_measure('locust_create_issue:open_quick_create')
def create_issue_open_quick_create():
raise_if_login_failed(locust)
- r = locust.post('/secure/QuickCreateIssue!default.jspa?decorator=none',
- ADMIN_HEADERS, catch_response=True)
+
+ # 200 /secure/QuickCreateIssue!default.jspa?decorator=none
+ r = locust.post('/secure/QuickCreateIssue!default.jspa?decorator=none', ADMIN_HEADERS, catch_response=True)
+
content = r.content.decode('utf-8')
atl_token = fetch_by_re(params.atl_token_pattern, content)
form_token = fetch_by_re(params.form_token_pattern, content)
@@ -120,9 +189,21 @@ def create_issue_open_quick_create():
if not ('"id":"project","label":"Project"' in content):
logger.error(f'{params.err_message_create_issue}: {content}')
assert '"id":"project","label":"Project"' in content, params.err_message_create_issue
- locust.post('/rest/quickedit/1.0/userpreferences/create', json=params.user_preferences_payload,
- headers=ADMIN_HEADERS, catch_response=True)
+
+ # 205 /rest/quickedit/1.0/userpreferences/create
+ locust.post('/rest/quickedit/1.0/userpreferences/create',
+ json=params.user_preferences_payload,
+ headers=ADMIN_HEADERS,
+ catch_response=True)
+
+ # 210 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("210"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
locust.session_data_storage['issue_body_params_dict'] = issue_body_params_dict
+
create_issue_open_quick_create()
@jira_measure('locust_create_issue:fill_and_submit_issue_form')
@@ -131,14 +212,25 @@ def create_issue_submit_form():
issue_body = params.prepare_issue_body(locust.session_data_storage['issue_body_params_dict'],
user=locust.session_data_storage["username"])
- r = locust.post('/secure/QuickCreateIssue.jspa?decorator=none', params=issue_body,
- headers=ADMIN_HEADERS, catch_response=True)
+ # 215 /secure/QuickCreateIssue.jspa?decorator=none
+ r = locust.post('/secure/QuickCreateIssue.jspa?decorator=none',
+ params=issue_body,
+ headers=ADMIN_HEADERS,
+ catch_response=True)
+
+ # 220 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("220"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
content = r.content.decode('utf-8')
if '"id":"project","label":"Project"' not in content:
logger.error(f'{params.err_message_create_issue}: {content}')
assert '"id":"project","label":"Project"' in content, params.err_message_create_issue
issue_key = fetch_by_re(params.create_issue_key_pattern, content)
logger.locust_info(f"{params.action_name}: Issue {issue_key} was successfully created")
+
create_issue_submit_form()
@@ -148,49 +240,96 @@ def search_jql(locust):
params = SearchJql()
jql = random.choice(jira_dataset['jqls'])[0]
- r = locust.get(f'/issues/?jql={jql}', catch_response=True)
- content = r.content.decode('utf-8')
- if not (locust.session_data_storage["token"] in content):
- logger.error(f'Can not search by {jql}: {content}')
- assert locust.session_data_storage["token"] in content, 'Can not search by jql'
+ # 300 /issues
+ locust.get(f'/issues/?jql={jql}', catch_response=True)
+
+ # 305 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("305"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 310 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("310"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("305"),
- headers=RESOURCE_HEADERS, catch_response=True)
+ # 315 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("315"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+ # 320 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("320"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 325 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("325"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 330 /rest/api/2/filter/favourite
locust.get(f'/rest/api/2/filter/favourite?expand=subscriptions[-5:]&_={timestamp_int()}',
catch_response=True)
- locust.post('/rest/issueNav/latest/preferredSearchLayout', params={'layoutKey': 'split-view'},
- headers=NO_TOKEN_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("320"),
- headers=RESOURCE_HEADERS, catch_response=True)
- r = locust.post('/rest/issueNav/1/issueTable', data=params.issue_table_payload,
- headers=NO_TOKEN_HEADERS, catch_response=True)
+ # 335 /rest/issueNav/latest/preferredSearchLayout
+ locust.post('/rest/issueNav/latest/preferredSearchLayout',
+ params={'layoutKey': 'split-view'},
+ headers=NO_TOKEN_HEADERS,
+ catch_response=True)
+
+ # 340 /rest/issueNav/1/issueTable
+ r = locust.post('/rest/issueNav/1/issueTable',
+ data=params.issue_table_payload,
+ headers=NO_TOKEN_HEADERS,
+ catch_response=True)
+
content = r.content.decode('utf-8')
issue_ids = re.findall(params.ids_pattern, content)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("330"),
- headers=RESOURCE_HEADERS, catch_response=True)
if issue_ids:
body = params.prepare_jql_body(issue_ids)
- r = locust.post('/rest/issueNav/1/issueTable/stable', data=body,
- headers=NO_TOKEN_HEADERS, catch_response=True)
+
+ # 345 /rest/issueNav/1/issueTable/stable
+ r = locust.post('/rest/issueNav/1/issueTable/stable',
+ data=body,
+ headers=NO_TOKEN_HEADERS,
+ catch_response=True)
+
content = r.content.decode('utf-8')
issue_key = fetch_by_re(params.issue_key_pattern, content)
issue_id = fetch_by_re(params.issue_id_pattern, content)
- locust.post('/secure/QueryComponent!Jql.jspa', params={'jql': 'order by created DESC',
- 'decorator': None}, headers=TEXT_HEADERS,
+
+ # 350 /secure/QueryComponent!Jql.jspa
+ locust.post('/secure/QueryComponent!Jql.jspa',
+ params={'jql': 'order by created DESC', 'decorator': None},
+ headers=TEXT_HEADERS,
catch_response=True)
+
+ # 355 /rest/orderbycomponent/latest/orderByOptions/primary
locust.post('/rest/orderbycomponent/latest/orderByOptions/primary',
- json={"jql": "order by created DESC"}, headers=RESOURCE_HEADERS, catch_response=True)
+ json={"jql": "order by created DESC"},
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 360 /secure/AjaxIssueAction!default.jspa
if issue_ids:
- r = locust.post('/secure/AjaxIssueAction!default.jspa', params={"decorator": None,
- "issueKey": issue_key,
- "prefetch": False,
- "shouldUpdateCurrentProject": False,
- "loadFields": False,
- "_": timestamp_int()},
- headers=TEXT_HEADERS, catch_response=True)
+ r = locust.post('/secure/AjaxIssueAction!default.jspa',
+ params={"decorator": None,
+ "issueKey": issue_key,
+ "prefetch": False,
+ "shouldUpdateCurrentProject": False,
+ "loadFields": False,
+ "_": timestamp_int()},
+ headers=TEXT_HEADERS,
+ catch_response=True)
+
+ # 365 /secure/AjaxIssueEditAction!default.jspa
if params.edit_allow_string in r.content.decode('utf-8'):
locust.get(f'/secure/AjaxIssueEditAction!default.jspa?'
f'decorator=none&issueId={issue_id}&_={timestamp_int()}', catch_response=True)
@@ -203,7 +342,9 @@ def view_project_summary(locust):
project = random.choice(jira_dataset['projects'])
project_key = project[0]
+ # 500 /projects//summary
r = locust.get(f'/projects/{project_key}/summary', catch_response=True)
+
content = r.content.decode('utf-8')
logger.locust_info(f"{params.action_name}. View project {project_key}: {content}")
@@ -212,32 +353,43 @@ def view_project_summary(locust):
logger.error(f'{params.err_message} {project_key}')
assert assert_string in content, params.err_message
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("505"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("510"),
- headers=RESOURCE_HEADERS, catch_response=True)
+ # 505 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("505"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 510 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("510"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 515 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("515"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 520 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("520"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 525 /rest/activity-stream/1.0/preferences
locust.get(f'/rest/activity-stream/1.0/preferences?_={timestamp_int()}', catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("520"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.get(f'/plugins/servlet/streams?maxResults=10&relativeLinks=true&streams=key+IS+{project_key}'
- f'&providers=thirdparty+dvcs-streams-provider+issues&_={timestamp_int()}',
- catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("530"),
- headers=RESOURCE_HEADERS, catch_response=True)
+
+ # 530 /projects/
locust.get(f'/projects/{project_key}?selectedItem=com.atlassian.jira.jira-projects-plugin:'
- f'project-activity-summary&decorator=none&contentOnly=true&_={timestamp_int()}',
- catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("545"),
- headers=RESOURCE_HEADERS, catch_response=True)
+ f'project-activity-summary&decorator=none&contentOnly=true&_={timestamp_int()}', catch_response=True)
+
+ # 535 /rest/api/2/user/properties/lastViewedVignette
locust.client.put(f'/rest/api/2/user/properties/lastViewedVignette?'
- f'username={locust.session_data_storage["username"]}', data={"id": "priority"},
- headers=TEXT_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("555"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.get(f'/rest/activity-stream/1.0/preferences?_={timestamp_int()}', catch_response=True)
- locust.get(f'/plugins/servlet/streams?maxResults=10&relativeLinks=true&streams=key+IS+{project_key}'
- f'&providers=thirdparty+dvcs-streams-provider+issues&_={timestamp_int()}',
- catch_response=True)
+ f'username={locust.session_data_storage["username"]}',
+ data={"id": "priority"},
+ headers=TEXT_HEADERS,
+ catch_response=True)
def edit_issue(locust):
@@ -250,9 +402,11 @@ def edit_issue(locust):
@jira_measure('locust_edit_issue:open_editor')
def edit_issue_open_editor():
raise_if_login_failed(locust)
+
+ # 700 /secure/EditIssue!default.jspa
r = locust.get(f'/secure/EditIssue!default.jspa?id={issue_id}', catch_response=True)
- content = r.content.decode('utf-8')
+ content = r.content.decode('utf-8')
issue_type = fetch_by_re(params.issue_type_pattern, content)
atl_token = fetch_by_re(params.atl_token_pattern, content)
priority = fetch_by_re(params.issue_priority_pattern, content, group_no=2)
@@ -265,12 +419,31 @@ def edit_issue_open_editor():
params.err_message_issue_not_found
logger.locust_info(f"{params.action_name}: Editing issue {issue_key}")
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("705"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("710"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("720"),
- headers=RESOURCE_HEADERS, catch_response=True)
+ # 705 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("705"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 710 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("710"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 715 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("715"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 720 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("720"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 725 /rest/internal/2/user/mention/search
locust.get(f'/rest/internal/2/user/mention/search?issueKey={issue_key}'
f'&projectKey={project_key}&maxResults=10&_={timestamp_int()}', catch_response=True)
@@ -281,32 +454,65 @@ def edit_issue_open_editor():
f'&comment=""&commentLevel=""&atl_token={atl_token}&Update=Update'
locust.session_data_storage['edit_issue_body'] = edit_body
locust.session_data_storage['atl_token'] = atl_token
+
edit_issue_open_editor()
@jira_measure('locust_edit_issue:save_edit')
def edit_issue_save_edit():
raise_if_login_failed(locust)
+
+ # 730 /secure/EditIssue.jspa
r = locust.post(f'/secure/EditIssue.jspa?atl_token={locust.session_data_storage["atl_token"]}',
params=locust.session_data_storage['edit_issue_body'],
- headers=TEXT_HEADERS, catch_response=True)
+ headers=TEXT_HEADERS,
+ catch_response=True)
+
content = r.content.decode('utf-8')
if not (f'[{issue_key}]' in content):
logger.error(f'Could not save edited page: {content}')
assert f'[{issue_key}]' in content, 'Could not save edited page'
- locust.get(f'/browse/{issue_key}', catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("740"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("745"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("765"),
- headers=RESOURCE_HEADERS, catch_response=True)
+ # 735 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("735"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 740 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("740"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 745 /rest/bamboo/latest/deploy
+ locust.get(f'/rest/bamboo/latest/deploy/{project_key}/{issue_key}?_{timestamp_int()}', catch_response=True)
+
+ # 750 /secure/AjaxIssueEditAction!default.jspa
locust.get(f'/secure/AjaxIssueEditAction!default.jspa?decorator=none&issueId='
f'{issue_id}&_={timestamp_int()}', catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("775"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited', params.last_visited_body,
+
+ # 755 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("755"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 760 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("760"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 765 /rest/projects/1.0/project/${issue_project_key}/lastVisited
+ locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited',
+ params.last_visited_body,
catch_response=True)
+
+ # 770 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("770"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
edit_issue_save_edit()
@@ -315,30 +521,62 @@ def view_dashboard(locust):
raise_if_login_failed(locust)
params = ViewDashboard()
+ # 600 /secure/Dashboard.jspa
r = locust.get('/secure/Dashboard.jspa', catch_response=True)
+
content = r.content.decode('utf-8')
if not (f'title="loggedInUser" value="{locust.session_data_storage["username"]}">' in content):
logger.error(f'User {locust.session_data_storage["username"]} authentication failed: {content}')
assert f'title="loggedInUser" value="{locust.session_data_storage["username"]}">' in content, \
'User authentication failed'
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("605"),
- headers=RESOURCE_HEADERS, catch_response=True)
+
+ # 605 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("605"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 610 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("610"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 615 /rest/gadget/1.0/issueTable/jql
+ locust.get('/rest/gadget/1.0/issueTable/jql?num=10&tableContext=jira.table.cols.dashboard&addDefault=true'
+ '&enableSorting=true&paging=true&showActions=true'
+ '&jql=assignee+%3D+currentUser()+AND+resolution+%3D+unresolved+ORDER+BY+priority+'
+ 'DESC%2C+created+ASC&sortBy=&startIndex=0&_=1588507042019',
+ catch_response=True)
+
+ # 620 /plugins/servlet/gadgets/dashboard-diagnostics
r = locust.post('/plugins/servlet/gadgets/dashboard-diagnostics',
params={'uri': f'{JIRA_SETTINGS.server_url.lower()}//secure/Dashboard.jspa'},
- headers=TEXT_HEADERS, catch_response=True)
+ headers=TEXT_HEADERS,
+ catch_response=True)
+
content = r.content.decode('utf-8')
if not ('Dashboard Diagnostics: OK' in content):
logger.error(f'view_dashboard dashboard-diagnostics failed: {content}')
assert 'Dashboard Diagnostics: OK' in content, 'view_dashboard dashboard-diagnostics failed'
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("620"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.get(f'/rest/activity-stream/1.0/preferences?_={timestamp_int()}', catch_response=True)
- locust.get('/rest/gadget/1.0/issueTable/jql?num=10&tableContext=jira.table.cols.dashboard&addDefault=true'
- '&enableSorting=true&paging=true&showActions=true'
- '&jql=assignee+%3D+currentUser()+AND+resolution+%3D+unresolved+ORDER+BY+priority+'
- 'DESC%2C+created+ASC&sortBy=&startIndex=0&_=1588507042019', catch_response=True)
- locust.get(f'/plugins/servlet/streams?maxResults=5&relativeLinks=true&_={timestamp_int()}',
- catch_response=True)
+
+ # 625 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("625"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 630 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("630"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 635 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("635"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
def add_comment(locust):
@@ -351,7 +589,10 @@ def add_comment(locust):
@jira_measure('locust_add_comment:open_comment')
def add_comment_open_comment():
raise_if_login_failed(locust)
+
+ # 800 /secure/AddComment!default.jspa
r = locust.get(f'/secure/AddComment!default.jspa?id={issue_id}', catch_response=True)
+
content = r.content.decode('utf-8')
token = fetch_by_re(params.atl_token_pattern, content)
form_token = fetch_by_re(params.form_token_pattern, content)
@@ -359,30 +600,94 @@ def add_comment_open_comment():
logger.error(f'Could not open comment in the {issue_key} issue: {content}')
assert f'Add Comment: {issue_key}' in content, 'Could not open comment in the issue'
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("805"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("810"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("820"),
- headers=RESOURCE_HEADERS, catch_response=True)
+ # 805 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("805"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 810 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("810"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 815 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("815"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 820 /rest/internal/2/user/mention/search
locust.get(f'/rest/internal/2/user/mention/search?issueKey={issue_key}&projectKey={project_key}'
f'&maxResults=10&_={timestamp_int()}', catch_response=True)
locust.session_data_storage['token'] = token
locust.session_data_storage['form_token'] = form_token
+
+ # 825 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("825"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
add_comment_open_comment()
@jira_measure('locust_add_comment:save_comment')
def add_comment_save_comment():
raise_if_login_failed(locust)
+
+ # 845 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("845"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 850 /secure/AddComment.jspa
r = locust.post(f'/secure/AddComment.jspa?atl_token={locust.session_data_storage["token"]}',
params={"id": {issue_id}, "formToken": locust.session_data_storage["form_token"],
"dnd-dropzone": None, "comment": generate_random_string(20),
"commentLevel": None, "atl_token": locust.session_data_storage["token"],
- "Add": "Add"}, headers=TEXT_HEADERS, catch_response=True)
+ "Add": "Add"},
+ headers=TEXT_HEADERS,
+ catch_response=True)
+
content = r.content.decode('utf-8')
if not (f'' in content):
logger.error(f'Could not save comment: {content}')
assert f'' in content, 'Could not save comment'
+
+ # 860 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("860"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 865 /rest/bamboo/latest/deploy/${issue_project_key}/{issue_key}
+ locust.get(f'/rest/bamboo/latest/deploy/{project_key}/{issue_key}?_={timestamp_int()}', catch_response=True)
+
+ # 870 /secure/AjaxIssueEditAction!default.jspa
+ locust.get(f'/secure/AjaxIssueEditAction!default.jspa?'
+ f'decorator=none'
+ f'&issueId={issue_id}'
+ f'&_={timestamp_int()}', catch_response=True)
+
+ # 875 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("875"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 880 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("880"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 885 /rest/projects/1.0/project
+ locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited',
+ params.browse_project_payload,
+ catch_response=True)
+
add_comment_save_comment()
@@ -392,65 +697,94 @@ def browse_projects(locust):
params = BrowseProjects()
page = random.randint(1, jira_dataset['pages'])
+
+ # 900 /secure/BrowseProjects.jspa
r = locust.get(f'/secure/BrowseProjects.jspa?selectedCategory=all&selectedProjectType=all&page={page}',
catch_response=True)
+
content = r.content.decode('utf-8')
if not ('WRM._unparsedData["com.atlassian.jira.project.browse:projects"]="' in content):
logger.error(f'Could not browse projects: {content}')
assert 'WRM._unparsedData["com.atlassian.jira.project.browse:projects"]="' in content, 'Could not browse projects'
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("905"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("910"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("920"),
- headers=RESOURCE_HEADERS, catch_response=True)
+
+ # 905 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("905"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 910 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("910"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 915 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("915"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
@jira_measure('locust_view_kanban_board')
def view_kanban_board(locust):
raise_if_login_failed(locust)
kanban_board_id = random.choice(jira_dataset["kanban_boards"])[0]
- view_board(locust, kanban_board_id)
+ kanban_board(locust, kanban_board_id)
@jira_measure('locust_view_scrum_board')
def view_scrum_board(locust):
raise_if_login_failed(locust)
scrum_board_id = random.choice(jira_dataset["scrum_boards"])[0]
- view_board(locust, scrum_board_id)
+ scrum_board(locust, scrum_board_id)
@jira_measure('locust_view_backlog')
def view_backlog(locust):
raise_if_login_failed(locust)
scrum_board_id = random.choice(jira_dataset["scrum_boards"])[0]
- view_board(locust, scrum_board_id, view_backlog=True)
+ backlog_board(locust, scrum_board_id)
@jira_measure('locust_browse_boards')
def browse_boards(locust):
+
raise_if_login_failed(locust)
params = BrowseBoards()
+
+ # 1300 /secure/ManageRapidViews.jspa
locust.get('/secure/ManageRapidViews.jspa', catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1205"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1210"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1215"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1225"),
- headers=RESOURCE_HEADERS, catch_response=True)
+
+ # 1305 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1305"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1310 /rest/greenhopper/1.0/rapidviews/viewsData
locust.get(f'/rest/greenhopper/1.0/rapidviews/viewsData?_{timestamp_int()}', catch_response=True)
+ # 1315 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1315"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1320 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1320"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
-def view_board(locust, board_id, view_backlog=False):
- params = ViewBoard()
- if view_backlog:
- url = f'/secure/RapidBoard.jspa?rapidView={board_id}&view=planning'
- else:
- url = f'/secure/RapidBoard.jspa?rapidView={board_id}'
+def kanban_board(locust, board_id):
+ params = ViewBoard(action_name='view_kanban_board')
+ url = f'/secure/RapidBoard.jspa?rapidView={board_id}'
+ # 1000 /secure/RapidBoard.jspa
r = locust.get(url, catch_response=True)
+
content = r.content.decode('utf-8')
project_key = fetch_by_re(params.project_key_pattern, content)
project_id = fetch_by_re(params.project_id_pattern, content)
@@ -460,44 +794,262 @@ def view_board(locust, board_id, view_backlog=False):
logger.locust_info(f"{params.action_name}: key = {project_key}, id = {project_id}, plan = {project_plan}")
assert f'currentViewConfig\"{{\"id\":{board_id}', 'Could not open board'
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1000"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1005"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1010"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1015"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1020"),
- headers=RESOURCE_HEADERS, catch_response=True)
+ # 1005 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1005"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1010 /rest/greenhopper/1.0/xboard/config.json
+ locust.get(f'/rest/greenhopper/1.0/xboard/config.json?'
+ f'returnDefaultBoard=true'
+ f'&_={timestamp_int()}', catch_response=True)
+
+ # 1015 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1015"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1025 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1025"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
if project_key:
+ # 1030 /rest/api/2/project/${x_project_key}
locust.get(f'/rest/api/2/project/{project_key}?_={timestamp_int()}', catch_response=True)
- locust.get(f'/rest/greenhopper/1.0/xboard/toolSections?mode=work&rapidViewId={board_id}'
- f'&selectedProjectKey={project_key}&_={timestamp_int()}', catch_response=True)
- locust.get(f'/rest/greenhopper/1.0/xboard/work/allData.json?rapidViewId={board_id}'
- f'&selectedProjectKey={project_key}&_={timestamp_int()}', catch_response=True)
- if view_backlog:
- locust.get(f'/rest/inline-create/1.0/context/bootstrap?query='
- f'project%20%3D%20%22{project_key}%22%20ORDER%20BY%20Rank%20ASC&&_={timestamp_int()}',
- catch_response=True)
+
+ # 1035 /rest/projects/1.0/project/{project_key}/lastVisited
+ locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited',
+ {"id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"},
+ catch_response=True)
+
+ # 1040 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1040"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
else:
+ # 1045 /rest/greenhopper/1.0/xboard/toolSections
locust.get(f'/rest/greenhopper/1.0/xboard/toolSections?mode=work&rapidViewId={board_id}'
- f'&_={timestamp_int()}', catch_response=True)
- if view_backlog:
- locust.get(f'/rest/greenhopper/1.0/xboard/plan/backlog/data.json?rapidViewId={board_id}',
- catch_response=True)
- else:
- locust.get(f'/rest/greenhopper/1.0/xboard/work/allData.json?rapidViewId={board_id}', catch_response=True)
-
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1025"),
- headers=RESOURCE_HEADERS, catch_response=True)
- locust.post('/rest/webResources/1.0/resources', json=params.resources_body.get("1030"),
- headers=RESOURCE_HEADERS, catch_response=True)
- if view_backlog:
- locust.get(f'/rest/greenhopper/1.0/rapidviewconfig/editmodel.json?rapidViewId={board_id}'
- f'&_={timestamp_int()}', catch_response=True)
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1050 /rest/greenhopper/1.0/xboard/work/allData.json
+ locust.get(f'/rest/greenhopper/1.0/xboard/work/allData.json?rapidViewId={board_id}', catch_response=True)
+
+ if project_id:
+ # 1055 /rest/greenhopper/1.0/xboard/work/transitions.json
+ locust.get(f'/rest/greenhopper/1.0/xboard/work/transitions.json?'
+ f'projectId={project_id}'
+ f'&_={timestamp_int()}')
+
+ # 1060 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1060"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
if project_key:
+ # 1065 /rest/projects/1.0/project/{project_key}/lastVisited
locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited',
{"id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"},
catch_response=True)
+
+
+def scrum_board(locust, board_id):
+
+ params = ViewBoard(action_name='view_scrum_board')
+
+ # 1100 /secure/RapidBoard.jspa
+ r = locust.get(f'/secure/RapidBoard.jspa?rapidView={board_id}', catch_response=True)
+
+ content = r.content.decode('utf-8')
+ project_key = fetch_by_re(params.project_key_pattern, content)
+ project_id = fetch_by_re(params.project_id_pattern, content)
+ project_plan = fetch_by_re(params.project_plan_pattern, content, group_no=2)
+ if project_plan:
+ project_plan = project_plan.replace('\\', '')
+ logger.locust_info(f"{params.action_name}: key = {project_key}, id = {project_id}, plan = {project_plan}")
+ assert f'currentViewConfig\"{{\"id\":{board_id}', 'Could not open board'
+
+ # 1110 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1110"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1115 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1115"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ if project_key:
+ # 1105 /rest/greenhopper/1.0/xboard/work/allData.json
+ locust.get(f'/rest/greenhopper/1.0/xboard/work/allData.json?'
+ f'rapidViewId={board_id}'
+ f'&selectedProjectKey={project_key}',
+ catch_response=True)
+
+ # 1120 /rest/api/2/project/{x_project_key}
+ locust.get(f'/rest/api/2/project/{project_key}?'
+ f'_={timestamp_int()}',
+ catch_response=True)
+
+ # 1125 /rest/greenhopper/1.0/xboard/toolSections
+ locust.get(f'/rest/greenhopper/1.0/xboard/toolSections?'
+ f'mode=work'
+ f'&rapidViewId={board_id}'
+ f'&selectedProjectKey={project_key}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1130 /rest/greenhopper/1.0/xboard/work/allData.json
+ locust.get(f'/rest/greenhopper/1.0/xboard/work/allData.json?'
+ f'rapidViewId={board_id}'
+ f'&selectedProjectKey={project_key}',
+ catch_response=True)
+
+ # 1060 /rest/projects/1.0/project/{project_key}/lastVisited
+ locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited',
+ {"id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"},
+ catch_response=True)
+
+ if not project_key:
+ # 1140 /rest/greenhopper/1.0/xboard/toolSections
+ locust.get(f'/rest/greenhopper/1.0/xboard/toolSections?'
+ f'mode=work'
+ f'&rapidViewId={board_id}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1145 /rest/greenhopper/1.0/xboard/work/allData.json
+ locust.get(f'/rest/greenhopper/1.0/xboard/work/allData.json?'
+ f'rapidViewId={board_id}',
+ catch_response=True)
+
+ # 1150 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1150"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1155 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1155"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1165 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1165"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+
+def backlog_board(locust, board_id):
+
+ params = ViewBoard(action_name='view_backlog')
+
+ # 1200 /secure/RapidBoard.jspa
+ r = locust.get(f'/secure/RapidBoard.jspa?'
+ f'rapidView={board_id}'
+ f'&view=planning',
+ catch_response=True)
+
+ content = r.content.decode('utf-8')
+ project_key = fetch_by_re(params.project_key_pattern, content)
+ project_id = fetch_by_re(params.project_id_pattern, content)
+ project_plan = fetch_by_re(params.project_plan_pattern, content, group_no=2)
+ if project_plan:
+ project_plan = project_plan.replace('\\', '')
+ logger.locust_info(f"{params.action_name}: key = {project_key}, id = {project_id}, plan = {project_plan}")
+ assert f'currentViewConfig\"{{\"id\":{board_id}', 'Could not open board'
+
+ # 1210 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1210"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1215 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1215"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ if project_key:
+ # 1205 /rest/greenhopper/1.0/xboard/plan/backlog/data.json
+ locust.get(f'/rest/greenhopper/1.0/xboard/plan/backlog/data.json?'
+ f'rapidViewId={board_id}'
+ f'&selectedProjectKey={project_key}',
+ catch_response=True)
+
+ # 1235 /rest/api/2/project/{project_key}
+ locust.get(f'/rest/api/2/project/{project_key}?_={timestamp_int()}', catch_response=True)
+
+ # 1240 /rest/greenhopper/1.0/xboard/toolSections
+ locust.get(f'/rest/greenhopper/1.0/xboard/toolSections?'
+ f'mode=plan'
+ f'&rapidViewId={board_id}'
+ f'&selectedProjectKey={project_key}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1245 /rest/greenhopper/1.0/xboard/plan/backlog/data.json
+ locust.get(f'/rest/greenhopper/1.0/xboard/plan/backlog/data.json?'
+ f'&rapidViewId={board_id}'
+ f'&selectedProjectKey={project_key}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1250 /rest/inline-create/1.0/context/bootstrap
+ locust.get(f'/rest/inline-create/1.0/context/bootstrap?'
+ f'&query=project = {project_key} ORDER BY Rank ASC'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1255 /rest/webResources/1.0/resources
+ locust.post('/rest/webResources/1.0/resources',
+ json=params.resources_body.get("1255"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1260 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1260"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1265 /rest/analytics/1.0/publish/bulk
+ locust.post('/rest/analytics/1.0/publish/bulk',
+ json=params.resources_body.get("1265"),
+ headers=RESOURCE_HEADERS,
+ catch_response=True)
+
+ # 1285 /rest/projects/1.0/project/{project_key}/lastVisited
+ locust.client.put(f'/rest/projects/1.0/project/{project_key}/lastVisited',
+ {"id": f"com.pyxis.greenhopper.jira:project-sidebar-work-{project_plan}"},
+ catch_response=True)
+
+ if not project_key:
+ # 1270 /rest/greenhopper/1.0/xboard/toolSections
+ locust.get(f'/rest/greenhopper/1.0/xboard/toolSections?'
+ f'mode=plan'
+ f'&rapidViewId={board_id}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
+
+ # 1275 /rest/greenhopper/1.0/xboard/plan/backlog/data.json
+ locust.get(f'/rest/greenhopper/1.0/xboard/plan/backlog/data.json?'
+ f'rapidViewId={board_id}',
+ catch_response=True)
+
+ # 1280 /rest/greenhopper/1.0/rapidviewconfig/editmodel.json
+ locust.get(f'/rest/greenhopper/1.0/rapidviewconfig/editmodel.json?'
+ f'rapidViewId={board_id}'
+ f'&_={timestamp_int()}',
+ catch_response=True)
diff --git a/app/locustio/jira/requests_params.py b/app/locustio/jira/requests_params.py
index b96b653d9..0e7215992 100644
--- a/app/locustio/jira/requests_params.py
+++ b/app/locustio/jira/requests_params.py
@@ -38,8 +38,8 @@ class Login(JiraResource):
}
-
class BrowseIssue(JiraResource):
+ action_name = "view_issue"
issue_id_pattern = r'id="key-val" rel="(.+?)">'
project_avatar_id_pattern = r'projectavatar\?avatarId\=(.+?)" '
edit_allow_pattern = "secure\/EditLabels\!default" # noqa W605
@@ -51,6 +51,7 @@ class ViewDashboard(JiraResource):
class CreateIssue(JiraResource):
+ action_name = 'create_issue'
atl_token_pattern = '"atl_token":"(.+?)"'
form_token_pattern = '"formToken":"(.+?)"'
issue_type_pattern = '\{"label":"Story","value":"([0-9]*)"' # noqa W605
@@ -58,8 +59,8 @@ class CreateIssue(JiraResource):
resolution_done_pattern = r'