Skip to content

gh api response should escape control characters in response ( especially diff_hunk) with respect to PR comments #10474

Closed

Description

@jsing120

Describe the feature or problem you’d like to solve

gh api response should escape control characters in response ( especially diff_hunk) with respect to PR comments

Proposed solution

Before sending the response, sanitize the output and escape / replace the new lines and other control characters so that json structure is preserved.

How will it benefit CLI and its users?

Save time and headache in manually cleaning up the JSON from output.

Additional context

Currently the GH API returns the PR comment in raw form which as lot of control characters and new lines under diff_hunk. If we are working with commands such as jq in shell , it will break with error jq: parse error: Invalid string: control characters from U+0000 through U+001F must be escaped at line 15, column 47

gh api repos/"$ORG_NAME"/"$REPO"/pulls/"$PR_NUMBER"/comments >

[{"url":"https://github.myorg.com/api/v3/repos/myorg/GH_TEST_PR_REPO/pulls/comments/3283369","pull_request_review_id":6185275,"id":3283369,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMyODMzNjk=","diff_hunk":"@@ -0,0 +1,17 @@
+package com.test;
+
+//TIP To <b>Run</b> code, press <shortcut actionId=\"Run\"/> or
+// click the <icon src=\"AllIcons.Actions.Execute\"/> icon in the gutter.
+public class Main {
+    public static void main(String[] args) {
+        //TIP Press <shortcut actionId=\"ShowIntentionActions\"/> with your caret at the highlighted text
+        // to see how IntelliJ IDEA suggests fixing it.
+        System.out.printf(\"Hello and welcome!\");
+
+        for (int i = 1; i <= 5; i++) {
+            //TIP Press <shortcut actionId=\"Debug\"/> to start debugging your code. We have set one <icon src=\"AllIcons.Debugger.Db_set_breakpoint\"/> breakpoint
+            // for you, but you can always add more by pressing <shortcut actionId=\"ToggleLineBreakpoint\"/>.
+            System.out.println(\"i = \" + i);","path":"test_PR/src/main/java/com/test/Main.java","commit_id":"20202e760284983da7f0034d7661c859d6c3b12b","original_commit_id":"20202e760284983da7f0034d7661c859d6c3b12b","user":{"login":"jsing120","id":2258,"node_id":"MDQ6VXNlcjIyNTg=","avatar_url":"https://github.myorg.com/avatars/u/2258?","gravatar_id":"","url":"https://github.myorg.com/api/v3/users/jsing120","html_url":"https://github.myorg.com/jsing120","followers_url":"https://github.myorg.com/api/v3/users/jsing120/followers","following_url":"https://github.myorg.com/api/v3/users/jsing120/following{/other_user}","gists_url":"https://github.myorg.com/api/v3/users/jsing120/gists{/gist_id}","starred_url":"https://github.myorg.com/api/v3/users/jsing120/starred{/owner}{/repo}","subscriptions_url":"https://github.myorg.com/api/v3/users/jsing120/subscriptions","organizations_url":"https://github.myorg.com/api/v3/users/jsing120/orgs","repos_url":"https://github.myorg.com/api/v3/users/jsing120/repos","events_url":"https://github.myorg.com/api/v3/users/jsing120/events{/privacy}","received_events_url":"https://github.myorg.com/api/v3/users/jsing120/received_events","type":"User","site_admin":false},"body":"souts not recommended","created_at":"2025-02-20T06:19:55Z","updated_at":"2025-02-20T06:19:55Z","html_url":"https://github.myorg.com/myorg/GH_TEST_PR_REPO/pull/2#discussion_r3283369","pull_request_url":"https://github.myorg.com/api/v3/repos/myorg/GH_TEST_PR_REPO/pulls/2","author_association":"MEMBER","_links":{"self":{"href":"https://github.myorg.com/api/v3/repos/myorg/GH_TEST_PR_REPO/pulls/comments/3283369"},"html":{"href":"https://github.myorg.com/myorg/GH_TEST_PR_REPO/pull/2#discussion_r3283369"},"pull_request":{"href":"https://github.myorg.com/api/v3/repos/myorg/GH_TEST_PR_REPO/pulls/2"}},"reactions":{"url":"https://github.myorg.com/api/v3/repos/myorg/GH_TEST_PR_REPO/pulls/comments/3283369/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"start_line":null,"original_start_line":null,"start_side":null,"line":14,"original_line":14,"side":"RIGHT","original_position":14,"position":14,"subject_type":"line"}]

Add any other context like screenshots or mockups are helpful, if applicable.

Activity

  1. andyfeller commented on Feb 20, 2025

    @andyfeller
    Contributor

    Thank you for opening up this issue, @jsing120! 🙇 I'd like to ask you a few questions to understand this concern better and how this is / isn't covered by the asciisanitizer package introduced originally in #7694

    Note

    As of v2.67.0, gh pr view --json comments does not contain diff_hunk which I assume why gh api is being used.

    Questions

    1. What version of gh are you using?

      For testing purposes, I'm using 2.67.0:

      $ gh version
      gh version 2.67.0 (2025-02-11)
      https://github.com/cli/cli/releases/tag/v2.67.0
    2. Is there a public GitHub repo we can replicate this concern?

      For example, update default upstream when forking repo during PR creation #10458 returns the following for diff_hunk when calling gh api /repos/cli/cli/pulls/10458/comments:

      "diff_hunk": "@@ -1002,6 +1003,15 @@ func handlePush(opts CreateOptions, ctx CreateContext) error {\n \n \t\tfmt.Fprintf(opts.IO.ErrOut, \"Added %s as remote %q\\n\", ghrepo.FullName(headRepo), remoteName)\n \n+\t\tif didForkRepo {\n+\t\t\tgitClient.SetRemoteResolution(context.Background(), \"upstream\", \"base\")\n+\t\t\tif opts.IO.IsStdinTTY() && opts.IO.IsStdoutTTY() {\n+\t\t\t\tcs := opts.IO.ColorScheme()\n+\t\t\t\tstderr := opts.IO.ErrOut\n+\t\t\t\tfmt.Fprintf(stderr, \"%s Repository %s set as the default repository. To learn more about the default repository, run: gh repo set-default --help\\n\", cs.WarningIcon(), cs.Bold(ghrepo.FullName(headRepo)))\n+\t\t\t}\n+\t\t}",
      Full JSON output

      [{"url":"https://api.github.com/repos/cli/cli/pulls/comments/1960558598","pull_request_review_id":2624978688,"id":1960558598,"node_id":"PRRC_kwDODKw3uc5028AG","diff_hunk":"@@ -1002,6 +1003,15 @@ func handlePush(opts CreateOptions, ctx CreateContext) error {\n \n \t\tfmt.Fprintf(opts.IO.ErrOut, \"Added %s as remote %q\\n\", ghrepo.FullName(headRepo), remoteName)\n \n+\t\tif didForkRepo {\n+\t\t\tgitClient.SetRemoteResolution(context.Background(), \"upstream\", \"base\")\n+\t\t\tif opts.IO.IsStdinTTY() && opts.IO.IsStdoutTTY() {\n+\t\t\t\tcs := opts.IO.ColorScheme()\n+\t\t\t\tstderr := opts.IO.ErrOut\n+\t\t\t\tfmt.Fprintf(stderr, \"%s Repository %s set as the default repository. To learn more about the default repository, run: gh repo set-default --help\\n\", cs.WarningIcon(), cs.Bold(ghrepo.FullName(headRepo)))\n+\t\t\t}\n+\t\t}","path":"pkg/cmd/pr/create/create.go","commit_id":"af99c9d49572f934af98cd3215e51107a1600174","original_commit_id":"6368d531371d3efe085392ff2951b77f99bbd10a","user":{"login":"andyfeller","id":2089743,"node_id":"MDQ6VXNlcjIwODk3NDM=","avatar_url":"https://avatars.githubusercontent.com/u/2089743?v=4","gravatar_id":"","url":"https://api.github.com/users/andyfeller","html_url":"https://github.com/andyfeller","followers_url":"https://api.github.com/users/andyfeller/followers","following_url":"https://api.github.com/users/andyfeller/following{/other_user}","gists_url":"https://api.github.com/users/andyfeller/gists{/gist_id}","starred_url":"https://api.github.com/users/andyfeller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andyfeller/subscriptions","organizations_url":"https://api.github.com/users/andyfeller/orgs","repos_url":"https://api.github.com/users/andyfeller/repos","events_url":"https://api.github.com/users/andyfeller/events{/privacy}","received_events_url":"https://api.github.com/users/andyfeller/received_events","type":"User","user_view_type":"public","site_admin":true},"body":"## Suggestions\r\n\r\nOut of all of following idle thoughts, I think only a handful are reasonable to knock out here now versus waiting for new issues being raised:\r\n\r\n1. Remove `stdin` requirement for messaging\r\n2. Use local variable versus hardcoding remote name\r\n3. Return the error raised by setting default remote\r\n\r\n## Notes\r\n\r\nSome of my idle thoughts reviewing this logic:\r\n\r\n1. Why does `stdin` being TTY affect whether we output this message?\r\n2. How does such conditional logic apply to the `Added ... as remote` message?\r\n3. When do we use a variable for the remote name versus hardcoding this everywhere?\r\n4. How does this differ from other places in code where we handle this?\r\n5. Does this logic need to ensure no other remote is marked as default before setting `upstream`?\r\n\r\n### TTY affecting messaging\r\n\r\nIt seems like `gh repo fork` care about `stdin`, `stdout`, `stderr`... \r\n\r\nhttps://github.com/cli/cli/blob/ae2f4b7c5b49dd1b5855a8c2d283e0b02fb636eb/pkg/cmd/repo/fork/fork.go#L187\r\n\r\nhttps://github.com/cli/cli/blob/ae2f4b7c5b49dd1b5855a8c2d283e0b02fb636eb/pkg/cmd/repo/fork/fork.go#L380-L383\r\n\r\nwhereas `gh repo clone` just cares about `stdout` being TTY:\r\n\r\nhttps://github.com/cli/cli/blob/ae2f4b7c5b49dd1b5855a8c2d283e0b02fb636eb/pkg/cmd/repo/clone/clone.go#L217-L221\r\n\r\nDefinitely want to revisit where different types or classes of messages are displayed so we had a little more consistency.  In the meantime, I assume `gh pr create` would follow the same behavior as `gh repo clone` without factoring in `stdin` if we even bother to check.\r\n\r\n\r\n### Setting and unsetting\r\n\r\nMy main concern with the changes as they stand is comparing this versus `gh repo set-default` which checks `func (r Remotes) ResolvedRemote() (*Remote, error)` to determine if it should unset a remote before setting a new one 🤔 \r\n\r\nhttps://github.com/cli/cli/blob/ae2f4b7c5b49dd1b5855a8c2d283e0b02fb636eb/pkg/cmd/repo/setdefault/setdefault.go#L228-L242\r\n\r\nIt feels there is an edge case that can emerge around `upstream` remote separately of the server-side repository forking the command does.  However, let's see about users reporting errors before dealing with that concern.\r\n\r\n### Other places where we set default repository\r\n\r\nJust because I know this messaging is in a few different places, I always look at how consistent our behavior is.\r\n\r\nhttps://github.com/cli/cli/blob/ae2f4b7c5b49dd1b5855a8c2d283e0b02fb636eb/pkg/cmd/repo/clone/clone.go#L209-L221\r\n\r\nhttps://github.com/cli/cli/blob/ae2f4b7c5b49dd1b5855a8c2d283e0b02fb636eb/pkg/cmd/repo/fork/fork.go#L372-L383\r\n","created_at":"2025-02-18T20:37:34Z","updated_at":"2025-02-18T21:13:04Z","html_url":"https://github.com/cli/cli/pull/10458#discussion_r1960558598","pull_request_url":"https://api.github.com/repos/cli/cli/pulls/10458","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/cli/cli/pulls/comments/1960558598"},"html":{"href":"https://github.com/cli/cli/pull/10458#discussion_r1960558598"},"pull_request":{"href":"https://api.github.com/repos/cli/cli/pulls/10458"}},"reactions":{"url":"https://api.github.com/repos/cli/cli/pulls/comments/1960558598/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"start_line":null,"original_start_line":1006,"start_side":"RIGHT","line":null,"original_line":1013,"side":"RIGHT","original_position":19,"position":null,"subject_type":"line"}]

    3. Could you share the output from running this specific command with GH_DEBUG=api env var set?

      I realize you might need to redact information from the output to share, but it would help to understand what is going on.

  2. jsing120 commented on Feb 20, 2025

    @jsing120
    Author

    Thankyou for considering this request, PFB the information requested.

    1) Version

    gh version 2.61.0 (2024-11-06)
    https://github.com/cli/cli/releases/tag/v2.61.0
    

    2)REPO and PR : https://github.com/jsing120/GH_TEST_PR_REPO https://github.com/jsing120/GH_TEST_PR_REPO/pull/1

    3) PFB the output of debug

    * Request at 2025-02-20 07:57:39.32614 -0700 MST m=+0.130685459
    * Request to https://github.myorg.com/api/graphql
    > POST /api/graphql HTTP/1.1
    > Host: github.myorg.com
    > Accept: application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview
    > Authorization: token ████████████████████
    > Content-Length: 861
    > Content-Type: application/json; charset=utf-8
    > Graphql-Features: merge_queue
    > Time-Zone: America/Denver
    > User-Agent: GitHub CLI 2.61.0
    
    GraphQL query:
    fragment pr on PullRequest{number}
    query PullRequestList(
    $owner: String!,
    $repo: String!,
    $limit: Int!,
    $endCursor: String,
    $baseBranch: String,
    $headBranch: String,
    $state: [PullRequestState!] = OPEN
    ) {
    repository(owner: $owner, name: $repo) {
    pullRequests(
    states: $state,
    baseRefName: $baseBranch,
    headRefName: $headBranch,
    first: $limit,
    after: $endCursor,
    orderBy: {field: CREATED_AT, direction: DESC}
    ) {
    totalCount
    nodes {
    ...pr
    }
    pageInfo {
    hasNextPage
    endCursor
    }
    }
    }
    }
    GraphQL variables: {"limit":30,"owner":"myorg","repo":"GH_TEST_PR_REPO","state":["OPEN","CLOSED","MERGED"]}
    
    < HTTP/1.1 200 OK
    < Access-Control-Allow-Origin: *
    < Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset
    < Content-Security-Policy: default-src 'none'
    < Content-Type: application/json; charset=utf-8
    < Date: Thu, 20 Feb 2025 14:57:39 GMT
    < Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
    < Server: GitHub.com
    < Strict-Transport-Security: max-age=31536000; includeSubdomains
    < X-Accepted-Oauth-Scopes: repo
    < X-Content-Type-Options: nosniff
    < X-Frame-Options: deny
    < X-Github-Enterprise-Version: 3.13.4
    < X-Github-Media-Type: github.merge-info-preview; param=nebula-preview; format=json
    < X-Github-Request-Id: a9643459-a41b-4003-a6e0-4c2786168380
    < X-Oauth-Client-Id: 178c6fc778ccc68e1d6a
    < X-Oauth-Scopes: admin:public_key, gist, read:org, repo
    < X-Ratelimit-Limit: 15000
    < X-Ratelimit-Remaining: 14999
    < X-Ratelimit-Reset: 1740067059
    < X-Ratelimit-Resource: graphql
    < X-Ratelimit-Used: 1
    < X-Xss-Protection: 0
    
    {
    "data": {
    "repository": {
    "pullRequests": {
    "totalCount": 1,
    "nodes": [
    {
    "number": 2
    }
    ],
    "pageInfo": {
    "hasNextPage": false,
    "endCursor": "Y3Vyc29yOnYyOpK5MjAyNS0wMi0xOVQyMzoxODo0NC0wNzowMM4ANPmH"
    }
    }
    }
    }
    }
    
    * Request took 599.383542ms
    Fetching PR: 2 from GH_TEST_PR_REPO
    * Request at 2025-02-20 07:57:40.00147 -0700 MST m=+0.056306460
    * Request to https://github.myorg.com/api/graphql
    > POST /api/graphql HTTP/1.1
    > Host: github.myorg.com
    > Accept: application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview
    > Authorization: token ████████████████████
    > Content-Length: 462
    > Content-Type: application/json; charset=utf-8
    > Graphql-Features: merge_queue
    > Time-Zone: America/Denver
    > User-Agent: GitHub CLI 2.61.0
    
    GraphQL query:
    query PullRequestByNumber($owner: String!, $repo: String!, $pr_number: Int!) {
    repository(owner: $owner, name: $repo) {
    pullRequest(number: $pr_number) {commits(first: 100) {nodes {commit {authors(first:100) {nodes {name,email,user{id,login}}},messageHeadline,messageBody,oid,committedDate,authoredDate}}},author{login,...on User{id,name}},id,number}
    }
    }
    GraphQL variables: {"owner":"myorg","pr_number":2,"repo":"GH_TEST_PR_REPO"}
    
    < HTTP/1.1 200 OK
    < Access-Control-Allow-Origin: *
    < Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset
    < Content-Security-Policy: default-src 'none'
    < Content-Type: application/json; charset=utf-8
    < Date: Thu, 20 Feb 2025 14:57:40 GMT
    < Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
    < Server: GitHub.com
    < Strict-Transport-Security: max-age=31536000; includeSubdomains
    < X-Accepted-Oauth-Scopes: repo
    < X-Content-Type-Options: nosniff
    < X-Frame-Options: deny
    < X-Github-Enterprise-Version: 3.13.4
    < X-Github-Media-Type: github.merge-info-preview; param=nebula-preview; format=json
    < X-Github-Request-Id: 34f7b60f-eb4a-4e43-a32d-f384a0fe4562
    < X-Oauth-Client-Id: 178c6fc778ccc68e1d6a
    < X-Oauth-Scopes: admin:public_key, gist, read:org, repo
    < X-Ratelimit-Limit: 15000
    < X-Ratelimit-Remaining: 14998
    < X-Ratelimit-Reset: 1740067059
    < X-Ratelimit-Resource: graphql
    < X-Ratelimit-Used: 2
    < X-Xss-Protection: 0
    
    {
    "data": {
    "repository": {
    "pullRequest": {
    "commits": {
    "nodes": [
    {
    "commit": {
    "authors": {
    "nodes": [
    {
    "name": "jsing120",
    "email": "[email protected]",
    "user": {
    "id": "MDQ6VXNlcjIyNTg=",
    "login": "jsing120"
    }
    }
    ]
    },
    "messageHeadline": "(test) :test",
    "messageBody": "",
    "oid": "409c9d60b17ce7baea90e1a07a1002cef4c155dc",
    "committedDate": "2025-02-20T06:17:41Z",
    "authoredDate": "2025-02-20T06:17:41Z"
    }
    },
    {
    "commit": {
    "authors": {
    "nodes": [
    {
    "name": "jsing120",
    "email": "[email protected]",
    "user": {
    "id": "MDQ6VXNlcjIyNTg=",
    "login": "jsing120"
    }
    }
    ]
    },
    "messageHeadline": "(test) :test",
    "messageBody": "",
    "oid": "20202e760284983da7f0034d7661c859d6c3b12b",
    "committedDate": "2025-02-20T06:19:21Z",
    "authoredDate": "2025-02-20T06:19:21Z"
    }
    }
    ]
    },
    "author": {
    "login": "jsing120",
    "id": "MDQ6VXNlcjIyNTg=",
    "name": "Jasmeet Singh"
    },
    "id": "MDExOlB1bGxSZXF1ZXN0MzQ3MTc1MQ==",
    "number": 2
    }
    }
    }
    }
    
    
    

    @andyfeller - let me know if the above details are sufficient?

  3. jsing120 commented on Feb 20, 2025

    @jsing120
    Author

    Weirdly the issue cannot be replicated on public github.com and only seems like happening with the enterprise github. So not sure it has to do something with our enterprise GITHUB version?

    To run the script this can be found here - https://github.com/jsing120/GH_TEST_PR_REPO/blob/feature/testCLI_API/PR_TEST/scripts/GH_PR_EXTRACTOR_CLI.sh

    jsing120@C2VT6QL64P scripts % gh version
    gh version 2.61.0 (2024-11-06)
    https://github.com/cli/cli/releases/tag/v2.61.0
    jsing120@C2VT6QL64P scripts % export GH_DEBUG=api
    jsing120@C2VT6QL64P scripts % /bin/bash /Users/jsing120/work/workspace/GH_TEST_PR_REPO_PUBLIC/PR_TEST/scripts/GH_PR_EXTRACTOR_CLI.sh
    Processing repository: GH_TEST_PR_REPO
    * Request at 2025-02-20 11:50:24.618523 -0700 MST m=+0.072646126
    * Request to https://api.github.com/graphql
    > POST /graphql HTTP/1.1
    > Host: api.github.com
    > Accept: application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview
    > Authorization: token ████████████████████
    > Content-Length: 861
    > Content-Type: application/json; charset=utf-8
    > Graphql-Features: merge_queue
    > Time-Zone: America/Denver
    > User-Agent: GitHub CLI 2.61.0
    
    GraphQL query:
    fragment pr on PullRequest{number}
        query PullRequestList(
          $owner: String!,
          $repo: String!,
          $limit: Int!,
          $endCursor: String,
          $baseBranch: String,
          $headBranch: String,
          $state: [PullRequestState!] = OPEN
        ) {
          repository(owner: $owner, name: $repo) {
            pullRequests(
              states: $state,
              baseRefName: $baseBranch,
              headRefName: $headBranch,
              first: $limit,
              after: $endCursor,
              orderBy: {field: CREATED_AT, direction: DESC}
            ) {
              totalCount
              nodes {
                ...pr
              }
              pageInfo {
                hasNextPage
                endCursor
              }
            }
          }
        }
    GraphQL variables: {"limit":30,"owner":"jsing120","repo":"GH_TEST_PR_REPO","state":["OPEN","CLOSED","MERGED"]}
    
    < HTTP/2.0 200 OK
    < Access-Control-Allow-Origin: *
    < Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset
    < Content-Security-Policy: default-src 'none'
    < Content-Type: application/json; charset=utf-8
    < Date: Thu, 20 Feb 2025 18:50:25 GMT
    < Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
    < Server: github.com
    < Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
    < Vary: Accept-Encoding, Accept, X-Requested-With
    < X-Accepted-Oauth-Scopes: repo
    < X-Content-Type-Options: nosniff
    < X-Frame-Options: deny
    < X-Github-Media-Type: github.v4; param=merge-info-preview.nebula-preview; format=json
    < X-Github-Request-Id: 6976:2DDA35:1910D81:3275C76:67B77970
    < X-Oauth-Client-Id: 178c6fc778ccc68e1d6a
    < X-Oauth-Scopes: gist, read:org, repo, workflow
    < X-Ratelimit-Limit: 5000
    < X-Ratelimit-Remaining: 4989
    < X-Ratelimit-Reset: 1740079767
    < X-Ratelimit-Resource: graphql
    < X-Ratelimit-Used: 11
    < X-Xss-Protection: 0
    
    {
      "data": {
        "repository": {
          "pullRequests": {
            "totalCount": 1,
            "nodes": [
              {
                "number": 1
              }
            ],
            "pageInfo": {
              "hasNextPage": false,
              "endCursor": "Y3Vyc29yOnYyOpK5MjAyNS0wMi0yMFQxMTozMjozNS0wNzowMM6L8RUR"
            }
          }
        }
      }
    }
    
    * Request took 590.996459ms
    Fetching PR: 1 from GH_TEST_PR_REPO
    * Request at 2025-02-20 11:50:25.294452 -0700 MST m=+0.068850543
    * Request to https://api.github.com/graphql
    > POST /graphql HTTP/1.1
    > Host: api.github.com
    > Accept: application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview
    > Authorization: token ████████████████████
    > Content-Length: 462
    > Content-Type: application/json; charset=utf-8
    > Graphql-Features: merge_queue
    > Time-Zone: America/Denver
    > User-Agent: GitHub CLI 2.61.0
    
    GraphQL query:
    query PullRequestByNumber($owner: String!, $repo: String!, $pr_number: Int!) {
        repository(owner: $owner, name: $repo) {
          pullRequest(number: $pr_number) {commits(first: 100) {nodes {commit {authors(first:100) {nodes {name,email,user{id,login}}},messageHeadline,messageBody,oid,committedDate,authoredDate}}},author{login,...on User{id,name}},id,number}
        }
      }
    GraphQL variables: {"owner":"jsing120","pr_number":1,"repo":"GH_TEST_PR_REPO"}
    
    < HTTP/2.0 200 OK
    < Access-Control-Allow-Origin: *
    < Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset
    < Content-Security-Policy: default-src 'none'
    < Content-Type: application/json; charset=utf-8
    < Date: Thu, 20 Feb 2025 18:50:25 GMT
    < Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
    < Server: github.com
    < Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
    < Vary: Accept-Encoding, Accept, X-Requested-With
    < X-Accepted-Oauth-Scopes: repo
    < X-Content-Type-Options: nosniff
    < X-Frame-Options: deny
    < X-Github-Media-Type: github.v4; param=merge-info-preview.nebula-preview; format=json
    < X-Github-Request-Id: 14B5:1E8272:19E4A09:340E4E5:67B77971
    < X-Oauth-Client-Id: 178c6fc778ccc68e1d6a
    < X-Oauth-Scopes: gist, read:org, repo, workflow
    < X-Ratelimit-Limit: 5000
    < X-Ratelimit-Remaining: 4988
    < X-Ratelimit-Reset: 1740079767
    < X-Ratelimit-Resource: graphql
    < X-Ratelimit-Used: 12
    < X-Xss-Protection: 0
    
    {
      "data": {
        "repository": {
          "pullRequest": {
            "commits": {
              "nodes": [
                {
                  "commit": {
                    "authors": {
                      "nodes": [
                        {
                          "name": "jsing120",
                          "email": "[email protected]",
                          "user": null
                        }
                      ]
                    },
                    "messageHeadline": "(chore) : Add content for PR",
                    "messageBody": "",
                    "oid": "4f7628a9ac9598b30809eb4c35f0bc4d8c88be6b",
                    "committedDate": "2025-02-20T18:32:06Z",
                    "authoredDate": "2025-02-20T18:32:06Z"
                  }
                },
                {
                  "commit": {
                    "authors": {
                      "nodes": [
                        {
                          "name": "jsing120",
                          "email": "[email protected]",
                          "user": null
                        }
                      ]
                    },
                    "messageHeadline": "(chore) : Working script",
                    "messageBody": "",
                    "oid": "4c208e892b7d47432f4ada5a304b2180541a8948",
                    "committedDate": "2025-02-20T18:49:08Z",
                    "authoredDate": "2025-02-20T18:49:08Z"
                  }
                }
              ]
            },
            "author": {
              "login": "jsing120",
              "id": "MDQ6VXNlcjEwOTQ5NjYz",
              "name": null
            },
            "id": "PR_kwDON821rM6L8RUR",
            "number": 1
          }
        }
      }
    }
    
    * Request took 600.742ms
    * Request at 2025-02-20 11:50:25.995498 -0700 MST m=+0.056883042
    * Request to https://api.github.com/repos/jsing120/GH_TEST_PR_REPO/pulls/1/comments
    > GET /repos/jsing120/GH_TEST_PR_REPO/pulls/1/comments HTTP/1.1
    > Host: api.github.com
    > Accept: */*
    > Authorization: token ████████████████████
    > Content-Type: application/json; charset=utf-8
    > Time-Zone: America/Denver
    > User-Agent: GitHub CLI 2.61.0
    
    < HTTP/2.0 200 OK
    < Access-Control-Allow-Origin: *
    < Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset
    < Cache-Control: private, max-age=60, s-maxage=60
    < Content-Security-Policy: default-src 'none'
    < Content-Type: application/json; charset=utf-8
    < Date: Thu, 20 Feb 2025 18:50:26 GMT
    < Etag: W/"e1ead0bcb87be0c4c474a06c544723f650af597b4ddbf689595115274ea5f311"
    < Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
    < Server: github.com
    < Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
    < Vary: Accept, Authorization, Cookie, X-GitHub-OTP,Accept-Encoding, Accept, X-Requested-With
    < X-Accepted-Oauth-Scopes: 
    < X-Content-Type-Options: nosniff
    < X-Frame-Options: deny
    < X-Github-Api-Version-Selected: 2022-11-28
    < X-Github-Media-Type: github.v3; format=json
    < X-Github-Request-Id: 39A0:113106:1AB9567:35BB512:67B77972
    < X-Oauth-Client-Id: 178c6fc778ccc68e1d6a
    < X-Oauth-Scopes: gist, read:org, repo, workflow
    < X-Ratelimit-Limit: 5000
    < X-Ratelimit-Remaining: 4997
    < X-Ratelimit-Reset: 1740080742
    < X-Ratelimit-Resource: core
    < X-Ratelimit-Used: 3
    < X-Xss-Protection: 0
    
    [
      {
        "url": "https://api.github.com/repos/jsing120/GH_TEST_PR_REPO/pulls/comments/1964144846",
        "pull_request_review_id": 2630815890,
        "id": 1964144846,
        "node_id": "PRRC_kwDON821rM51EnjO",
        "diff_hunk": "@@ -0,0 +1,17 @@\n+package com.test;\n+\n+//TIP To <b>Run</b> code, press <shortcut actionId=\"Run\"/> or\n+// click the <icon src=\"AllIcons.Actions.Execute\"/> icon in the gutter.\n+public class Main {\n+    public static void main(String[] args) {\n+        //TIP Press <shortcut actionId=\"ShowIntentionActions\"/> with your caret at the highlighted text\n+        // to see how IntelliJ IDEA suggests fixing it.\n+        System.out.printf(\"Hello and welcome!\");",
        "path": "PR_TEST/src/main/java/com/test/Main.java",
        "commit_id": "4c208e892b7d47432f4ada5a304b2180541a8948",
        "original_commit_id": "4f7628a9ac9598b30809eb4c35f0bc4d8c88be6b",
        "user": {
          "login": "jsing120",
          "id": 10949663,
          "node_id": "MDQ6VXNlcjEwOTQ5NjYz",
          "avatar_url": "https://avatars.githubusercontent.com/u/10949663?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/jsing120",
          "html_url": "https://github.com/jsing120",
          "followers_url": "https://api.github.com/users/jsing120/followers",
          "following_url": "https://api.github.com/users/jsing120/following{/other_user}",
          "gists_url": "https://api.github.com/users/jsing120/gists{/gist_id}",
          "starred_url": "https://api.github.com/users/jsing120/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/jsing120/subscriptions",
          "organizations_url": "https://api.github.com/users/jsing120/orgs",
          "repos_url": "https://api.github.com/users/jsing120/repos",
          "events_url": "https://api.github.com/users/jsing120/events{/privacy}",
          "received_events_url": "https://api.github.com/users/jsing120/received_events",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        },
        "body": "Sysouts are not recommended",
        "created_at": "2025-02-20T18:32:56Z",
        "updated_at": "2025-02-20T18:32:56Z",
        "html_url": "https://github.com/jsing120/GH_TEST_PR_REPO/pull/1#discussion_r1964144846",
        "pull_request_url": "https://api.github.com/repos/jsing120/GH_TEST_PR_REPO/pulls/1",
        "author_association": "OWNER",
        "_links": {
          "self": {
            "href": "https://api.github.com/repos/jsing120/GH_TEST_PR_REPO/pulls/comments/1964144846"
          },
          "html": {
            "href": "https://github.com/jsing120/GH_TEST_PR_REPO/pull/1#discussion_r1964144846"
          },
          "pull_request": {
            "href": "https://api.github.com/repos/jsing120/GH_TEST_PR_REPO/pulls/1"
          }
        },
        "reactions": {
          "url": "https://api.github.com/repos/jsing120/GH_TEST_PR_REPO/pulls/comments/1964144846/reactions",
          "total_count": 0,
          "+1": 0,
          "-1": 0,
          "laugh": 0,
          "hooray": 0,
          "confused": 0,
          "heart": 0,
          "rocket": 0,
          "eyes": 0
        },
        "start_line": null,
        "original_start_line": null,
        "start_side": null,
        "line": 9,
        "original_line": 9,
        "side": "RIGHT",
        "original_position": 9,
        "position": 9,
        "subject_type": "line"
      }
    ]
    
    * Request took 493.140417ms
    

    DEBUG: Raw API response for PR 1 in GH_TEST_PR_REPO

  4. andyfeller commented on Feb 21, 2025

    @andyfeller
    Contributor

    Weirdly the issue cannot be replicated on public github.com and only seems like happening with the enterprise github. So not sure it has to do something with our enterprise GITHUB version?

    @jsing120: Interesting! This just raises a few other questions:

    1. Could you explain what you mean by "our enterprise GITHUB version"?

      I assume you mean private Enterprise Server deployment rather than Enterprise Cloud or Enterprise Cloud with Data Residency.

    2. Is there any info you can share about the enterprise?

      If this is Enterprise Server, what version?

    3. Can you share GH_DEBUG=api logs where this is failing on your enterprise?

      If you're concerned about sharing this or not wanting to redact information, then an option would be working with your enterprise admin to raise this up to GitHub Support.

    4. Is this still a problem if you upgrade GitHub CLI?

      I don't think anything has changed since v2.61.0 that would change this behavior, but never hurts. 🤷

  5. jsing120 commented on Feb 21, 2025

    @jsing120
    Author

    Weirdly the issue cannot be replicated on public github.com and only seems like happening with the enterprise github. So not sure it has to do something with our enterprise GITHUB version?

    @jsing120: Interesting! This just raises a few other questions:

    1. Could you explain what you mean by "our enterprise GITHUB version"?
      I assume you mean private Enterprise Server deployment rather than Enterprise Cloud or Enterprise Cloud with Data Residency.
    2. Is there any info you can share about the enterprise?
      If this is Enterprise Server, what version?
    3. Can you share GH_DEBUG=api logs where this is failing on your enterprise?
      If you're concerned about sharing this or not wanting to redact information, then an option would be working with your enterprise admin to raise this up to GitHub Support.
    4. Is this still a problem if you upgrade GitHub CLI?
      I don't think anything has changed since v2.61.0 that would change this behavior, but never hurts. 🤷

    Could you explain what you mean by "our enterprise GITHUB version"?

    I meant GitHub Enterprise Server 3.13.4

    Is there any info you can share about the enterprise?

    If this is Enterprise Server, what version?

    Yes GitHub Enterprise Server 3.13.4

    Can you share GH_DEBUG=api logs where this is failing on your enterprise?

    If you're concerned about sharing this or not wanting to redact information, then an option would be working with your enterprise admin to raise this up to GitHub Support.

    Is this still a problem if you upgrade GitHub CLI?

    I don't think anything has changed since v2.61.0 that would change this behavior, but never hurts. 🤷

    @andyfeller - I dont know what changed but its now formatting and escaping all the characters properly even on the GH enterprise server lol.

    The response is now coming as
    [{"url":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/comments/3283369","pull_request_review_id":6185275,"id":3283369,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMyODMzNjk=","diff_hunk":"@@ -0,0 +1,17 @@\n+package com.test;\n+\n+//TIP To <b>Run</b> code, press <shortcut actionId=\"Run\"/> or\n+// click the <icon src=\"AllIcons.Actions.Execute\"/> icon in the gutter.\n+public class Main {\n+ public static void main(String[] args) {\n+ //TIP Press <shortcut actionId=\"ShowIntentionActions\"/> with your caret at the highlighted text\n+ // to see how IntelliJ IDEA suggests fixing it.\n+ System.out.printf(\"Hello and welcome!\");\n+\n+ for (int i = 1; i <= 5; i++) {\n+ //TIP Press <shortcut actionId=\"Debug\"/> to start debugging your code. We have set one <icon src=\"AllIcons.Debugger.Db_set_breakpoint\"/> breakpoint\n+ // for you, but you can always add more by pressing <shortcut actionId=\"ToggleLineBreakpoint\"/>.\n+ System.out.println(\"i = \" + i);","path":"test_PR/src/main/java/com/test/Main.java","commit_id":"20202e760284983da7f0034d7661c859d6c3b12b","original_commit_id":"20202e760284983da7f0034d7661c859d6c3b12b","user":{"login":"jsing120","id":2258,"node_id":"MDQ6VXNlcjIyNTg=","avatar_url":"https://github.myorg.com/avatars/u/2258?","gravatar_id":"","url":"https://github.myorg.com/api/v3/users/jsing120","html_url":"https://github.myorg.com/jsing120","followers_url":"https://github.myorg.com/api/v3/users/jsing120/followers","following_url":"https://github.myorg.com/api/v3/users/jsing120/following{/other_user}","gists_url":"https://github.myorg.com/api/v3/users/jsing120/gists{/gist_id}","starred_url":"https://github.myorg.com/api/v3/users/jsing120/starred{/owner}{/repo}","subscriptions_url":"https://github.myorg.com/api/v3/users/jsing120/subscriptions","organizations_url":"https://github.myorg.com/api/v3/users/jsing120/orgs","repos_url":"https://github.myorg.com/api/v3/users/jsing120/repos","events_url":"https://github.myorg.com/api/v3/users/jsing120/events{/privacy}","received_events_url":"https://github.myorg.com/api/v3/users/jsing120/received_events","type":"User","site_admin":false},"body":"souts not recommended","created_at":"2025-02-20T06:19:55Z","updated_at":"2025-02-20T06:19:55Z","html_url":"https://github.myorg.com/@myorg.com-eng/GH_TEST_PR_REPO/pull/2#discussion_r3283369","pull_request_url":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/2","author_association":"MEMBER","_links":{"self":{"href":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/comments/3283369"},"html":{"href":"https://github.myorg.com/@myorg.com-eng/GH_TEST_PR_REPO/pull/2#discussion_r3283369"},"pull_request":{"href":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/2"}},"reactions":{"url":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/comments/3283369/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"start_line":null,"original_start_line":null,"start_side":null,"line":14,"original_line":14,"side":"RIGHT","original_position":14,"position":14,"subject_type":"line"},{"url":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/comments/3284863","pull_request_review_id":6188621,"id":3284863,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMyODQ4NjM=","diff_hunk":"@@ -0,0 +1,17 @@\n+package com.test;\n+\n+//TIP To <b>Run</b> code, press <shortcut actionId=\"Run\"/> or\n+// click the <icon src=\"AllIcons.Actions.Execute\"/> icon in the gutter.\n+public class Main {\n+ public static void main(String[] args) {\n+ //TIP Press <shortcut actionId=\"ShowIntentionActions\"/> with your caret at the highlighted text\n+ // to see how IntelliJ IDEA suggests fixing it.\n+ System.out.printf(\"Hello and welcome!\");\n+\n+ for (int i = 1; i <= 5; i++) {","path":"test_PR/src/main/java/com/test/Main.java","commit_id":"20202e760284983da7f0034d7661c859d6c3b12b","original_commit_id":"20202e760284983da7f0034d7661c859d6c3b12b","user":{"login":"jsing120","id":2258,"node_id":"MDQ6VXNlcjIyNTg=","avatar_url":"https://github.myorg.com/avatars/u/2258?","gravatar_id":"","url":"https://github.myorg.com/api/v3/users/jsing120","html_url":"https://github.myorg.com/jsing120","followers_url":"https://github.myorg.com/api/v3/users/jsing120/followers","following_url":"https://github.myorg.com/api/v3/users/jsing120/following{/other_user}","gists_url":"https://github.myorg.com/api/v3/users/jsing120/gists{/gist_id}","starred_url":"https://github.myorg.com/api/v3/users/jsing120/starred{/owner}{/repo}","subscriptions_url":"https://github.myorg.com/api/v3/users/jsing120/subscriptions","organizations_url":"https://github.myorg.com/api/v3/users/jsing120/orgs","repos_url":"https://github.myorg.com/api/v3/users/jsing120/repos","events_url":"https://github.myorg.com/api/v3/users/jsing120/events{/privacy}","received_events_url":"https://github.myorg.com/api/v3/users/jsing120/received_events","type":"User","site_admin":false},"body":"Since this does not need index for each loop is preferred give this is on Java 8+.","created_at":"2025-02-20T18:02:54Z","updated_at":"2025-02-20T18:02:55Z","html_url":"https://github.myorg.com/@myorg.com-eng/GH_TEST_PR_REPO/pull/2#discussion_r3284863","pull_request_url":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/2","author_association":"MEMBER","_links":{"self":{"href":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/comments/3284863"},"html":{"href":"https://github.myorg.com/@myorg.com-eng/GH_TEST_PR_REPO/pull/2#discussion_r3284863"},"pull_request":{"href":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/2"}},"reactions":{"url":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/comments/3284863/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"start_line":null,"original_start_line":null,"start_side":null,"line":11,"original_line":11,"side":"RIGHT","original_position":11,"position":11,"subject_type":"line"},{"url":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/comments/3285329","pull_request_review_id":6189642,"id":3285329,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMyODUzMjk=","diff_hunk":"@@ -0,0 +1,17 @@\n+package com.test;\n+\n+//TIP To <b>Run</b> code, press <shortcut actionId=\"Run\"/> or\n+// click the <icon src=\"AllIcons.Actions.Execute\"/> icon in the gutter.\n+public class Main {\n+ public static void main(String[] args) {\n+ //TIP Press <shortcut actionId=\"ShowIntentionActions\"/> with your caret at the highlighted text\n+ // to see how IntelliJ IDEA suggests fixing it.\n+ System.out.printf(\"Hello and welcome!\");\n+\n+ for (int i = 1; i <= 5; i++) {","path":"test_PR/src/main/java/com/test/Main.java","commit_id":"20202e760284983da7f0034d7661c859d6c3b12b","original_commit_id":"20202e760284983da7f0034d7661c859d6c3b12b","user":{"login":"okali2","id":17394,"node_id":"MDQ6VXNlcjE3Mzk0","avatar_url":"https://github.myorg.com/avatars/u/17394?","gravatar_id":"","url":"https://github.myorg.com/api/v3/users/okali2","html_url":"https://github.myorg.com/okali2","followers_url":"https://github.myorg.com/api/v3/users/okali2/followers","following_url":"https://github.myorg.com/api/v3/users/okali2/following{/other_user}","gists_url":"https://github.myorg.com/api/v3/users/okali2/gists{/gist_id}","starred_url":"https://github.myorg.com/api/v3/users/okali2/starred{/owner}{/repo}","subscriptions_url":"https://github.myorg.com/api/v3/users/okali2/subscriptions","organizations_url":"https://github.myorg.com/api/v3/users/okali2/orgs","repos_url":"https://github.myorg.com/api/v3/users/okali2/repos","events_url":"https://github.myorg.com/api/v3/users/okali2/events{/privacy}","received_events_url":"https://github.myorg.com/api/v3/users/okali2/received_events","type":"User","site_admin":false},"body":"Instead of using a traditional for loop with an index, consider using a Java 8+ style for-each loop with IntStream.range()to simplify the code. For example:IntStream.range(1, 6).forEach(i -> { /* loop body */ });. This makes the code more concise and expressive.","created_at":"2025-02-20T20:51:57Z","updated_at":"2025-02-20T20:51:57Z","html_url":"https://github.myorg.com/@myorg.com-eng/GH_TEST_PR_REPO/pull/2#discussion_r3285329","pull_request_url":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/2","author_association":"MEMBER","_links":{"self":{"href":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/comments/3285329"},"html":{"href":"https://github.myorg.com/@myorg.com-eng/GH_TEST_PR_REPO/pull/2#discussion_r3285329"},"pull_request":{"href":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/2"}},"reactions":{"url":"https://github.myorg.com/api/v3/repos/@myorg.com-eng/GH_TEST_PR_REPO/pulls/comments/3285329/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"start_line":null,"original_start_line":null,"start_side":null,"line":11,"original_line":11,"side":"RIGHT","original_position":11,"position":11,"subject_type":"line"}]

    I did asked my enterprise admin, they did recycled the instances perhaps that did the trick 👀 . i will close this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementa request to improve CLIgh-apirelating to the gh api commandmore-info-neededMore info needed from user/contributorneeds-triageneeds to be reviewed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions