mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
integrations: Add Azure DevOps webhook integration.
This commit is contained in:
committed by
Tim Abbott
parent
294be1661c
commit
f1a3cdc4c6
BIN
static/images/integrations/azuredevops/001.png
Normal file
BIN
static/images/integrations/azuredevops/001.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
BIN
static/images/integrations/bot_avatars/azuredevops.png
Normal file
BIN
static/images/integrations/bot_avatars/azuredevops.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
12
static/images/integrations/logos/azuredevops.svg
Normal file
12
static/images/integrations/logos/azuredevops.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" standalone="yes"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1069" height="1070">
|
||||
<path style="fill:#ffffff; stroke:none;" d="M0 0L0 390C10.7623 381.239 18.8936 366.949 27.4244 356C44.5577 334.01 61.5884 311.937 78.7901 290C86.3827 280.317 96.0052 261.185 107.09 255.649C116.321 251.039 128.09 249.139 138 246.291C157.029 240.822 175.995 235.129 195 229.576C251.027 213.205 306.86 196.121 363 180.14C385.723 173.672 408.276 166.609 431 160.14C436.956 158.445 452.317 156.693 455.972 151.49C457.976 148.638 457 143.296 457 140L457 111L457 0L0 0z"/>
|
||||
<path style="fill:#5c97d1; stroke:none;" d="M457 0L457 109L457 138C457 141.714 458.034 147.432 455.972 150.722C451.436 157.961 428.967 160.33 421 162.72C387.388 172.802 353.683 182.583 320 192.424C271.971 206.458 224.1 221.07 176 234.859C159.634 239.55 143.307 244.389 127 249.28C120.23 251.311 111.295 252.303 105.3 256.139C96.8967 261.516 90.333 274.191 84.2099 282C68.8619 301.573 51.1734 320.917 38 342L216 342C244.481 342 275.823 345.717 304 341.7C356.501 334.215 409.059 320.758 461 310.003C545.89 292.426 630.993 275.799 716 258.8C755.404 250.92 795.149 240.146 835 235L835 342L1069 342L1069 200L1012 206.718L898 221.155L856 226.424L835 228.143L803 209.05L745 173.8L538 48L485 15.7971L457 0z"/>
|
||||
<path style="fill:#ffffff; stroke:none;" d="M459 0L459 1C492.955 16.8729 525.025 40.5994 557 60.189C613.528 94.8209 670.648 128.509 727 163.424C751.208 178.424 775.717 192.934 800 207.811C810.364 214.16 823.196 225.54 835 228.486C841.368 230.076 850.546 227.313 857 226.424C870.968 224.5 884.999 222.831 899 221.155C936.696 216.642 974.304 211.358 1012 206.845C1030.78 204.596 1050.09 200.39 1069 200L1069 0L459 0M836 231L836 233L838 233L836 231M151 372L151 767C118.409 751.575 84.9785 737.72 52 723.14C35.8532 716.001 17.3588 704.094 0 701L0 1070L799 1070L799 1069L513 964.947L435 936.576L388 920L388 1069C353.654 1031.68 324.884 987.329 294.116 947C246.848 885.043 197.463 824.29 152 761L614 797.089L767 809.089L835 814L835 235L786 244.4L690 263.8L325 337.2L208 360.8L151 372z"/>
|
||||
<path style="fill:#4c8ecb; stroke:none;" d="M27 356L163 356L232 355.911L300 343L280 342L238 342L91 342L54 342L38.0394 343.028L27 356M835 342L835 356L1069 356L1069 342L835 342z"/>
|
||||
<path style="fill:#5c97d1; stroke:none;" d="M24 361C84.5111 361 146.654 365.14 207 360.911C214.762 360.367 222.237 357.618 230 357C217.831 351.893 196.253 356 183 356L72 356L38 356C32.1975 356 26.9333 355.184 24 361M835 356L835 361L1069 361L1069 356L835 356z"/>
|
||||
<path style="fill:#4c8ecb; stroke:none;" d="M0 632L151 632L151 372L205 362C198.564 359.299 188.951 361 182 361L130 361L52 361C44.3012 361 28.6331 358.037 22.1736 362.603C-4.72809 381.623 0 412.488 0 441L0 632M835 361L835 632L1069 632L1069 361L835 361z"/>
|
||||
<path style="fill:#3782c3; stroke:none;" d="M0 632L0 701L41 718.694L151 767L151 632L0 632M835 632L835 814C774.547 814 713.306 804.243 653 800.089C531.594 791.729 410.406 780.271 289 771.911C243.356 768.767 197.706 762.963 152 761L185.424 806L199.3 822.397L217 823L256 823L392 823L1069 823L1069 632L835 632z"/>
|
||||
<path style="fill:#277abe; stroke:none;" d="M199 823L241.349 879L320.116 982L363.627 1039L388 1069L388 920C422.52 929.423 456.383 944.652 490 956.947C555.967 981.073 622.033 1004.93 688 1029.05C715.317 1039.04 742.53 1049.44 770 1059C778.125 1061.83 792.422 1070.61 801 1069.28C805.795 1068.53 810.374 1063.13 814 1060.2C823.727 1052.33 833.295 1044.28 843 1036.39C879.128 1007.02 914.791 977.072 951 947.803C978.815 925.32 1006.52 902.645 1034 879.753C1043.64 871.725 1062.03 861.968 1067.97 850.911C1071.61 844.138 1069 830.597 1069 823L199 823z"/>
|
||||
<path style="fill:#ffffff; stroke:none;" d="M1068 851L937 958.424L802 1069L802 1070L1069 1070L1069 916L1069 872L1068 851z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 3.7 KiB |
@@ -334,6 +334,7 @@ WEBHOOK_INTEGRATIONS: List[WebhookIntegration] = [
|
||||
WebhookIntegration("ansibletower", ["deployment"], display_name="Ansible Tower"),
|
||||
WebhookIntegration("appfollow", ["customer-support"], display_name="AppFollow"),
|
||||
WebhookIntegration("appveyor", ["continuous-integration"], display_name="AppVeyor"),
|
||||
WebhookIntegration("azuredevops", ["version-control"], display_name="AzureDevOps"),
|
||||
WebhookIntegration("beanstalk", ["version-control"], stream_name="commits"),
|
||||
WebhookIntegration("basecamp", ["project-management"]),
|
||||
WebhookIntegration("beeminder", ["misc"], display_name="Beeminder"),
|
||||
@@ -690,6 +691,7 @@ DOC_SCREENSHOT_CONFIG: Dict[str, List[BaseScreenshotConfig]] = {
|
||||
"ansibletower": [ScreenshotConfig("job_successful_multiple_hosts.json")],
|
||||
"appfollow": [ScreenshotConfig("review.json")],
|
||||
"appveyor": [ScreenshotConfig("appveyor_build_success.json")],
|
||||
"azuredevops": [ScreenshotConfig("code_push.json")],
|
||||
"basecamp": [ScreenshotConfig("doc_active.json")],
|
||||
"beanstalk": [
|
||||
ScreenshotConfig("git_multiple.json", use_basic_auth=True, payload_as_query_param=True)
|
||||
|
0
zerver/webhooks/azuredevops/__init__.py
Normal file
0
zerver/webhooks/azuredevops/__init__.py
Normal file
28
zerver/webhooks/azuredevops/doc.md
Normal file
28
zerver/webhooks/azuredevops/doc.md
Normal file
@@ -0,0 +1,28 @@
|
||||
Get Azure Devops notifications in Zulip!
|
||||
|
||||
1. {!create-stream.md!}
|
||||
|
||||
1. {!create-bot-construct-url.md!}
|
||||
|
||||
{!git-webhook-url-with-branches.md!}
|
||||
|
||||
1. Go to your project on Azure DevOps and click on the **Project
|
||||
settings** in the bottom left corner. Select **Service
|
||||
hooks**. Click on **Create subscription**. Select **Web hooks** and
|
||||
then **Next**.
|
||||
|
||||
1. Select the events you would like to receive notifications for and
|
||||
then click **Next**. This integration supports the following
|
||||
events:
|
||||
* Code pushed
|
||||
* Pull request created
|
||||
* Pull request updated
|
||||
* Pull request merge attempted
|
||||
|
||||
1. Set **URL** to the URL constructed above. Ensure that **Resource
|
||||
details to send** and **Detailed messages to send** are set to
|
||||
**All**. Click **Finish**.
|
||||
|
||||
{!congrats.md!}
|
||||
|
||||

|
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"subscriptionId": "4f1eccb6-04ff-45dd-90aa-713078e5c395",
|
||||
"notificationId": 5,
|
||||
"id": "e41a8834-0875-4fa1-ace0-ba656e630af9",
|
||||
"eventType": "git.pullrequest.merged",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Merge attempted for pull request 4 (Add 4th PR) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/",
|
||||
"html": "Merge attempted for <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/4\">pull request 4</a> (Add 4th PR) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>",
|
||||
"markdown": "Merge attempted for [pull request 4](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/4) (Add 4th PR) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Merge attempted for pull request 4 (Add 4th PR) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/",
|
||||
"html": "Merge attempted for <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/4\">pull request 4</a> (Add 4th PR) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>",
|
||||
"markdown": "Merge attempted for [pull request 4](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/4) (Add 4th PR) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)"
|
||||
},
|
||||
"resource": {
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"revision": 11,
|
||||
"visibility": "private",
|
||||
"lastUpdateTime": "2022-07-17T05:01:05.987Z"
|
||||
},
|
||||
"size": 7840,
|
||||
"remoteUrl": "https://ttchong@dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"sshUrl": "git@ssh.dev.azure.com:v3/ttchong/test-zulip/test-zulip",
|
||||
"webUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"isDisabled": false
|
||||
},
|
||||
"pullRequestId": 4,
|
||||
"codeReviewId": 4,
|
||||
"status": "active",
|
||||
"createdBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"creationDate": "2022-07-30T07:47:15.091534Z",
|
||||
"title": "Add 4th PR",
|
||||
"sourceRefName": "refs/heads/preprod",
|
||||
"targetRefName": "refs/heads/main",
|
||||
"mergeStatus": "conflicts",
|
||||
"isDraft": false,
|
||||
"mergeId": "697a791b-ab1a-48bf-910f-df958081a45c",
|
||||
"lastMergeSourceCommit": {
|
||||
"commitId": "885adddfa29eeeb8a0c9448b6744d2cfe02b1ebf",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/885adddfa29eeeb8a0c9448b6744d2cfe02b1ebf"
|
||||
},
|
||||
"lastMergeTargetCommit": {
|
||||
"commitId": "6c86f973c0cd02726af8a5da074795745927e0d2",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/6c86f973c0cd02726af8a5da074795745927e0d2"
|
||||
},
|
||||
"reviewers": [
|
||||
{
|
||||
"reviewerUrl": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/4/reviewers/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"vote": 10,
|
||||
"hasDeclined": false,
|
||||
"isFlagged": false,
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6"
|
||||
}
|
||||
],
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/4",
|
||||
"_links": {
|
||||
"web": {
|
||||
"href": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/4"
|
||||
},
|
||||
"statuses": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/4/statuses"
|
||||
}
|
||||
},
|
||||
"supportsIterations": true,
|
||||
"artifactId": "vstfs:///Git/PullRequestId/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2%2f98f0ce59-a912-43d5-96d2-bc0942a03f7b%2f4"
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-30T07:48:03.2511337Z"
|
||||
}
|
@@ -0,0 +1,135 @@
|
||||
{
|
||||
"subscriptionId": "4f1eccb6-04ff-45dd-90aa-713078e5c395",
|
||||
"notificationId": 8,
|
||||
"id": "d4cbc5f3-be4a-4fa6-80df-bfad83e313c5",
|
||||
"eventType": "git.pullrequest.merged",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Merge attempted for pull request 1 (Add PR request) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/",
|
||||
"html": "Merge attempted for <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1\">pull request 1</a> (Add PR request) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>",
|
||||
"markdown": "Merge attempted for [pull request 1](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1) (Add PR request) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Merge attempted for pull request 1 (Add PR request) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\r\nAdd PR request\r\n",
|
||||
"html": "Merge attempted for <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1\">pull request 1</a> (Add PR request) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a><p>Add PR request</p>",
|
||||
"markdown": "Merge attempted for [pull request 1](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1) (Add PR request) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)\r\nAdd PR request\r\n"
|
||||
},
|
||||
"resource": {
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"revision": 11,
|
||||
"visibility": "private",
|
||||
"lastUpdateTime": "2022-07-17T05:01:05.987Z"
|
||||
},
|
||||
"size": 7840,
|
||||
"remoteUrl": "https://ttchong@dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"sshUrl": "git@ssh.dev.azure.com:v3/ttchong/test-zulip/test-zulip",
|
||||
"webUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"isDisabled": false
|
||||
},
|
||||
"pullRequestId": 1,
|
||||
"codeReviewId": 1,
|
||||
"status": "completed",
|
||||
"createdBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"creationDate": "2022-07-24T08:02:50.160355Z",
|
||||
"closedDate": "2022-07-30T07:55:03.5006647Z",
|
||||
"title": "Add PR request",
|
||||
"description": "Add PR request",
|
||||
"sourceRefName": "refs/heads/dev",
|
||||
"targetRefName": "refs/heads/main",
|
||||
"mergeStatus": "succeeded",
|
||||
"isDraft": false,
|
||||
"mergeId": "3cb082bf-62fd-4ff9-81f2-bea41241eadb",
|
||||
"lastMergeSourceCommit": {
|
||||
"commitId": "179f0b4e4a9318d1907402662b0a416550926ebb",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/179f0b4e4a9318d1907402662b0a416550926ebb"
|
||||
},
|
||||
"lastMergeTargetCommit": {
|
||||
"commitId": "6c86f973c0cd02726af8a5da074795745927e0d2",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/6c86f973c0cd02726af8a5da074795745927e0d2"
|
||||
},
|
||||
"lastMergeCommit": {
|
||||
"commitId": "b2606c193460441311f4d31f4729589c77f5efe0",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-30T07:55:02Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-30T07:55:02Z"
|
||||
},
|
||||
"comment": "Merged PR 1: Add PR request",
|
||||
"commentTruncated": true,
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b2606c193460441311f4d31f4729589c77f5efe0"
|
||||
},
|
||||
"reviewers": [],
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/1",
|
||||
"_links": {
|
||||
"web": {
|
||||
"href": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1"
|
||||
},
|
||||
"statuses": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/1/statuses"
|
||||
}
|
||||
},
|
||||
"completionOptions": {
|
||||
"mergeCommitMessage": "Merged PR 1: Add PR request\n\nAdd PR request",
|
||||
"mergeStrategy": "noFastForward",
|
||||
"transitionWorkItems": true,
|
||||
"autoCompleteIgnoreConfigIds": []
|
||||
},
|
||||
"supportsIterations": true,
|
||||
"completionQueueTime": "2022-07-30T07:55:02.6159917Z",
|
||||
"closedBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"artifactId": "vstfs:///Git/PullRequestId/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2%2f98f0ce59-a912-43d5-96d2-bc0942a03f7b%2f1"
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-30T07:55:09.816217Z"
|
||||
}
|
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"subscriptionId": "a0e7f493-8c02-498d-b9ee-86a8612bc74e",
|
||||
"notificationId": 1,
|
||||
"id": "d1e96858-24cd-4064-9e08-0c55db2ff3fa",
|
||||
"eventType": "git.pullrequest.created",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Yuro Itaki created pull request 1 (Add PR request) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/",
|
||||
"html": "Yuro Itaki created <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1\">pull request 1</a> (Add PR request) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>",
|
||||
"markdown": "Yuro Itaki created [pull request 1](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1) (Add PR request) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Yuro Itaki created pull request 1 (Add PR request) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\r\nAdd PR request\r\n",
|
||||
"html": "Yuro Itaki created <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1\">pull request 1</a> (Add PR request) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a><p>Add PR request</p>",
|
||||
"markdown": "Yuro Itaki created [pull request 1](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1) (Add PR request) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)\r\nAdd PR request\r\n"
|
||||
},
|
||||
"resource": {
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"revision": 11,
|
||||
"visibility": "private",
|
||||
"lastUpdateTime": "2022-07-17T05:01:05.987Z"
|
||||
},
|
||||
"size": 4425,
|
||||
"remoteUrl": "https://ttchong@dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"sshUrl": "git@ssh.dev.azure.com:v3/ttchong/test-zulip/test-zulip",
|
||||
"webUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"isDisabled": false
|
||||
},
|
||||
"pullRequestId": 1,
|
||||
"codeReviewId": 1,
|
||||
"status": "active",
|
||||
"createdBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"creationDate": "2022-07-24T08:02:50.160355Z",
|
||||
"title": "Add PR request",
|
||||
"description": "Add PR request",
|
||||
"sourceRefName": "refs/heads/dev",
|
||||
"targetRefName": "refs/heads/main",
|
||||
"mergeStatus": "succeeded",
|
||||
"isDraft": false,
|
||||
"mergeId": "3cb082bf-62fd-4ff9-81f2-bea41241eadb",
|
||||
"lastMergeSourceCommit": {
|
||||
"commitId": "8b913c8e0d0492952bd215da12df9a422182e9c5",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/8b913c8e0d0492952bd215da12df9a422182e9c5"
|
||||
},
|
||||
"lastMergeTargetCommit": {
|
||||
"commitId": "0929a3404b39f6e39076a640779b2c1c961e19b5",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/0929a3404b39f6e39076a640779b2c1c961e19b5"
|
||||
},
|
||||
"lastMergeCommit": {
|
||||
"commitId": "4d1292958374b3311a517429d6160f7fc434de86",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-24T08:02:50Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-24T08:02:50Z"
|
||||
},
|
||||
"comment": "Merge pull request 1 from dev into main",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/4d1292958374b3311a517429d6160f7fc434de86"
|
||||
},
|
||||
"reviewers": [],
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/1",
|
||||
"_links": {
|
||||
"web": {
|
||||
"href": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1"
|
||||
},
|
||||
"statuses": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/1/statuses"
|
||||
}
|
||||
},
|
||||
"supportsIterations": true,
|
||||
"artifactId": "vstfs:///Git/PullRequestId/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2%2f98f0ce59-a912-43d5-96d2-bc0942a03f7b%2f1"
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-24T08:02:56.9717413Z"
|
||||
}
|
@@ -0,0 +1,129 @@
|
||||
{
|
||||
"subscriptionId": "a0e7f493-8c02-498d-b9ee-86a8612bc74e",
|
||||
"notificationId": 2,
|
||||
"id": "3559461b-0001-422f-8c1c-7946284839ab",
|
||||
"eventType": "git.pullrequest.created",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Yuro Itaki created pull request 2 (Raised 2nd PR!) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/",
|
||||
"html": "Yuro Itaki created <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2\">pull request 2</a> (Raised 2nd PR!) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>",
|
||||
"markdown": "Yuro Itaki created [pull request 2](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2) (Raised 2nd PR!) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Yuro Itaki created pull request 2 (Raised 2nd PR!) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\r\nRaised 2nd PR!\r\n",
|
||||
"html": "Yuro Itaki created <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2\">pull request 2</a> (Raised 2nd PR!) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a><p>Raised 2nd PR!</p>",
|
||||
"markdown": "Yuro Itaki created [pull request 2](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2) (Raised 2nd PR!) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)\r\nRaised 2nd PR!\r\n"
|
||||
},
|
||||
"resource": {
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"revision": 11,
|
||||
"visibility": "private",
|
||||
"lastUpdateTime": "2022-07-17T05:01:05.987Z"
|
||||
},
|
||||
"size": 4425,
|
||||
"remoteUrl": "https://ttchong@dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"sshUrl": "git@ssh.dev.azure.com:v3/ttchong/test-zulip/test-zulip",
|
||||
"webUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"isDisabled": false
|
||||
},
|
||||
"pullRequestId": 2,
|
||||
"codeReviewId": 2,
|
||||
"status": "active",
|
||||
"createdBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"creationDate": "2022-07-24T08:45:53.9577409Z",
|
||||
"title": "Raised 2nd PR!",
|
||||
"sourceRefName": "refs/heads/stg",
|
||||
"targetRefName": "refs/heads/main",
|
||||
"mergeStatus": "succeeded",
|
||||
"isDraft": false,
|
||||
"mergeId": "675bced4-738a-4f9e-b255-a30dce8b91df",
|
||||
"lastMergeSourceCommit": {
|
||||
"commitId": "fe3b16dd2079fc96f4e31752b0e3e0782389b469",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/fe3b16dd2079fc96f4e31752b0e3e0782389b469"
|
||||
},
|
||||
"lastMergeTargetCommit": {
|
||||
"commitId": "0929a3404b39f6e39076a640779b2c1c961e19b5",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/0929a3404b39f6e39076a640779b2c1c961e19b5"
|
||||
},
|
||||
"lastMergeCommit": {
|
||||
"commitId": "037561654dedfcc22e96230eee4550916357ec7a",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-24T08:45:54Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-24T08:45:54Z"
|
||||
},
|
||||
"comment": "Merge pull request 2 from stg into main",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/037561654dedfcc22e96230eee4550916357ec7a"
|
||||
},
|
||||
"reviewers": [
|
||||
{
|
||||
"reviewerUrl": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/2/reviewers/ed580ebe-b4a9-485d-bfed-c58ba519d7b6",
|
||||
"vote": 0,
|
||||
"hasDeclined": false,
|
||||
"isFlagged": false,
|
||||
"displayName": "Project Collection Build Service (Pad9e1dcf-6055-4fc7-a146-5511ab5ab1e8)",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/ed580ebe-b4a9-485d-bfed-c58ba519d7b6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/svc.YTU2Y2JhNGEtZGM4MC00ZGQyLTkxZmEtNmZlNzA0N2ZlYTdjOkJ1aWxkOmFkOWUxZGNmLTYwNTUtNGZjNy1hMTQ2LTU1MTFhYjVhYjFlOA"
|
||||
}
|
||||
},
|
||||
"id": "ed580ebe-b4a9-485d-bfed-c58ba519d7b6",
|
||||
"uniqueName": "Build\\ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=ed580ebe-b4a9-485d-bfed-c58ba519d7b6"
|
||||
}
|
||||
],
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/2",
|
||||
"_links": {
|
||||
"web": {
|
||||
"href": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2"
|
||||
},
|
||||
"statuses": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/2/statuses"
|
||||
}
|
||||
},
|
||||
"supportsIterations": true,
|
||||
"artifactId": "vstfs:///Git/PullRequestId/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2%2f98f0ce59-a912-43d5-96d2-bc0942a03f7b%2f2"
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-24T08:46:00.8535001Z"
|
||||
}
|
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"subscriptionId": "d21a27a6-3b89-45fb-9af9-0fe220348c1d",
|
||||
"notificationId": 1,
|
||||
"id": "6544f94b-ce5d-4bc1-b4be-30559b589d15",
|
||||
"eventType": "git.pullrequest.updated",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Yuro Itaki updated the source branch of pull request 2 (Raised 2nd PR!) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/",
|
||||
"html": "Yuro Itaki updated the source branch of <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2\">pull request 2</a> (Raised 2nd PR!) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>",
|
||||
"markdown": "Yuro Itaki updated the source branch of [pull request 2](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2) (Raised 2nd PR!) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Yuro Itaki updated the source branch of pull request 2 (Raised 2nd PR!) in test-zulip\r\nhttps://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\r\nRaised 2nd PR!\r\n",
|
||||
"html": "Yuro Itaki updated the source branch of <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2\">pull request 2</a> (Raised 2nd PR!) in <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a><p>Raised 2nd PR!</p>",
|
||||
"markdown": "Yuro Itaki updated the source branch of [pull request 2](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2) (Raised 2nd PR!) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)\r\nRaised 2nd PR!\r\n"
|
||||
},
|
||||
"resource": {
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"revision": 11,
|
||||
"visibility": "private",
|
||||
"lastUpdateTime": "2022-07-17T05:01:05.987Z"
|
||||
},
|
||||
"size": 7840,
|
||||
"remoteUrl": "https://ttchong@dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"sshUrl": "git@ssh.dev.azure.com:v3/ttchong/test-zulip/test-zulip",
|
||||
"webUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip",
|
||||
"isDisabled": false
|
||||
},
|
||||
"pullRequestId": 2,
|
||||
"codeReviewId": 2,
|
||||
"status": "active",
|
||||
"createdBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"creationDate": "2022-07-24T08:45:53.9577409Z",
|
||||
"title": "Raised 2nd PR!",
|
||||
"description": "Raised 2nd PR!",
|
||||
"sourceRefName": "refs/heads/stg",
|
||||
"targetRefName": "refs/heads/main",
|
||||
"mergeStatus": "succeeded",
|
||||
"isDraft": false,
|
||||
"mergeId": "675bced4-738a-4f9e-b255-a30dce8b91df",
|
||||
"lastMergeSourceCommit": {
|
||||
"commitId": "aefa35fb7c4505b9b8337aff3c4be96eddbbd861",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/aefa35fb7c4505b9b8337aff3c4be96eddbbd861"
|
||||
},
|
||||
"lastMergeTargetCommit": {
|
||||
"commitId": "b2606c193460441311f4d31f4729589c77f5efe0",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b2606c193460441311f4d31f4729589c77f5efe0"
|
||||
},
|
||||
"lastMergeCommit": {
|
||||
"commitId": "f0fb095f4e89065e2edccaedae4535979e212b78",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-30T08:42:00Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-30T08:42:00Z"
|
||||
},
|
||||
"comment": "Merge pull request 2 from stg into main",
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/f0fb095f4e89065e2edccaedae4535979e212b78"
|
||||
},
|
||||
"reviewers": [
|
||||
{
|
||||
"reviewerUrl": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/2/reviewers/ed580ebe-b4a9-485d-bfed-c58ba519d7b6",
|
||||
"vote": 0,
|
||||
"hasDeclined": false,
|
||||
"isFlagged": false,
|
||||
"displayName": "Project Collection Build Service (Pad9e1dcf-6055-4fc7-a146-5511ab5ab1e8)",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/ed580ebe-b4a9-485d-bfed-c58ba519d7b6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/svc.YTU2Y2JhNGEtZGM4MC00ZGQyLTkxZmEtNmZlNzA0N2ZlYTdjOkJ1aWxkOmFkOWUxZGNmLTYwNTUtNGZjNy1hMTQ2LTU1MTFhYjVhYjFlOA"
|
||||
}
|
||||
},
|
||||
"id": "ed580ebe-b4a9-485d-bfed-c58ba519d7b6",
|
||||
"uniqueName": "Build\\ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=ed580ebe-b4a9-485d-bfed-c58ba519d7b6"
|
||||
}
|
||||
],
|
||||
"url": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/2",
|
||||
"_links": {
|
||||
"web": {
|
||||
"href": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2"
|
||||
},
|
||||
"statuses": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pullRequests/2/statuses"
|
||||
}
|
||||
},
|
||||
"completionOptions": {
|
||||
"mergeCommitMessage": "Merged PR 2: Raised 2nd PR!\n\nRaised 2nd PR!",
|
||||
"mergeStrategy": "noFastForward",
|
||||
"transitionWorkItems": true,
|
||||
"autoCompleteIgnoreConfigIds": []
|
||||
},
|
||||
"supportsIterations": true,
|
||||
"artifactId": "vstfs:///Git/PullRequestId/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2%2f98f0ce59-a912-43d5-96d2-bc0942a03f7b%2f2"
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-30T08:42:07.2382228Z"
|
||||
}
|
107
zerver/webhooks/azuredevops/fixtures/code_push.json
Normal file
107
zerver/webhooks/azuredevops/fixtures/code_push.json
Normal file
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"subscriptionId": "bb3738ff-00ae-472e-b752-d192c676780c",
|
||||
"notificationId": 2,
|
||||
"id": "9c335e3e-e047-405c-a420-d679bd54a299",
|
||||
"eventType": "git.push",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Yuro Itaki pushed updates to test-zulip:main\r\n(https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)",
|
||||
"html": "Yuro Itaki pushed updates to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain\">main</a>",
|
||||
"markdown": "Yuro Itaki pushed updates to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[main](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Yuro Itaki pushed a commit to test-zulip:main\r\n - Modify readme b0ce2f20 (https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369)",
|
||||
"html": "Yuro Itaki pushed a commit to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain\">main</a>\r\n<ul>\r\n<li>Modify readme <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369\">b0ce2f20</a></li>\r\n</ul>",
|
||||
"markdown": "Yuro Itaki pushed a commit to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[main](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)\r\n* Modify readme [b0ce2f20](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369)"
|
||||
},
|
||||
"resource": {
|
||||
"commits": [
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
}
|
||||
],
|
||||
"refUpdates": [
|
||||
{
|
||||
"name": "refs/heads/main",
|
||||
"oldObjectId": "51515957669f93c543df09f8f3e7f47c3613c879",
|
||||
"newObjectId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"visibility": "unchanged",
|
||||
"lastUpdateTime": "0001-01-01T00:00:00"
|
||||
},
|
||||
"defaultBranch": "refs/heads/main",
|
||||
"remoteUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip"
|
||||
},
|
||||
"pushedBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"pushId": 2,
|
||||
"date": "2022-07-17T07:14:05.9409049Z",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/2",
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/2"
|
||||
},
|
||||
"repository": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/2/commits"
|
||||
},
|
||||
"pusher": {
|
||||
"href": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6"
|
||||
},
|
||||
"refs": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/refs/heads/main"
|
||||
}
|
||||
}
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-17T07:14:12.5477052Z"
|
||||
}
|
@@ -0,0 +1,842 @@
|
||||
{
|
||||
"subscriptionId": "bb3738ff-00ae-472e-b752-d192c676780c",
|
||||
"notificationId": 2,
|
||||
"id": "9c335e3e-e047-405c-a420-d679bd54a299",
|
||||
"eventType": "git.push",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Yuro Itaki pushed updates to test-zulip:main\r\n(https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)",
|
||||
"html": "Yuro Itaki pushed updates to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain\">main</a>",
|
||||
"markdown": "Yuro Itaki pushed updates to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[main](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Yuro Itaki pushed 50 commits to test-zulip:main\r\n - Modify readme b0ce2f20 (https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369)",
|
||||
"html": "Yuro Itaki pushed 50 commits to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain\">main</a>\r\n<ul>\r\n<li>Modify readme <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369\">b0ce2f20</a></li>\r\n</ul>",
|
||||
"markdown": "Yuro Itaki pushed 50 commits to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[main](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)\r\n* Modify readme [b0ce2f20](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369)"
|
||||
},
|
||||
"resource": {
|
||||
"commits": [
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
},
|
||||
{
|
||||
"commitId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T07:14:01Z"
|
||||
},
|
||||
"comment": "Modify readme",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
}
|
||||
],
|
||||
"refUpdates": [
|
||||
{
|
||||
"name": "refs/heads/main",
|
||||
"oldObjectId": "51515957669f93c543df09f8f3e7f47c3613c879",
|
||||
"newObjectId": "b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"visibility": "unchanged",
|
||||
"lastUpdateTime": "0001-01-01T00:00:00"
|
||||
},
|
||||
"defaultBranch": "refs/heads/main",
|
||||
"remoteUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip"
|
||||
},
|
||||
"pushedBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"pushId": 2,
|
||||
"date": "2022-07-17T07:14:05.9409049Z",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/2",
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/2"
|
||||
},
|
||||
"repository": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/2/commits"
|
||||
},
|
||||
"pusher": {
|
||||
"href": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6"
|
||||
},
|
||||
"refs": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/refs/heads/main"
|
||||
}
|
||||
}
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-17T07:14:12.5477052Z"
|
||||
}
|
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"subscriptionId": "eead0877-fb06-46e2-9ec1-5f852a6d0297",
|
||||
"notificationId": 3,
|
||||
"id": "7687ae00-23fe-44e8-a66b-bb61d279e2e1",
|
||||
"eventType": "git.push",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Yuro Itaki pushed updates to test-zulip:dev\r\n(https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBdev)",
|
||||
"html": "Yuro Itaki pushed updates to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBdev\">dev</a>",
|
||||
"markdown": "Yuro Itaki pushed updates to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[dev](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBdev)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Yuro Itaki pushed a commit to test-zulip:dev\r\n - Add reply 0929a340 (https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5)",
|
||||
"html": "Yuro Itaki pushed a commit to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBdev\">dev</a>\r\n<ul>\r\n<li>Add reply <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5\">0929a340</a></li>\r\n</ul>",
|
||||
"markdown": "Yuro Itaki pushed a commit to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[dev](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBdev)\r\n* Add reply [0929a340](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5)"
|
||||
},
|
||||
"resource": {
|
||||
"refUpdates": [
|
||||
{
|
||||
"name": "refs/heads/dev",
|
||||
"oldObjectId": "0000000000000000000000000000000000000000",
|
||||
"newObjectId": "0929a3404b39f6e39076a640779b2c1c961e19b5"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"visibility": "unchanged",
|
||||
"lastUpdateTime": "0001-01-01T00:00:00"
|
||||
},
|
||||
"defaultBranch": "refs/heads/main",
|
||||
"remoteUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip"
|
||||
},
|
||||
"pushedBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"pushId": 5,
|
||||
"date": "2022-07-17T10:18:15.3667447Z",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/5",
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/5"
|
||||
},
|
||||
"repository": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/5/commits"
|
||||
},
|
||||
"pusher": {
|
||||
"href": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6"
|
||||
},
|
||||
"refs": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/refs/heads/dev"
|
||||
}
|
||||
}
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-17T10:18:22.69149Z"
|
||||
}
|
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"subscriptionId": "eead0877-fb06-46e2-9ec1-5f852a6d0297",
|
||||
"notificationId": 2,
|
||||
"id": "7afcf4e6-f3d0-47f0-ba5f-395f0776496b",
|
||||
"eventType": "git.push",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Yuro Itaki pushed updates to test-zulip:main\r\n(https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)",
|
||||
"html": "Yuro Itaki pushed updates to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain\">main</a>",
|
||||
"markdown": "Yuro Itaki pushed updates to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[main](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Yuro Itaki pushed 2 commits to test-zulip:main\r\n - Add reply 0929a340 (https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5)\r\n - Add how are you 819ce8de (https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/819ce8de51bedfc250c202edcaee0ce8dc70bf3b)",
|
||||
"html": "Yuro Itaki pushed 2 commits to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain\">main</a>\r\n<ul>\r\n<li>Add reply <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5\">0929a340</a></li>\r\n<li>Add how are you <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/819ce8de51bedfc250c202edcaee0ce8dc70bf3b\">819ce8de</a></li>\r\n</ul>",
|
||||
"markdown": "Yuro Itaki pushed 2 commits to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[main](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)\r\n* Add reply [0929a340](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5)\r\n* Add how are you [819ce8de](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/819ce8de51bedfc250c202edcaee0ce8dc70bf3b)"
|
||||
},
|
||||
"resource": {
|
||||
"commits": [
|
||||
{
|
||||
"commitId": "0929a3404b39f6e39076a640779b2c1c961e19b5",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T09:13:02Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T09:13:02Z"
|
||||
},
|
||||
"comment": "Add reply",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/0929a3404b39f6e39076a640779b2c1c961e19b5"
|
||||
},
|
||||
{
|
||||
"commitId": "819ce8de51bedfc250c202edcaee0ce8dc70bf3b",
|
||||
"author": {
|
||||
"name": "Itachi Sensei",
|
||||
"email": "itachisensei@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Itachi Sensei",
|
||||
"email": "itachisensei@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"comment": "Add how are you",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/819ce8de51bedfc250c202edcaee0ce8dc70bf3b"
|
||||
}
|
||||
],
|
||||
"refUpdates": [
|
||||
{
|
||||
"name": "refs/heads/main",
|
||||
"oldObjectId": "cc21b940719cc372b364d932eb39e528b0ec2a91",
|
||||
"newObjectId": "0929a3404b39f6e39076a640779b2c1c961e19b5"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"visibility": "unchanged",
|
||||
"lastUpdateTime": "0001-01-01T00:00:00"
|
||||
},
|
||||
"defaultBranch": "refs/heads/main",
|
||||
"remoteUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip"
|
||||
},
|
||||
"pushedBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"pushId": 4,
|
||||
"date": "2022-07-17T09:13:10.0775053Z",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/4",
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/4"
|
||||
},
|
||||
"repository": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/4/commits"
|
||||
},
|
||||
"pusher": {
|
||||
"href": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6"
|
||||
},
|
||||
"refs": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/refs/heads/main"
|
||||
}
|
||||
}
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-17T09:13:17.0920723Z"
|
||||
}
|
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"subscriptionId": "eead0877-fb06-46e2-9ec1-5f852a6d0297",
|
||||
"notificationId": 2,
|
||||
"id": "7afcf4e6-f3d0-47f0-ba5f-395f0776496b",
|
||||
"eventType": "git.push",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Yuro Itaki pushed updates to test-zulip:main\r\n(https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)",
|
||||
"html": "Yuro Itaki pushed updates to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain\">main</a>",
|
||||
"markdown": "Yuro Itaki pushed updates to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[main](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Yuro Itaki pushed 6 commits to test-zulip:main\r\n - Add reply 0929a340 (https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5)\r\n - Add how are you 819ce8de (https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/819ce8de51bedfc250c202edcaee0ce8dc70bf3b)",
|
||||
"html": "Yuro Itaki pushed 6 commits to <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain\">main</a>\r\n<ul>\r\n<li>Add reply <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5\">0929a340</a></li>\r\n<li>Add how are you <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/819ce8de51bedfc250c202edcaee0ce8dc70bf3b\">819ce8de</a></li>\r\n</ul>",
|
||||
"markdown": "Yuro Itaki pushed 6 commits to [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[main](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBmain)\r\n* Add reply [0929a340](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5)\r\n* Add how are you [819ce8de](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/819ce8de51bedfc250c202edcaee0ce8dc70bf3b)"
|
||||
},
|
||||
"resource": {
|
||||
"commits": [
|
||||
{
|
||||
"commitId": "0929a3404b39f6e39076a640779b2c1c961e19b5",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T09:13:02Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T09:13:02Z"
|
||||
},
|
||||
"comment": "Add reply",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/0929a3404b39f6e39076a640779b2c1c961e19b5"
|
||||
},
|
||||
{
|
||||
"commitId": "819ce8de51bedfc250c202edcaee0ce8dc70bf3b",
|
||||
"author": {
|
||||
"name": "Itachi Sensei",
|
||||
"email": "itachisensei@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Itachi Sensei",
|
||||
"email": "itachisensei@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"comment": "Add how are you",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/819ce8de51bedfc250c202edcaee0ce8dc70bf3b"
|
||||
},
|
||||
{
|
||||
"commitId": "819ce8de51bedfc250c202edcaee0ce8dc70bf3b",
|
||||
"author": {
|
||||
"name": "Itachi Sensei",
|
||||
"email": "itachisensei@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Itachi Sensei",
|
||||
"email": "itachisensei@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"comment": "Add how are you",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/819ce8de51bedfc250c202edcaee0ce8dc70bf3b"
|
||||
},
|
||||
{
|
||||
"commitId": "819ce8de51bedfc250c202edcaee0ce8dc70bf3b",
|
||||
"author": {
|
||||
"name": "Lelouch Strange",
|
||||
"email": "lelouchstrange@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Lelouch Strange",
|
||||
"email": "lelouchstrange@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"comment": "Add how are you",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/819ce8de51bedfc250c202edcaee0ce8dc70bf3b"
|
||||
},
|
||||
{
|
||||
"commitId": "819ce8de51bedfc250c202edcaee0ce8dc70bf3b",
|
||||
"author": {
|
||||
"name": "Jonas Nielsen",
|
||||
"email": "jonasnielsen@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Jonas Nielsen",
|
||||
"email": "jonasnielsen@email.com",
|
||||
"date": "2022-07-17T09:12:35Z"
|
||||
},
|
||||
"comment": "Add how are you",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/819ce8de51bedfc250c202edcaee0ce8dc70bf3b"
|
||||
},
|
||||
{
|
||||
"commitId": "0929a3404b39f6e39076a640779b2c1c961e19b5",
|
||||
"author": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T09:13:02Z"
|
||||
},
|
||||
"committer": {
|
||||
"name": "Yuro Itaki",
|
||||
"email": "yuroitaki@email.com",
|
||||
"date": "2022-07-17T09:13:02Z"
|
||||
},
|
||||
"comment": "Add reply",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/commits/0929a3404b39f6e39076a640779b2c1c961e19b5"
|
||||
}
|
||||
],
|
||||
"refUpdates": [
|
||||
{
|
||||
"name": "refs/heads/main",
|
||||
"oldObjectId": "cc21b940719cc372b364d932eb39e528b0ec2a91",
|
||||
"newObjectId": "0929a3404b39f6e39076a640779b2c1c961e19b5"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"visibility": "unchanged",
|
||||
"lastUpdateTime": "0001-01-01T00:00:00"
|
||||
},
|
||||
"defaultBranch": "refs/heads/main",
|
||||
"remoteUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip"
|
||||
},
|
||||
"pushedBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"pushId": 4,
|
||||
"date": "2022-07-17T09:13:10.0775053Z",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/4",
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/4"
|
||||
},
|
||||
"repository": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/4/commits"
|
||||
},
|
||||
"pusher": {
|
||||
"href": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6"
|
||||
},
|
||||
"refs": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/refs/heads/main"
|
||||
}
|
||||
}
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-17T09:13:17.0920723Z"
|
||||
}
|
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"subscriptionId": "eead0877-fb06-46e2-9ec1-5f852a6d0297",
|
||||
"notificationId": 4,
|
||||
"id": "91264257-1f51-46d3-bba3-5448d40a724a",
|
||||
"eventType": "git.push",
|
||||
"publisherId": "tfs",
|
||||
"message": {
|
||||
"text": "Yuro Itaki deleted test-zulip:dev\r\n(https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBdev)",
|
||||
"html": "Yuro Itaki deleted <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:dev",
|
||||
"markdown": "Yuro Itaki deleted [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):dev"
|
||||
},
|
||||
"detailedMessage": {
|
||||
"text": "Yuro Itaki deleted test-zulip:dev",
|
||||
"html": "Yuro Itaki deleted <a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/\">test-zulip</a>:<a href=\"https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBdev\">dev</a>",
|
||||
"markdown": "Yuro Itaki deleted [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/):[dev](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/#version=GBdev)"
|
||||
},
|
||||
"resource": {
|
||||
"refUpdates": [
|
||||
{
|
||||
"name": "refs/heads/dev",
|
||||
"oldObjectId": "0929a3404b39f6e39076a640779b2c1c961e19b5",
|
||||
"newObjectId": "0000000000000000000000000000000000000000"
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"id": "98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b",
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"name": "test-zulip",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/projects/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"state": "wellFormed",
|
||||
"visibility": "unchanged",
|
||||
"lastUpdateTime": "0001-01-01T00:00:00"
|
||||
},
|
||||
"defaultBranch": "refs/heads/main",
|
||||
"remoteUrl": "https://dev.azure.com/ttchong/test-zulip/_git/test-zulip"
|
||||
},
|
||||
"pushedBy": {
|
||||
"displayName": "Yuro Itaki",
|
||||
"url": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"_links": {
|
||||
"avatar": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/GraphProfile/MemberAvatars/msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
}
|
||||
},
|
||||
"id": "107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"uniqueName": "yuroitaki@email.com",
|
||||
"imageUrl": "https://dev.azure.com/ttchong/_api/_common/identityImage?id=107e08c7-2725-675e-a1b0-281729035ea6",
|
||||
"descriptor": "msa.MTA3ZTA4YzctMjcyNS03NzVlLWExYjAtMjgxNzI5MDM1ZWE2"
|
||||
},
|
||||
"pushId": 6,
|
||||
"date": "2022-07-17T11:08:58.0728467Z",
|
||||
"url": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/6",
|
||||
"_links": {
|
||||
"self": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/6"
|
||||
},
|
||||
"repository": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b"
|
||||
},
|
||||
"commits": {
|
||||
"href": "https://dev.azure.com/ttchong/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/pushes/6/commits"
|
||||
},
|
||||
"pusher": {
|
||||
"href": "https://spsprodsea2.vssps.visualstudio.com/Aa56cba4a-dc80-4dd2-91fa-6fe7047fea7c/_apis/Identities/107e08c7-2725-675e-a1b0-281729035ea6"
|
||||
},
|
||||
"refs": {
|
||||
"href": "https://dev.azure.com/ttchong/068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2/_apis/git/repositories/98f0ce59-a912-43d5-96d2-bc0942a03f7b/refs/heads/dev"
|
||||
}
|
||||
}
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"resourceContainers": {
|
||||
"collection": {
|
||||
"id": "ad9e1dcf-6055-4fc7-a146-5511ab5ab1e8",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"account": {
|
||||
"id": "a56cba4a-dc80-4dd2-91fa-6fe7047fea7c",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
},
|
||||
"project": {
|
||||
"id": "068d2409-14eb-4d8a-88bf-c8a9e7f5b4e2",
|
||||
"baseUrl": "https://dev.azure.com/ttchong/"
|
||||
}
|
||||
},
|
||||
"createdDate": "2022-07-17T11:09:05.1538362Z"
|
||||
}
|
94
zerver/webhooks/azuredevops/tests.py
Normal file
94
zerver/webhooks/azuredevops/tests.py
Normal file
@@ -0,0 +1,94 @@
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from zerver.lib.test_classes import WebhookTestCase
|
||||
from zerver.lib.webhooks.git import COMMITS_LIMIT
|
||||
|
||||
|
||||
class AzuredevopsHookTests(WebhookTestCase):
|
||||
STREAM_NAME = "azure-devops"
|
||||
URL_TEMPLATE = "/api/v1/external/azuredevops?&api_key={api_key}&stream={stream}"
|
||||
WEBHOOK_DIR_NAME = "azuredevops"
|
||||
|
||||
def test_push_event_message(self) -> None:
|
||||
expected_topic = "test-zulip / main"
|
||||
expected_message = "Yuro Itaki [pushed](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/branchCompare?baseVersion=GC51515957669f93c543df09f8f3e7f47c3613c879&targetVersion=GCb0ce2f2009c3c87dbefadf61d7eb2c0697a6f369&_a=files) 1 commit to branch main.\n\n* Modify readme ([b0ce2f2](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369))"
|
||||
self.check_webhook("code_push", expected_topic, expected_message)
|
||||
|
||||
def test_push_event_message_filtered_by_branches(self) -> None:
|
||||
self.url = self.build_webhook_url(branches="main,dev")
|
||||
expected_topic = "test-zulip / main"
|
||||
expected_message = "Yuro Itaki [pushed](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/branchCompare?baseVersion=GC51515957669f93c543df09f8f3e7f47c3613c879&targetVersion=GCb0ce2f2009c3c87dbefadf61d7eb2c0697a6f369&_a=files) 1 commit to branch main.\n\n* Modify readme ([b0ce2f2](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369))"
|
||||
self.check_webhook("code_push", expected_topic, expected_message)
|
||||
|
||||
@patch("zerver.lib.webhooks.common.check_send_webhook_message")
|
||||
def test_push_event_message_filtered_by_branches_ignore(
|
||||
self, check_send_webhook_message_mock: MagicMock
|
||||
) -> None:
|
||||
self.url = self.build_webhook_url(branches="development")
|
||||
payload = self.get_body("code_push")
|
||||
result = self.client_post(self.url, payload, content_type="application/json")
|
||||
self.assertFalse(check_send_webhook_message_mock.called)
|
||||
self.assert_json_success(result)
|
||||
|
||||
def test_push_local_branch_without_commits(self) -> None:
|
||||
expected_topic = "test-zulip / dev"
|
||||
expected_message = "Yuro Itaki [pushed](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/branchCompare?baseVersion=GC0000000000000000000000000000000000000000&targetVersion=GC0929a3404b39f6e39076a640779b2c1c961e19b5&_a=files) the branch dev."
|
||||
self.check_webhook(
|
||||
"code_push__local_branch_without_commits", expected_topic, expected_message
|
||||
)
|
||||
|
||||
def test_push_multiple_committers(self) -> None:
|
||||
expected_topic = "test-zulip / main"
|
||||
expected_message = "Yuro Itaki [pushed](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/branchCompare?baseVersion=GCcc21b940719cc372b364d932eb39e528b0ec2a91&targetVersion=GC0929a3404b39f6e39076a640779b2c1c961e19b5&_a=files) 2 commits to branch main. Commits by Itachi Sensei (1) and Yuro Itaki (1).\n\n* Add reply ([0929a34](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5))\n* Add how are you ([819ce8d](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/819ce8de51bedfc250c202edcaee0ce8dc70bf3b))"
|
||||
self.check_webhook("code_push__multiple_committers", expected_topic, expected_message)
|
||||
|
||||
def test_push_multiple_committers_with_others(self) -> None:
|
||||
expected_topic = "test-zulip / main"
|
||||
commits_info = "* Add how are you ([819ce8d](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/819ce8de51bedfc250c202edcaee0ce8dc70bf3b))\n"
|
||||
expected_message = f"Yuro Itaki [pushed](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/branchCompare?baseVersion=GCcc21b940719cc372b364d932eb39e528b0ec2a91&targetVersion=GC0929a3404b39f6e39076a640779b2c1c961e19b5&_a=files) 6 commits to branch main. Commits by Itachi Sensei (2), Yuro Itaki (2), Jonas Nielsen (1) and others (1).\n\n* Add reply ([0929a34](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5))\n{commits_info * 4}* Add reply ([0929a34](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/0929a3404b39f6e39076a640779b2c1c961e19b5))"
|
||||
self.check_webhook(
|
||||
"code_push__multiple_committers_with_others", expected_topic, expected_message
|
||||
)
|
||||
|
||||
def test_push_commits_more_than_limit(self) -> None:
|
||||
expected_topic = "test-zulip / main"
|
||||
commits_info = "* Modify readme ([b0ce2f2](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/commit/b0ce2f2009c3c87dbefadf61d7eb2c0697a6f369))\n"
|
||||
expected_message = f"Yuro Itaki [pushed](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/branchCompare?baseVersion=GC51515957669f93c543df09f8f3e7f47c3613c879&targetVersion=GCb0ce2f2009c3c87dbefadf61d7eb2c0697a6f369&_a=files) 50 commits to branch main.\n\n{commits_info * COMMITS_LIMIT}[and {50 - COMMITS_LIMIT} more commit(s)]"
|
||||
self.check_webhook("code_push__commits_more_than_limit", expected_topic, expected_message)
|
||||
|
||||
def test_push_remove_branch(self) -> None:
|
||||
expected_topic = "test-zulip / dev"
|
||||
expected_message = "Yuro Itaki [pushed](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/branchCompare?baseVersion=GC0929a3404b39f6e39076a640779b2c1c961e19b5&targetVersion=GC0000000000000000000000000000000000000000&_a=files) the branch dev."
|
||||
self.check_webhook("code_push__remove_branch", expected_topic, expected_message)
|
||||
|
||||
def test_pull_request_opened(self) -> None:
|
||||
expected_topic = "test-zulip / PR #1 Add PR request"
|
||||
expected_message = "Yuro Itaki created [PR #1 Add PR request](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1) from `dev` to `main`:\n\n~~~ quote\nAdd PR request\n~~~"
|
||||
self.check_webhook("code_pull_request__opened", expected_topic, expected_message)
|
||||
|
||||
def test_pull_request_opened_without_description(self) -> None:
|
||||
expected_topic = "test-zulip / PR #2 Raised 2nd PR!"
|
||||
expected_message = "Yuro Itaki created [PR #2 Raised 2nd PR!](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2) from `stg` to `main`."
|
||||
self.check_webhook(
|
||||
"code_pull_request__opened_without_description", expected_topic, expected_message
|
||||
)
|
||||
|
||||
def test_pull_request_merged(self) -> None:
|
||||
expected_topic = "test-zulip / PR #1 Add PR request"
|
||||
expected_message = "Yuro Itaki merged [PR #1 Add PR request](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/1)."
|
||||
self.check_webhook("code_pull_request__merged", expected_topic, expected_message)
|
||||
|
||||
@patch("zerver.lib.webhooks.common.check_send_webhook_message")
|
||||
def test_pull_request_merge_attempted_ignore(
|
||||
self, check_send_webhook_message_mock: MagicMock
|
||||
) -> None:
|
||||
self.url = self.build_webhook_url()
|
||||
payload = self.get_body("code_pull_request__merge_attempted")
|
||||
result = self.client_post(self.url, payload, content_type="application/json")
|
||||
self.assertFalse(check_send_webhook_message_mock.called)
|
||||
self.assert_json_success(result)
|
||||
|
||||
def test_pull_request_updated(self) -> None:
|
||||
expected_topic = "test-zulip / PR #2 Raised 2nd PR!"
|
||||
expected_message = "Yuro Itaki updated [PR #2 Raised 2nd PR!](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2)\n\n~~~ quote\nYuro Itaki updated the source branch of [pull request 2](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/pullrequest/2) (Raised 2nd PR!) in [test-zulip](https://dev.azure.com/ttchong/test-zulip/_git/test-zulip/)\r\nRaised 2nd PR!\r\n\n~~~"
|
||||
self.check_webhook("code_pull_request__updated", expected_topic, expected_message)
|
182
zerver/webhooks/azuredevops/view.py
Normal file
182
zerver/webhooks/azuredevops/view.py
Normal file
@@ -0,0 +1,182 @@
|
||||
from typing import Callable, Dict, Optional
|
||||
|
||||
from django.http import HttpRequest, HttpResponse
|
||||
|
||||
from zerver.decorator import webhook_view
|
||||
from zerver.lib.exceptions import UnsupportedWebhookEventType
|
||||
from zerver.lib.request import REQ, has_request_variables
|
||||
from zerver.lib.response import json_success
|
||||
from zerver.lib.validator import WildValue, check_int, check_string, to_wild_value
|
||||
from zerver.lib.webhooks.common import check_send_webhook_message
|
||||
from zerver.lib.webhooks.git import (
|
||||
TOPIC_WITH_BRANCH_TEMPLATE,
|
||||
TOPIC_WITH_PR_OR_ISSUE_INFO_TEMPLATE,
|
||||
get_pull_request_event_message,
|
||||
get_push_commits_event_message,
|
||||
)
|
||||
from zerver.models import UserProfile
|
||||
|
||||
|
||||
def get_code_pull_request_updated_body(payload: WildValue) -> str:
|
||||
return get_pull_request_event_message(
|
||||
get_code_pull_request_user_name(payload),
|
||||
"updated",
|
||||
get_code_pull_request_url(payload),
|
||||
get_code_pull_request_id(payload),
|
||||
message=payload["detailedMessage"]["markdown"].tame(check_string),
|
||||
title=get_code_pull_request_title(payload),
|
||||
)
|
||||
|
||||
|
||||
def get_code_pull_request_merged_body(payload: WildValue) -> str:
|
||||
return get_pull_request_event_message(
|
||||
get_code_pull_request_user_name(payload),
|
||||
"merged",
|
||||
get_code_pull_request_url(payload),
|
||||
get_code_pull_request_id(payload),
|
||||
title=get_code_pull_request_title(payload),
|
||||
)
|
||||
|
||||
|
||||
def get_code_pull_request_opened_body(payload: WildValue) -> str:
|
||||
if payload["resource"].get("description"):
|
||||
description = payload["resource"]["description"].tame(check_string)
|
||||
else:
|
||||
description = None
|
||||
return get_pull_request_event_message(
|
||||
get_code_pull_request_user_name(payload),
|
||||
"created",
|
||||
get_code_pull_request_url(payload),
|
||||
get_code_pull_request_id(payload),
|
||||
payload["resource"]["sourceRefName"].tame(check_string).replace("refs/heads/", ""),
|
||||
payload["resource"]["targetRefName"].tame(check_string).replace("refs/heads/", ""),
|
||||
description,
|
||||
title=get_code_pull_request_title(payload),
|
||||
)
|
||||
|
||||
|
||||
def get_code_push_commits_body(payload: WildValue) -> str:
|
||||
compare_url = "{}/branchCompare?baseVersion=GC{}&targetVersion=GC{}&_a=files".format(
|
||||
get_code_repository_url(payload),
|
||||
payload["resource"]["refUpdates"][0]["oldObjectId"].tame(check_string),
|
||||
payload["resource"]["refUpdates"][0]["newObjectId"].tame(check_string),
|
||||
)
|
||||
commits_data = []
|
||||
if payload["resource"].get("commits"):
|
||||
for commit in payload["resource"]["commits"]:
|
||||
commits_data.append(
|
||||
{
|
||||
"name": commit["author"]["name"].tame(check_string),
|
||||
"sha": commit["commitId"].tame(check_string),
|
||||
"url": "{}/commit/{}".format(
|
||||
get_code_repository_url(payload), commit["commitId"].tame(check_string)
|
||||
),
|
||||
"message": commit["comment"].tame(check_string),
|
||||
}
|
||||
)
|
||||
return get_push_commits_event_message(
|
||||
get_code_push_user_name(payload),
|
||||
compare_url,
|
||||
get_code_push_branch_name(payload),
|
||||
commits_data,
|
||||
)
|
||||
|
||||
|
||||
def get_code_push_user_name(payload: WildValue) -> str:
|
||||
return payload["resource"]["pushedBy"]["displayName"].tame(check_string)
|
||||
|
||||
|
||||
def get_code_push_branch_name(payload: WildValue) -> str:
|
||||
return (
|
||||
payload["resource"]["refUpdates"][0]["name"].tame(check_string).replace("refs/heads/", "")
|
||||
)
|
||||
|
||||
|
||||
def get_code_repository_name(payload: WildValue) -> str:
|
||||
return payload["resource"]["repository"]["name"].tame(check_string)
|
||||
|
||||
|
||||
def get_code_repository_url(payload: WildValue) -> str:
|
||||
return payload["resource"]["repository"]["remoteUrl"].tame(check_string)
|
||||
|
||||
|
||||
def get_code_pull_request_id(payload: WildValue) -> int:
|
||||
return payload["resource"]["pullRequestId"].tame(check_int)
|
||||
|
||||
|
||||
def get_code_pull_request_title(payload: WildValue) -> str:
|
||||
return payload["resource"]["title"].tame(check_string)
|
||||
|
||||
|
||||
def get_code_pull_request_url(payload: WildValue) -> str:
|
||||
return payload["resource"]["_links"]["web"]["href"].tame(check_string)
|
||||
|
||||
|
||||
def get_code_pull_request_user_name(payload: WildValue) -> str:
|
||||
return payload["resource"]["createdBy"]["displayName"].tame(check_string)
|
||||
|
||||
|
||||
def get_topic_based_on_event(payload: WildValue, event: str) -> str:
|
||||
if event == "git.push":
|
||||
return TOPIC_WITH_BRANCH_TEMPLATE.format(
|
||||
repo=get_code_repository_name(payload), branch=get_code_push_branch_name(payload)
|
||||
)
|
||||
elif "pullrequest" in event:
|
||||
return TOPIC_WITH_PR_OR_ISSUE_INFO_TEMPLATE.format(
|
||||
repo=get_code_repository_name(payload),
|
||||
type="PR",
|
||||
id=get_code_pull_request_id(payload),
|
||||
title=get_code_pull_request_title(payload),
|
||||
)
|
||||
return get_code_repository_name(payload) # nocoverage
|
||||
|
||||
|
||||
def get_event_name(payload: WildValue, branches: Optional[str]) -> Optional[str]:
|
||||
event_name = payload["eventType"].tame(check_string)
|
||||
if event_name == "git.push":
|
||||
if branches is not None:
|
||||
branch = get_code_push_branch_name(payload)
|
||||
if branches.find(branch) == -1:
|
||||
return None
|
||||
if event_name == "git.pullrequest.merged":
|
||||
status = payload["resource"]["status"].tame(check_string)
|
||||
merge_status = payload["resource"]["mergeStatus"].tame(check_string)
|
||||
# azure devops sends webhook messages when a merge is attempted, i.e. there is a merge conflict
|
||||
# after a PR is created, or when there is no conflict when PR is updated
|
||||
# we're only interested in the case when the PR is merged successfully
|
||||
if status != "completed" or merge_status != "succeeded":
|
||||
return None
|
||||
if event_name in EVENT_FUNCTION_MAPPER:
|
||||
return event_name
|
||||
raise UnsupportedWebhookEventType(event_name)
|
||||
|
||||
|
||||
EVENT_FUNCTION_MAPPER: Dict[str, Callable[[WildValue], str]] = {
|
||||
"git.push": get_code_push_commits_body,
|
||||
"git.pullrequest.created": get_code_pull_request_opened_body,
|
||||
"git.pullrequest.merged": get_code_pull_request_merged_body,
|
||||
"git.pullrequest.updated": get_code_pull_request_updated_body,
|
||||
}
|
||||
|
||||
ALL_EVENT_TYPES = list(EVENT_FUNCTION_MAPPER.keys())
|
||||
|
||||
|
||||
@webhook_view("AzureDevOps", all_event_types=ALL_EVENT_TYPES)
|
||||
@has_request_variables
|
||||
def api_azuredevops_webhook(
|
||||
request: HttpRequest,
|
||||
user_profile: UserProfile,
|
||||
payload: WildValue = REQ(argument_type="body", converter=to_wild_value),
|
||||
branches: Optional[str] = REQ(default=None),
|
||||
) -> HttpResponse:
|
||||
event = get_event_name(payload, branches)
|
||||
if event is None:
|
||||
return json_success(request)
|
||||
|
||||
topic = get_topic_based_on_event(payload, event)
|
||||
|
||||
body_function = EVENT_FUNCTION_MAPPER[event]
|
||||
body = body_function(payload)
|
||||
|
||||
check_send_webhook_message(request, user_profile, topic, body)
|
||||
return json_success(request)
|
Reference in New Issue
Block a user