[{"data":1,"prerenderedAt":969},["ShallowReactive",2],{"navigation_docs":3,"-guide-issues":80,"-guide-issues-surround":964},[4,56],{"title":5,"path":6,"stem":7,"children":8,"icon":55},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43,47,51],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Authentication","\u002Fguide\u002Fauth","1.guide\u002F02.auth",{"title":16,"path":17,"stem":18},"Repositories","\u002Fguide\u002Frepositories","1.guide\u002F03.repositories",{"title":20,"path":21,"stem":22},"Issues","\u002Fguide\u002Fissues","1.guide\u002F04.issues",{"title":24,"path":25,"stem":26},"Pull requests","\u002Fguide\u002Fpull-requests","1.guide\u002F05.pull-requests",{"title":28,"path":29,"stem":30},"Review threads","\u002Fguide\u002Fthreads","1.guide\u002F06.threads",{"title":32,"path":33,"stem":34},"Commits and CI","\u002Fguide\u002Fcommits","1.guide\u002F07.commits",{"title":36,"path":37,"stem":38},"Contribution templates","\u002Fguide\u002Ftemplates","1.guide\u002F08.templates",{"title":40,"path":41,"stem":42},"Code search","\u002Fguide\u002Fcode-search","1.guide\u002F09.code-search",{"title":44,"path":45,"stem":46},"Agents","\u002Fguide\u002Fagents","1.guide\u002F10.agents",{"title":48,"path":49,"stem":50},"Custom providers","\u002Fguide\u002Fcustom","1.guide\u002F11.custom",{"title":52,"path":53,"stem":54},"Explorer","\u002Fguide\u002Fexplorer","1.guide\u002F12.explorer","i-lucide-book-open",{"title":57,"path":58,"stem":59,"children":60,"icon":79},"Platforms","\u002Fplatforms","2.platforms\u002F0.index",[61,63,67,71,75],{"title":62,"path":58,"stem":59},"Overview",{"title":64,"path":65,"stem":66},"GitHub","\u002Fplatforms\u002Fgithub","2.platforms\u002F01.github",{"title":68,"path":69,"stem":70},"GitLab","\u002Fplatforms\u002Fgitlab","2.platforms\u002F02.gitlab",{"title":72,"path":73,"stem":74},"Gitea","\u002Fplatforms\u002Fgitea","2.platforms\u002F03.gitea",{"title":76,"path":77,"stem":78},"GitBucket","\u002Fplatforms\u002Fgitbucket","2.platforms\u002F04.gitbucket","i-lucide-library",{"id":81,"title":20,"body":82,"description":957,"extension":958,"links":959,"meta":960,"navigation":444,"path":21,"seo":962,"stem":22,"__hash__":963},"docs\u002F1.guide\u002F04.issues.md",{"type":83,"value":84,"toc":950},"minimark",[85,90,569,595,599,779,794,797,822,829,832,846,930,934,942,946],[86,87,89],"h2",{"id":88},"calls","Calls",[91,92,97],"pre",{"className":93,"code":94,"language":95,"meta":96,"style":96},"language-ts shiki shiki-themes github-light github-light poimandres","const open = await forge.issues.list(\"owner\", \"repo\", { state: \"open\", page: 1, perPage: 30 });\nconst found = await forge.issues.search(\"owner\", \"repo\", \"hydration mismatch\", { state: \"all\" });\nconst one = await forge.issues.get(\"owner\", \"repo\", 42);\nconst comments = await forge.issues.listComments(\"owner\", \"repo\", 42, { perPage: 50 });\nconst comment = await forge.issues.getComment(\"owner\", \"repo\", 42, comments.items[0]!.id);\n\nconst created = await forge.issues.create(\"owner\", \"repo\", {\n  title: \"Broken link on the deploy page\",\n  body: \"The Cloudflare link 404s.\",\n  labels: [\"docs\"],\n  assignees: [\"someone\"],\n});\n","ts","",[98,99,100,203,266,313,367,439,446,488,506,523,544,563],"code",{"__ignoreMap":96},[101,102,105,109,113,116,120,124,128,131,133,137,140,144,148,150,153,155,158,160,163,167,170,173,176,178,181,184,186,190,192,195,197,200],"span",{"class":103,"line":104},"line",1,[101,106,108],{"class":107},"s1TYA","const",[101,110,112],{"class":111},"saoiD"," open",[101,114,115],{"class":107}," =",[101,117,119],{"class":118},"sZW6a"," await",[101,121,123],{"class":122},"spVlQ"," forge",[101,125,127],{"class":126},"sKlNE",".",[101,129,130],{"class":122},"issues",[101,132,127],{"class":126},[101,134,136],{"class":135},"sULi6","list",[101,138,139],{"class":126},"(",[101,141,143],{"class":142},"scVjq","\"",[101,145,147],{"class":146},"sQ7BG","owner",[101,149,143],{"class":142},[101,151,152],{"class":126},", ",[101,154,143],{"class":142},[101,156,157],{"class":146},"repo",[101,159,143],{"class":142},[101,161,162],{"class":126},", {",[101,164,166],{"class":165},"snHMy"," state",[101,168,169],{"class":126},":",[101,171,172],{"class":142}," \"",[101,174,175],{"class":146},"open",[101,177,143],{"class":142},[101,179,180],{"class":126},",",[101,182,183],{"class":165}," page",[101,185,169],{"class":126},[101,187,189],{"class":188},"siHFe"," 1",[101,191,180],{"class":126},[101,193,194],{"class":165}," perPage",[101,196,169],{"class":126},[101,198,199],{"class":188}," 30",[101,201,202],{"class":126}," });\n",[101,204,206,208,211,213,215,217,219,221,223,226,228,230,232,234,236,238,240,242,244,246,249,251,253,255,257,259,262,264],{"class":103,"line":205},2,[101,207,108],{"class":107},[101,209,210],{"class":111}," found",[101,212,115],{"class":107},[101,214,119],{"class":118},[101,216,123],{"class":122},[101,218,127],{"class":126},[101,220,130],{"class":122},[101,222,127],{"class":126},[101,224,225],{"class":135},"search",[101,227,139],{"class":126},[101,229,143],{"class":142},[101,231,147],{"class":146},[101,233,143],{"class":142},[101,235,152],{"class":126},[101,237,143],{"class":142},[101,239,157],{"class":146},[101,241,143],{"class":142},[101,243,152],{"class":126},[101,245,143],{"class":142},[101,247,248],{"class":146},"hydration mismatch",[101,250,143],{"class":142},[101,252,162],{"class":126},[101,254,166],{"class":165},[101,256,169],{"class":126},[101,258,172],{"class":142},[101,260,261],{"class":146},"all",[101,263,143],{"class":142},[101,265,202],{"class":126},[101,267,269,271,274,276,278,280,282,284,286,289,291,293,295,297,299,301,303,305,307,310],{"class":103,"line":268},3,[101,270,108],{"class":107},[101,272,273],{"class":111}," one",[101,275,115],{"class":107},[101,277,119],{"class":118},[101,279,123],{"class":122},[101,281,127],{"class":126},[101,283,130],{"class":122},[101,285,127],{"class":126},[101,287,288],{"class":135},"get",[101,290,139],{"class":126},[101,292,143],{"class":142},[101,294,147],{"class":146},[101,296,143],{"class":142},[101,298,152],{"class":126},[101,300,143],{"class":142},[101,302,157],{"class":146},[101,304,143],{"class":142},[101,306,152],{"class":126},[101,308,309],{"class":188},"42",[101,311,312],{"class":126},");\n",[101,314,316,318,321,323,325,327,329,331,333,336,338,340,342,344,346,348,350,352,354,356,358,360,362,365],{"class":103,"line":315},4,[101,317,108],{"class":107},[101,319,320],{"class":111}," comments",[101,322,115],{"class":107},[101,324,119],{"class":118},[101,326,123],{"class":122},[101,328,127],{"class":126},[101,330,130],{"class":122},[101,332,127],{"class":126},[101,334,335],{"class":135},"listComments",[101,337,139],{"class":126},[101,339,143],{"class":142},[101,341,147],{"class":146},[101,343,143],{"class":142},[101,345,152],{"class":126},[101,347,143],{"class":142},[101,349,157],{"class":146},[101,351,143],{"class":142},[101,353,152],{"class":126},[101,355,309],{"class":188},[101,357,162],{"class":126},[101,359,194],{"class":165},[101,361,169],{"class":126},[101,363,364],{"class":188}," 50",[101,366,202],{"class":126},[101,368,370,372,375,377,379,381,383,385,387,390,392,394,396,398,400,402,404,406,408,410,412,415,417,420,423,426,429,432,434,437],{"class":103,"line":369},5,[101,371,108],{"class":107},[101,373,374],{"class":111}," comment",[101,376,115],{"class":107},[101,378,119],{"class":118},[101,380,123],{"class":122},[101,382,127],{"class":126},[101,384,130],{"class":122},[101,386,127],{"class":126},[101,388,389],{"class":135},"getComment",[101,391,139],{"class":126},[101,393,143],{"class":142},[101,395,147],{"class":146},[101,397,143],{"class":142},[101,399,152],{"class":126},[101,401,143],{"class":142},[101,403,157],{"class":146},[101,405,143],{"class":142},[101,407,152],{"class":126},[101,409,309],{"class":188},[101,411,152],{"class":126},[101,413,414],{"class":122},"comments",[101,416,127],{"class":126},[101,418,419],{"class":122},"items",[101,421,422],{"class":126},"[",[101,424,425],{"class":188},"0",[101,427,428],{"class":126},"]",[101,430,431],{"class":107},"!",[101,433,127],{"class":126},[101,435,436],{"class":122},"id",[101,438,312],{"class":126},[101,440,442],{"class":103,"line":441},6,[101,443,445],{"emptyLinePlaceholder":444},true,"\n",[101,447,449,451,454,456,458,460,462,464,466,469,471,473,475,477,479,481,483,485],{"class":103,"line":448},7,[101,450,108],{"class":107},[101,452,453],{"class":111}," created",[101,455,115],{"class":107},[101,457,119],{"class":118},[101,459,123],{"class":122},[101,461,127],{"class":126},[101,463,130],{"class":122},[101,465,127],{"class":126},[101,467,468],{"class":135},"create",[101,470,139],{"class":126},[101,472,143],{"class":142},[101,474,147],{"class":146},[101,476,143],{"class":142},[101,478,152],{"class":126},[101,480,143],{"class":142},[101,482,157],{"class":146},[101,484,143],{"class":142},[101,486,487],{"class":126},", {\n",[101,489,491,494,496,498,501,503],{"class":103,"line":490},8,[101,492,493],{"class":165},"  title",[101,495,169],{"class":126},[101,497,172],{"class":142},[101,499,500],{"class":146},"Broken link on the deploy page",[101,502,143],{"class":142},[101,504,505],{"class":126},",\n",[101,507,509,512,514,516,519,521],{"class":103,"line":508},9,[101,510,511],{"class":165},"  body",[101,513,169],{"class":126},[101,515,172],{"class":142},[101,517,518],{"class":146},"The Cloudflare link 404s.",[101,520,143],{"class":142},[101,522,505],{"class":126},[101,524,526,529,531,534,536,539,541],{"class":103,"line":525},10,[101,527,528],{"class":165},"  labels",[101,530,169],{"class":126},[101,532,533],{"class":126}," [",[101,535,143],{"class":142},[101,537,538],{"class":146},"docs",[101,540,143],{"class":142},[101,542,543],{"class":126},"],\n",[101,545,547,550,552,554,556,559,561],{"class":103,"line":546},11,[101,548,549],{"class":165},"  assignees",[101,551,169],{"class":126},[101,553,533],{"class":126},[101,555,143],{"class":142},[101,557,558],{"class":146},"someone",[101,560,143],{"class":142},[101,562,543],{"class":126},[101,564,566],{"class":103,"line":565},12,[101,567,568],{"class":126},"});\n",[570,571,572,575,576,152,579,582,583,586,587,152,589,592,593,127],"p",{},[98,573,574],{},"ListOptions"," is ",[98,577,578],{},"page",[98,580,581],{},"perPage"," and ",[98,584,585],{},"state",", and state is ",[98,588,175],{},[98,590,591],{},"closed"," or ",[98,594,261],{},[86,596,598],{"id":597},"the-shape","The shape",[91,600,602],{"className":93,"code":601,"language":95,"meta":96,"style":96},"interface Issue {\n  id: string;\n  number: number; \u002F\u002F GitLab iid, not the global id\n  title: string;\n  body: string;\n  state: \"open\" | \"closed\";\n  labels: string[];\n  author: { login: string };\n  assignees: { login: string }[];\n  createdAt: string;\n  updatedAt: string;\n  url: string;\n}\n",[98,603,604,616,631,648,658,668,692,703,723,740,751,762,773],{"__ignoreMap":96},[101,605,606,609,613],{"class":103,"line":104},[101,607,608],{"class":107},"interface",[101,610,612],{"class":611},"sCrqT"," Issue",[101,614,615],{"class":126}," {\n",[101,617,618,622,624,628],{"class":103,"line":205},[101,619,621],{"class":620},"s0VbO","  id",[101,623,169],{"class":107},[101,625,627],{"class":626},"s8yaW"," string",[101,629,630],{"class":126},";\n",[101,632,633,636,638,641,644],{"class":103,"line":268},[101,634,635],{"class":620},"  number",[101,637,169],{"class":107},[101,639,640],{"class":626}," number",[101,642,643],{"class":126},"; ",[101,645,647],{"class":646},"sjhu3","\u002F\u002F GitLab iid, not the global id\n",[101,649,650,652,654,656],{"class":103,"line":315},[101,651,493],{"class":620},[101,653,169],{"class":107},[101,655,627],{"class":626},[101,657,630],{"class":126},[101,659,660,662,664,666],{"class":103,"line":369},[101,661,511],{"class":620},[101,663,169],{"class":107},[101,665,627],{"class":626},[101,667,630],{"class":126},[101,669,670,673,675,677,679,681,684,686,688,690],{"class":103,"line":441},[101,671,672],{"class":620},"  state",[101,674,169],{"class":107},[101,676,172],{"class":142},[101,678,175],{"class":146},[101,680,143],{"class":142},[101,682,683],{"class":107}," |",[101,685,172],{"class":142},[101,687,591],{"class":146},[101,689,143],{"class":142},[101,691,630],{"class":126},[101,693,694,696,698,700],{"class":103,"line":448},[101,695,528],{"class":620},[101,697,169],{"class":107},[101,699,627],{"class":626},[101,701,702],{"class":126},"[];\n",[101,704,705,708,710,713,716,718,720],{"class":103,"line":490},[101,706,707],{"class":620},"  author",[101,709,169],{"class":107},[101,711,712],{"class":126}," { ",[101,714,715],{"class":620},"login",[101,717,169],{"class":107},[101,719,627],{"class":626},[101,721,722],{"class":126}," };\n",[101,724,725,727,729,731,733,735,737],{"class":103,"line":508},[101,726,549],{"class":620},[101,728,169],{"class":107},[101,730,712],{"class":126},[101,732,715],{"class":620},[101,734,169],{"class":107},[101,736,627],{"class":626},[101,738,739],{"class":126}," }[];\n",[101,741,742,745,747,749],{"class":103,"line":525},[101,743,744],{"class":620},"  createdAt",[101,746,169],{"class":107},[101,748,627],{"class":626},[101,750,630],{"class":126},[101,752,753,756,758,760],{"class":103,"line":546},[101,754,755],{"class":620},"  updatedAt",[101,757,169],{"class":107},[101,759,627],{"class":626},[101,761,630],{"class":126},[101,763,764,767,769,771],{"class":103,"line":565},[101,765,766],{"class":620},"  url",[101,768,169],{"class":107},[101,770,627],{"class":626},[101,772,630],{"class":126},[101,774,776],{"class":103,"line":775},13,[101,777,778],{"class":126},"}\n",[570,780,781,782,785,786,789,790,793],{},"GitHub's ",[98,783,784],{},"\u002Fissues"," endpoint returns pull requests too, which is a trap the first time. They are filtered out here by the missing ",[98,787,788],{},"pull_request"," key, so ",[98,791,792],{},"issues.list"," on GitHub is issues only.",[86,795,796],{"id":225},"Search",[570,798,799,801,802,805,806,809,810,813,814,817,818,821],{},[98,800,225],{}," keeps the platform's own syntax. GitHub qualifiers like ",[98,803,804],{},"label:bug is:open"," work on GitHub. GitLab and Gitea treat the whole string as text, so ",[98,807,808],{},"label:bug"," there searches for the literal string. The result is a ",[98,811,812],{},"SearchPageResult",", a ",[98,815,816],{},"PageResult"," plus ",[98,819,820],{},"incomplete",", true when the platform admits the answer is partial.",[570,823,824,825,828],{},"An empty query is a ",[98,826,827],{},"ForgesError"," with status 400 before any request goes out.",[86,830,831],{"id":414},"Comments",[570,833,834,836,837,841,842,845],{},[98,835,335],{}," reads the discussion oldest first. On GitHub and Gitea issues and pull requests share the endpoint, both index pull requests as issues. On GitLab the notes are asked for with an explicit ascending sort, and two kinds are dropped: system notes about label and state churn, and inline diff notes, which belong to ",[838,839,840],"a",{"href":29},"review threads",". So a short GitLab page with ",[98,843,844],{},"hasNextPage: true"," is normal, keep paging. Gitea sends the whole discussion at once and the page you asked for is cut locally.",[91,847,849],{"className":93,"code":848,"language":95,"meta":96,"style":96},"interface Comment {\n  id: string;\n  body: string;\n  author: { login: string };\n  url: string;\n  createdAt: string;\n  updatedAt: string;\n}\n",[98,850,851,860,870,880,896,906,916,926],{"__ignoreMap":96},[101,852,853,855,858],{"class":103,"line":104},[101,854,608],{"class":107},[101,856,857],{"class":611}," Comment",[101,859,615],{"class":126},[101,861,862,864,866,868],{"class":103,"line":205},[101,863,621],{"class":620},[101,865,169],{"class":107},[101,867,627],{"class":626},[101,869,630],{"class":126},[101,871,872,874,876,878],{"class":103,"line":268},[101,873,511],{"class":620},[101,875,169],{"class":107},[101,877,627],{"class":626},[101,879,630],{"class":126},[101,881,882,884,886,888,890,892,894],{"class":103,"line":315},[101,883,707],{"class":620},[101,885,169],{"class":107},[101,887,712],{"class":126},[101,889,715],{"class":620},[101,891,169],{"class":107},[101,893,627],{"class":626},[101,895,722],{"class":126},[101,897,898,900,902,904],{"class":103,"line":369},[101,899,766],{"class":620},[101,901,169],{"class":107},[101,903,627],{"class":626},[101,905,630],{"class":126},[101,907,908,910,912,914],{"class":103,"line":441},[101,909,744],{"class":620},[101,911,169],{"class":107},[101,913,627],{"class":626},[101,915,630],{"class":126},[101,917,918,920,922,924],{"class":103,"line":448},[101,919,755],{"class":620},[101,921,169],{"class":107},[101,923,627],{"class":626},[101,925,630],{"class":126},[101,927,928],{"class":103,"line":490},[101,929,778],{"class":126},[86,931,933],{"id":932},"assignees","Assignees",[570,935,936,938,939,941],{},[98,937,932],{}," on ",[98,940,468],{}," takes logins. GitLab Free accepts one. Pass two and you get a 400 before the request leaves, instead of a confusing answer from GitLab.",[943,944,945],"caution",{},"An issue body or a comment was written by whoever has an account. Render it, summarize it, do not execute it.",[947,948,949],"style",{},"html pre.shiki code .s1TYA, html code.shiki .s1TYA{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#91B4D5}html pre.shiki code .saoiD, html code.shiki .saoiD{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#E4F0FB}html pre.shiki code .sZW6a, html code.shiki .sZW6a{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#5DE4C7C0}html pre.shiki code .spVlQ, html code.shiki .spVlQ{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E4F0FB}html pre.shiki code .sKlNE, html code.shiki .sKlNE{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#A6ACCD}html pre.shiki code .sULi6, html code.shiki .sULi6{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#E4F0FBD0}html pre.shiki code .scVjq, html code.shiki .scVjq{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#A6ACCD}html pre.shiki code .sQ7BG, html code.shiki .sQ7BG{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#5DE4C7}html pre.shiki code .snHMy, html code.shiki .snHMy{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#ADD7FF}html pre.shiki code .siHFe, html code.shiki .siHFe{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#5DE4C7}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sCrqT, html code.shiki .sCrqT{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#A6ACCDC0}html pre.shiki code .s0VbO, html code.shiki .s0VbO{--shiki-light:#E36209;--shiki-default:#E36209;--shiki-dark:#A6ACCD}html pre.shiki code .s8yaW, html code.shiki .s8yaW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#A6ACCDC0}html pre.shiki code .sjhu3, html code.shiki .sjhu3{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#767C9DB0;--shiki-dark-font-style:italic}",{"title":96,"searchDepth":205,"depth":205,"links":951},[952,953,954,955,956],{"id":88,"depth":205,"text":89},{"id":597,"depth":205,"text":598},{"id":225,"depth":205,"text":796},{"id":414,"depth":205,"text":831},{"id":932,"depth":205,"text":933},"List, search, read, create and comment on issues with the same options on every platform.","md",null,{"icon":961},"i-lucide-circle-dot",{"title":20,"description":957},"kaj6tImDU9TpZ0U8vEORKmjQwmNNH4PVMtPAd063thU",[965,967],{"title":16,"path":17,"stem":18,"description":966,"children":-1},"One Repository shape from every platform, with fork state, the immediate parent and the viewer's role when the platform says.",{"title":24,"path":25,"stem":26,"description":968,"children":-1},"Merge requests and pull requests as one PullRequest, with branches, head SHA, mergeability, changed files and checks.",1788525967449]