Skip to content
Insights · Engineering

Which issue did that repository open?

Name the issue that repository opened: the number, the state, and any pull request. A different number can hold another state. Another repository omits it.

Scroll
EngineeringOct 30, 202612 min readBy Salman Naqvi, Founder & CEO
Which issue did that repository open?

A client says the bug is open, or says the ticket they are looking at is a pull request. Tonight, three proofs, in a repository the agency or the client can open. Name the issue that repository opened: the issue number, the state, and whether a pull request is attached. If the object is locked, write the lock reason. Show a different issue whose number, or whose state, is not this one. Show another client's repository that does not list this issue. If any of the three needs a laptop the client cannot open, you have not named the issue. You have a title in a slide and a guess.

This is the issue object. It is not the label. Which label did that issue carry? is the name, the color, and the description. A title that says Found a bug is not a label named bug. It is not the milestone. Which milestone did that issue join? is the milestone number, the title, and the state. A nested milestone is not the issue number. It is not the method a customer stored. Which method did that customer store? is a payment method id. It is not the step a run took. Which step did that run actually take? is a step id. An issue number is none of those.

None of what follows is a promise about a client's repository, and none of it is legal advice. The fields below are one host's current samples of an issue. The samples that share number 1347 do not share every field. The counts below that are a study of other people's ChatGPT links inside GitHub issues. A conversation count is not the issue you opened tonight.

GitHub's issue sample prints id 1 and number 1347. 1 is not 1347. node_id is MDU6SXNzdWUx. 12 characters. state is open. title is Found a bug. 11 characters. body is I'm having a problem with this. 31 characters. 31 is not 11. user.login is octocat. 7 characters. user.id is 1. The user's id and the issue's id are the same integer. user.node_id is MDQ6VXNlcjE=. Also 12 characters, and not MDU6SXNzdWUx. Same length, different node. Do not treat the user as the issue because both ids are 1. comments is 0. locked is true. active_lock_reason is too heated. 10 characters. A lock with zero comments is what the sample stored. The lock reasons the page allows are off-topic, too heated, resolved, and spam. Four names. The sample uses one of the four. resolved is a lock reason. It is not a state. created_at and updated_at are both 2011-04-22T13:33:48Z. The gap is 0 seconds. closed_at is null. html_url ends in /issues/1347. That url is 50 characters. author_association is COLLABORATOR. 12 characters, the same length as the node id, and not the same string (GitHub, REST API endpoints for issues).

The same sample carries a pull request, and some copies of it carry a closer while the state stays open. pull_request.html_url ends in /pull/1347. That url is 48 characters. 48 is not 50. The number on both urls is 1347. An issue path and a pull path are not the same object, and a pull_request key means this issue sample is also a pull request. Do not tell the client it is only an issue because the field state says open. The longer sample includes a repository, id 1296269, name Hello-World, 11 characters, the same length as the title, and not the same string. That longer sample does not include state_reason and does not include closed_by. A shorter sample, same id 1, same number 1347, same open state, same null closed_at, adds state_reason completed and closed_by login octocat. completed is 9 characters. 9 is not 10, so the state reason is not the lock reason. state open, closed_at null, state_reason completed, closed_by set. Four facts. Do not rewrite open as closed because a reason says completed, and do not paste closed_by onto the sample that does not have it. The state_reason names are a different list from the lock reasons. resolved is not completed. The label on this issue is a third object, and the color and the description belong on which label that issue carried, not here.

The nested milestone is a fourth object, and its dates are not the issue's dates. The issue's created_at equals its updated_at. The milestone's state is open and its closed_at is filled. Those are the milestone's facts, and the arithmetic on them is already on which milestone that issue joined. What belongs on this page is the contrast: the issue's closed_at is null while the milestone nested inside it has a closed_at. A closed milestone timestamp is not an issue close. Milestone number 1 is not issue number 1347, and milestone id 1002604 is not issue id 1. Do not answer which issue was opened by reading the milestone title v1.0.

The list defaults hide what a client will assume is the whole tracker. The state parameter defaults to open. The allowed filters are open, closed, and all. Three names. all is a filter. It is not a state on the object. A default list that does not include closed issues is not a list of every issue the repository opened. per_page defaults to 30 and the maximum is 100. 30 is not 100. The printed list response is one issue. 1 is not 30. Create says that if issues are disabled in the repository, the API returns 410 Gone. 410 is not 201, and a disabled tracker is not an empty list you are allowed to fill with number 1347. The create request sends a title, a body, assignees, milestone 1, and labels. It does not send state. The update request can send state open. A request that does not send state is not a response whose state is open (GitHub, Create an issue).

The study people reach for when they want a count of issues that mention a model did not open this repository. Ramtin Ehsani, Sakshi Pathak, Esteban Parra, Sonia Haiduc, and Preetha Chatterjee collected developer–ChatGPT conversation links from GitHub issues. The abstract says 876 conversations from 655 projects, with 686 of the conversations from 543 projects directly related to issues. The dataset section says 876 unique conversation links from 823 GitHub issues across 655 repositories. 876 is not 823. 876 minus 823 is 53. The page says an issue thread can contain more than one link, and it does not print 53. 876 is not 686. 876 minus 686 is 190. The page does not print 190. 655 minus 543 is 112. The page does not print 112. 686 divided by 876 is 0.7831 to four places, which is 78.31 percent to two places. The paper does not print that percent. A link count is not an issue number, and 823 issues in a crawl are not number 1347 (Ehsani, Pathak, Parra, Haiduc, and Chatterjee, What Characteristics Make ChatGPT Effective for Software Issue Resolution?).

Two later counts in that paper do add, and a third pair does not stay a pair. A follow-up crawl found 125 additional conversations, compared with the 876. 876 plus 125 is 1,001. The paper prints 876 out of a known 1,001 total conversations. That addition matches. 125 is both the follow-up count and the gap from 876 to 1,001. The margin they print for that sample is ±1.2 percent. 1.2 is not 78.31, and neither is issue id 1. They also say the 655 projects comprise 48 programming languages. 48 is not 655. Two authors first reviewed 100 issue threads and identified 12 task types. In each of the next two phases they examined an additional 100 instances, 200 more in total, and the final set is 9 tasks. 100 plus 200 is 300. The page does not print 300. 12 minus 9 is 3. The page does not print 3. 9 is not 12, and 300 is not 823. Their average Cohen's kappa is 0.88. 0.88 is not a state, and it is not 1347.

Do the three proofs on one real issue, in the repository that actually holds it. First, the binding. Copy the issue number, the id, the state, and whether pull_request is present. If state is open and state_reason is completed, write both, and write whether closed_at is null. If locked is true, write the reason, and do not rename too heated to resolved because both are on the lock list. Do not infer number 1347 because a sample prints it, and do not infer id 1 because a sample user also has id 1. Second, the other issue. A different number, or a different state, is not this one. A crawl of 823 other issues is not that second issue. Third, the other repository. A list that belongs to another client does not contain this number. If the only tracker is a slide, write that. A repository you cannot name is the finding.

Three moves feel like the proof and are a second problem. Closing the issue, or opening a pull request, because the state was embarrassing, before you have copied the number. A new number does not tell you which issue the client opened. Quoting 876 or 78.31 percent because they look precise, while the issue you were asked about is one object, and the study that printed 876 had not opened your repository. Asking a model which issue it was. The model will pick a plausible title. It will not open the issue. A label you have not kept is which label that issue carried. Opening the label does not name the issue number.

The path is ordinary when the client, or you, can open the issue without the person who filed it narrating it. Gigbase is one multi-tenant agency workspace, distinct from the next client. It is not an issue ledger. No headcount, duration, or result figure belongs in that sentence. If the only way to see the number is a slide, you do not have this proof. You have a picture of a title.

There is a version of this afternoon where taking the work is the wrong purchase. The work is not sold under the agency's name. The client asked to meet the builders, and a hidden bench is the thing they said they did not buy. The room only has a slide, and the repository is not one you can open. The buyer only wants a template. Or the buyer wants a legal opinion about who owns the issue. Those are not this proof. The terms on a white label software development partner page are the arrangement itself: the work stays in the client's repositories, under the agency's name. The page is the offer. It does not name this issue, and it does not turn 823 into a number.

When the issue is real and the repository cannot name it, the missing object is specific. A read, in a repository the agency or the client can open, that shows one issue number, one state, and whether a pull request is attached, shows a different issue that is not that one, and shows another client's repository without it. A white label software development partner that expects this will have put that read in the client's organization before the first issue, because a number that lives on a laptop the client cannot open cannot be defended by the person whose name is on the invoice. One that can only describe the issue by forwarding a title is telling you who holds the tracker. If the next slice is one capability, an AI integration sprint is the shape where the acceptance sentence can include the three proofs. If you do not yet know which trackers the current engagements already use, a two-week AI readiness assessment maps them. The findings are yours. They are not a promise that a paper's conversation count applies, and they are not 1347.

Before you tell them which issue the repository opened, do the three proofs and write the number. Name the number, the state, and whether a pull request is attached, or write that the list was empty. Show a different issue that is not that one. Show another repository that does not hold it. Do not treat a pull url as an issue url because both end in 1347, and do not treat a lock reason as a state reason because both sit on the sample. A paper can tell you how many conversation links sat on how many issues, including the 53 it does not print. The binding is the issue you can defend.

Questions

Three records, in a repository the agency or the client can open. The issue number, the state, and whether a pull request is attached. A different issue whose number or state is not this one. Another client's repository that does not list this issue. A default list filtered to open is not every issue.

No. A count of other people's ChatGPT links is not the number on this issue. An issue you can defend is the number, the state, and whether a pull request is attached. 823 in one crawl is not 1347, and a sample user id of 1 is not your issue id.

When the work is not sold under the agency's name, when the client asked to meet the builders, when the room only has a slide, when the buyer only wants a template, or when the buyer wants a legal opinion.

Find this useful? Tell Google to show you more of it.

Let's put AI to work in your business.

A 30-minute call. You bring the workflow or the roadmap — we'll tell you what's feasible, what it costs, and what we'd build first.

Book a call→