{"title":"Bedömning av ärenden","version":"6.0","locale":"sv","docname":"internals/contributing/triaging-tickets","url":"/sv/6.0/internals/contributing/triaging-tickets/","canonical":"https://djangodocs.dev/sv/6.0/internals/contributing/triaging-tickets/","summary":"Django använder Trac för att hantera arbetet med kodbasen. Trac är en trädgård som sköts av gemenskapen med de buggar som folk har hittat och de funktioner…","html":"<h1>Bedömning av ärenden<a class=\"heading-anchor\" href=\"#triaging-tickets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Django använder <a class=\"reference external\" href=\"https://code.djangoproject.com/\">Trac</a> för att hantera arbetet med kodbasen. Trac är en trädgård som sköts av gemenskapen med de buggar som folk har hittat och de funktioner som Django har beslutat att lägga till. Som i alla trädgårdar finns det ibland ogräs som ska rensas bort och ibland blommor och grönsaker som behöver plockas. Vi behöver din hjälp för att skilja det ena från det andra, och i slutändan gynnas vi alla tillsammans.</p>\n<p>Precis som i alla trädgårdar kan vi sträva efter perfektion, men i verkligheten finns det inget sådant. Även i den mest orörda trädgård finns det fortfarande sniglar och insekter. I en gemensam trädgård finns det också hjälpsamma människor som - med de bästa avsikter - gödslar ogräset och förgiftar rosorna. Det är hela samhällets uppgift att sköta sig självt, hålla problemen på ett minimum och utbilda dem som kommer in i gemenskapen så att de kan bli värdefulla bidragande medlemmar.</p>\n<p>På samma sätt, även om vi strävar efter att Trac ska vara en perfekt representation av Djangos framsteg, erkänner vi att detta inte kommer att hända. Genom att distribuera belastningen av Trac-underhåll till gemenskapen accepterar vi att det kommer att finnas misstag. Trac är ”mestadels korrekt”, och vi tar hänsyn till det faktum att det ibland kommer att vara fel. Det är helt okej. Vi är perfektionister med deadlines.</p>\n<p>Vi förlitar oss på att gemenskapen fortsätter att delta, håller ärenden så korrekta som möjligt och tar upp frågor för diskussion på <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> när det finns förvirring eller oenighet.</p>\n<p>Django är ett gemenskapsprojekt och alla bidrag hjälper till. Vi kan inte göra det här utan <strong>dig</strong>!</p>\n<section id=\"triage-workflow\">\n<span id=\"id1\"></span><h2>Arbetsflöde för triagering<a class=\"heading-anchor\" href=\"#triage-workflow\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Unfortunately, not all reports in the ticket tracker provide all the\n<a class=\"reference internal\" href=\"/sv/6.0/internals/contributing/bugs-and-features/#reporting-bugs\"><span class=\"std std-ref\">required details</span></a>. A number of tickets have proposed\nsolutions, but those don’t necessarily meet all the requirements <a class=\"reference internal\" href=\"/sv/6.0/internals/contributing/writing-code/submitting-patches/#patch-style\"><span class=\"std std-ref\">adhering\nto the guidelines for contributing</span></a>.</p>\n<p>Ett sätt att hjälpa till är att <em>trimma</em> ärenden som har skapats av andra användare.</p>\n<p>Det mesta av arbetsflödet är baserat på konceptet med en ärendes <a class=\"reference internal\" href=\"#triage-stages\"><span class=\"std std-ref\">triage stages</span></a>. Varje steg beskriver var i sin livstid ett visst ärende befinner sig vid varje tidpunkt. Tillsammans med en handfull flaggor berättar detta attribut enkelt för oss vad och vem varje ärende väntar på.</p>\n<p>Eftersom en bild säger mer än tusen ord börjar vi där:</p>\n<img alt=\"Djangos arbetsflöde för ärendehantering\" src=\"/sv/6.0/_images/contribution_process.svg\" />\n<p>We have four roles in this diagram. Maintainers (also known as Fellows) usually\ntake part in all of them, but anyone in the Django community can participate in\nany role except merger. The <a class=\"reference internal\" href=\"/sv/6.0/internals/organization/#mergers-team\"><span class=\"std std-ref\">merger role</span></a> is granted by a\nvote of the <a class=\"reference internal\" href=\"/sv/6.0/internals/organization/#steering-council\"><span class=\"std std-ref\">Steering Council</span></a>.</p>\n<ul class=\"simple\">\n<li><p>Triagers: anyone can take on this role by checking whether a ticket describes\na real issue and keeping the tracker organized.</p></li>\n<li><p>Bug fixers: anyone can contribute by opening a pull request and working on a\nsolution for a ticket.</p></li>\n<li><p>Reviewers: anyone can review pull requests and suggest improvements.</p></li>\n<li><p>Mergers: people with commit access who make the final decision to merge a\nchange.</p></li>\n</ul>\n<p>Our Trac system is intentionally open to the public, and anyone can help by\nworking on tickets. Django is a community project, and we encourage\n<a class=\"reference internal\" href=\"#how-can-i-help-with-triaging\"><span class=\"std std-ref\">triage and collaboration by the community</span></a>. This could be you!</p>\n<p>For example, here’s the typical lifecycle of a ticket:</p>\n<ul class=\"simple\">\n<li><p>Alice creates a ticket and opens an incomplete pull request (missing tests,\nincorrect implementation).</p></li>\n<li><p>Bob reviews the pull request, marks the ticket as ”Accepted”, sets the\nflags ”needs tests” and ”patch needs improvement”, and leaves a comment\nexplaining how Alice can improve the patch. This puts the ticket\nautomatically into the ”waiting on author” queue within the ”accepted” stage.</p></li>\n<li><p>Alice updates the pull request, adding tests (but not yet fixing the\nimplementation), and removes the two flags. The ticket moves into the ”needs\nPR review” queue.</p></li>\n<li><p>Charlie reviews the pull request, sets the ”patch needs improvement” flag\nagain, and leaves another comment suggesting changes to the implementation.\nThe ticket moves back to the ”waiting on author” queue.</p></li>\n<li><p>Alice updates the pull request again, this time fixing the implementation,\nand removes the ”patch needs improvement” flag. The ticket moves once more\ninto the ”needs PR review” queue.</p></li>\n<li><p>Daisy granskar pull request och markerar ärendet som ”Redo för incheckning”.</p></li>\n<li><p>Jacob, a <a class=\"reference internal\" href=\"/sv/6.0/internals/organization/#mergers-team\"><span class=\"std std-ref\">merger</span></a>, reviews and merges the pull request.</p></li>\n</ul>\n<p>Some tickets move through these steps quickly, while others take more time and\ndiscussion. Each contribution helps Django improve.</p>\n</section>\n<section id=\"triage-stages\">\n<span id=\"id2\"></span><h2>Triage-stadier<a class=\"heading-anchor\" href=\"#triage-stages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Nedan beskriver vi mer i detalj de olika steg som ett ärende kan gå igenom under sin livstid.</p>\n<section id=\"unreviewed\">\n<h3>Ej Recenserade<a class=\"heading-anchor\" href=\"#unreviewed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The ticket has not been reviewed by anyone who felt qualified to make a\njudgment about whether the ticket contained a valid issue or ought to be closed\nfor any reasons. Unreviewed tickets appear in the ”triage” queue.</p>\n<p>Unreviewed tickets may receive additional refinement before being accepted.\nUnless you are both the author of the ticket and intending to submit a patch,\nunreviewed tickets should not be <a class=\"reference internal\" href=\"/sv/6.0/internals/contributing/writing-code/submitting-patches/#claiming-tickets\"><span class=\"std std-ref\">claimed</span></a>.</p>\n</section>\n<section id=\"accepted\">\n<h3>Accepterad<a class=\"heading-anchor\" href=\"#accepted\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The absolute meaning of ”accepted” is that the issue described in the ticket is\nvalid and actionable. It is broken out into three queues:</p>\n<ul>\n<li><p><strong>Needs Patch</strong> (Accepted + No Flags)</p>\n<p>Ärendet är giltigt, men ingen har skickat in en patch för det ännu. Ofta innebär detta att du kan börja skriva en fix för den. Detta är i allmänhet mer sant för accepterade buggar än accepterade funktioner. Ett ärende för en bugg som har accepterats innebär att problemet har verifierats av minst en triager som en legitim bugg - och bör förmodligen åtgärdas om möjligt.</p>\n<p>För nya funktioner bör accepterade ärenden endast existera efter att idén har gått igenom den lämpliga <a class=\"reference internal\" href=\"/sv/6.0/internals/contributing/bugs-and-features/#requesting-features\"><span class=\"std std-ref\">processen för att föreslå nya funktioner</span></a> och fått godkännande av gemenskapen och <a class=\"reference internal\" href=\"/sv/6.0/internals/organization/#steering-council\"><span class=\"std std-ref\">Steering Council</span></a>, eller accepterats i en DEP.</p>\n</li>\n<li><p><strong>Needs PR Review</strong> (Accepted + Has Patch)</p>\n<p>Ärendet väntar på att folk ska granska den medföljande lösningen. Detta innebär att ladda ner patchen och prova den, verifiera att den innehåller tester och dokument, köra testsviten med den medföljande patchen och lämna feedback på ärendet.</p>\n</li>\n<li><p><strong>Waiting On Author</strong> (Accepted + Has Patch + Needs fixes)</p>\n<p>Detta innebär att ärendet har granskats och att det har konstaterats att det behöver ytterligare arbete. ”Behöver testas” och ”Behöver dokumenteras” är självförklarande. ”Patch needs improvement” åtföljs i allmänhet av en kommentar i ärendet som förklarar vad som behövs för att förbättra koden.</p>\n</li>\n</ul>\n</section>\n<section id=\"ready-for-checkin\">\n<h3>Redo för incheckning<a class=\"heading-anchor\" href=\"#ready-for-checkin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ärendet granskades av någon annan medlem av gemenskapen än den person som levererade patchen och ansågs uppfylla alla krav för ett commit-ready bidrag. En <a class=\"reference internal\" href=\"/sv/6.0/internals/organization/#mergers-team\"><span class=\"std std-ref\">fusion</span></a> måste nu genomgå en sista granskning innan den kan skickas in.</p>\n<p>Det finns många pull requests. Det kan ta ett tag för din patch att bli granskad. Se <a class=\"reference internal\" href=\"/sv/6.0/faq/contributing/#new-contributors-faq\"><span class=\"std std-ref\">Bidra med kod FAQ</span></a> för några idéer här.</p>\n</section>\n<section id=\"someday-maybe\">\n<h3>En dag/kanske<a class=\"heading-anchor\" href=\"#someday-maybe\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Detta steg visas inte i diagrammet. Det används sparsamt för att hålla reda på långsiktiga förändringar.</p>\n<p>Dessa ärenden är ovanliga och generellt sett mindre användbara eftersom de inte beskriver konkreta problem som kan åtgärdas.</p>\n</section>\n</section>\n<section id=\"other-triage-attributes\">\n<h2>Andra triageattribut<a class=\"heading-anchor\" href=\"#other-triage-attributes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ett antal flaggor, som visas som kryssrutor i Trac, kan ställas in på ett ärende:</p>\n<section id=\"has-patch\">\n<h3>Har lapp<a class=\"heading-anchor\" href=\"#has-patch\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>This means the ticket has an associated solution. These will be reviewed to\nensure they adhere to the <a class=\"reference internal\" href=\"/sv/6.0/internals/contributing/writing-code/submitting-patches/#patch-review-checklist\"><span class=\"std std-ref\">documented guidelines</span></a>.</p>\n<p>De följande tre fälten (Behöver dokumentation, Behöver tester, Patch behöver förbättras) gäller endast om en patch har levererats.</p>\n</section>\n<section id=\"needs-documentation\">\n<h3>Behov av dokumentation<a class=\"heading-anchor\" href=\"#needs-documentation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Den här flaggan används för ärenden med korrigeringar som behöver tillhörande dokumentation. Fullständig dokumentation av funktioner är en förutsättning för att vi ska kunna checka in dem i kodbasen.</p>\n</section>\n<section id=\"needs-tests\">\n<h3>Behov av tester<a class=\"heading-anchor\" href=\"#needs-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Detta flaggar för att patchen behöver associerade enhetstester. Återigen, detta är en obligatorisk del av ett giltigt bidrag.</p>\n</section>\n<section id=\"patch-needs-improvement\">\n<h3>Patch behöver förbättras<a class=\"heading-anchor\" href=\"#patch-needs-improvement\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Den här flaggan betyder att även om ärendet <em>har</em> en lösning, är den inte riktigt redo för incheckning. Det kan betyda att patchen inte längre tillämpas korrekt, att det finns ett fel i implementeringen eller att koden inte uppfyller våra standarder.</p>\n</section>\n<section id=\"easy-pickings\">\n<h3>Lätt att välja<a class=\"heading-anchor\" href=\"#easy-pickings\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ärenden som skulle kräva små, enkla förändringar.</p>\n</section>\n<section id=\"type\">\n<h3>Typ<a class=\"heading-anchor\" href=\"#type\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ärenden bör kategoriseras efter <em>typ</em> mellan:</p>\n<ul class=\"simple\">\n<li><dl class=\"simple\">\n<dt>Ny funktion</dt><dd><p>För att du tillför något nytt.</p>\n</dd>\n</dl>\n</li>\n<li><dl class=\"simple\">\n<dt>Insekt</dt><dd><p>För när en befintlig sak är trasig eller inte beter sig som förväntat.</p>\n</dd>\n</dl>\n</li>\n<li><dl class=\"simple\">\n<dt>Uppstädning/optimering</dt><dd><p>För när inget är trasigt men något kan göras renare, bättre, snabbare, starkare.</p>\n</dd>\n</dl>\n</li>\n</ul>\n</section>\n<section id=\"component\">\n<h3>Komponent<a class=\"heading-anchor\" href=\"#component\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ärenden bör klassificeras i <em>komponenter</em> som indikerar vilket område av Django-kodbasen de tillhör. Detta gör att ärendena blir bättre organiserade och lättare att hitta.</p>\n</section>\n<section id=\"severity\">\n<h3>Allvarlighetsgrad<a class=\"heading-anchor\" href=\"#severity\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Attributet <em>severity</em> används för att identifiera blockerare, det vill säga problem som bör åtgärdas innan nästa version av Django släpps. Vanligtvis är dessa problem buggar som orsakar regressioner från tidigare versioner eller potentiellt orsakar allvarliga dataförluster. Detta attribut används ganska sällan och de allra flesta ärenden har en allvarlighetsgrad på ”Normal”.</p>\n</section>\n<section id=\"version\">\n<h3>Version<a class=\"heading-anchor\" href=\"#version\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The <em>version</em> attribute indicates the earliest version in which the bug was\nreproduced. During triage, this field can be updated, but there is no need to\nmake further updates when that version goes out of support. The field should\nnot be reset to ”dev” to show the issue still exists: instead, the tested\ncommit hash can be noted in a comment.</p>\n</section>\n<section id=\"ui-ux\">\n<h3>UI/UX<a class=\"heading-anchor\" href=\"#ui-ux\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Den här flaggan används för ärenden som rör frågor om användargränssnitt och användarupplevelser. Den här flaggan skulle till exempel vara lämplig för användarvänliga funktioner i formulär eller administratörsgränssnittet.</p>\n</section>\n<section id=\"cc\">\n<h3>Cc<a class=\"heading-anchor\" href=\"#cc\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Du kan lägga till ditt användarnamn eller din e-postadress i det här fältet för att bli meddelad när nya bidrag görs till ärendet.</p>\n</section>\n<section id=\"keywords\">\n<h3>Nyckelord<a class=\"heading-anchor\" href=\"#keywords\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Med det här fältet kan du märka ett ärende med flera nyckelord. Det kan t.ex. vara användbart för att gruppera flera ärenden på samma tema. Nyckelord kan antingen separeras med kommatecken eller mellanslag. Nyckelordssökning hittar nyckelordssträngen var som helst i nyckelorden. Om du t.ex. klickar på ett ärende med nyckelordet ”form” får du fram liknande ärenden som är märkta med nyckelord som innehåller strängar som ”formset”, ”modelformset” och ”ManagementForm”.</p>\n</section>\n</section>\n<section id=\"closing-tickets\">\n<span id=\"id3\"></span><h2>Stänga ärenden<a class=\"heading-anchor\" href=\"#closing-tickets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>När ett ärende har avslutat sin användbara livscykel är det dags att stänga det. Att stänga ett ärende är dock ett stort ansvar. Du måste vara säker på att problemet verkligen är löst, och du måste komma ihåg att den som rapporterat ärendet kanske inte är glad över att få sitt ärende stängt (om det inte är åtgärdat!). Om du inte är säker på om du ska stänga ett ärende, lämna en kommentar med dina tankar istället.</p>\n<p>Om du stänger ett ärende bör du alltid kontrollera följande:</p>\n<ul class=\"simple\">\n<li><p>Försäkra dig om att problemet är löst.</p></li>\n<li><p>Lämna en kommentar med en förklaring till beslutet att stänga ärendet.</p></li>\n<li><p>Om det finns något sätt de kan förbättra ärendet för att öppna det igen, låt dem veta det.</p></li>\n<li><p>Om ärendet är en dubblett ska du hänvisa till det ursprungliga ärendet. Korsreferera också det stängda ärendet genom att lämna en kommentar i det ursprungliga ärendet - detta gör det möjligt att få tillgång till mer relaterad information om den rapporterade buggen eller den begärda funktionen.</p></li>\n<li><p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">**</span></a>Var artig Ingen gillar att få sitt ärende avslutat. Det kan vara frustrerande eller till och med avskräckande. Det bästa sättet att undvika att avskräcka människor från att bidra till Django är att vara artig och vänlig och att ge förslag på hur de kan förbättra detta ärende och andra ärenden i framtiden.</p></li>\n</ul>\n<p>Ett ärende kan lösas på flera olika sätt:</p>\n<ul class=\"simple\">\n<li><dl class=\"simple\">\n<dt>fixerad</dt><dd><p>Används när en patch har rullats in i Django och problemet är åtgärdat.</p>\n</dd>\n</dl>\n</li>\n<li><dl class=\"simple\">\n<dt>ogiltig</dt><dd><p>Används om det visar sig att ärendet är felaktigt. Detta innebär att problemet i ärendet faktiskt är resultatet av ett användarfel, eller beskriver ett problem med något annat än Django, eller inte alls är en buggrapport eller funktionsbegäran (till exempel skickar vissa nya användare supportfrågor som ärenden).</p>\n</dd>\n</dl>\n</li>\n<li><dl class=\"simple\">\n<dt>wontfix</dt><dd><p>Används när någon beslutar att begäran inte är lämplig för övervägande i Django. Ibland stängs ett ärende som ”wontfix” med en begäran om att rapportören ska starta en diskussion på <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> om de känner annorlunda än den motivering som ges av den person som stängde ärendet. Andra gånger föregås beslutet att stänga ett ärende av en diskussion. Använd alltid forumet för att få ett samförstånd innan du återöppnar ärenden som stängts som ”wontfix”.</p>\n</dd>\n</dl>\n</li>\n<li><dl class=\"simple\">\n<dt>needsnewfeatureprocess</dt><dd><p>Used when the ticket merits a new feature, which will need to get\ncommunity input and support.\nSee the <a class=\"reference internal\" href=\"/sv/6.0/internals/contributing/bugs-and-features/#requesting-features\"><span class=\"std std-ref\">process for suggesting new features</span></a>.</p>\n</dd>\n</dl>\n</li>\n<li><dl class=\"simple\">\n<dt>duplicera</dt><dd><p>Används när ett annat ärende täcker samma fråga. Genom att stänga dubbla ärenden håller vi all diskussion på ett ställe, vilket är till hjälp för alla.</p>\n</dd>\n</dl>\n</li>\n<li><dl class=\"simple\">\n<dt>arbetar för</dt><dd><p>Används när ärendet inte innehåller tillräckligt med detaljer för att replikera den ursprungliga buggen.</p>\n</dd>\n</dl>\n</li>\n<li><dl class=\"simple\">\n<dt>behöver information</dt><dd><p>Används när ärendet inte innehåller tillräckligt med information för att replikera det rapporterade problemet, men fortfarande kan vara giltigt. Ärendet bör öppnas på nytt när mer information har lämnats.</p>\n</dd>\n</dl>\n</li>\n</ul>\n<p>If you believe that the ticket was closed in error – because you’re\nstill having the issue, or it’s popped up somewhere else, or the triagers have\nmade a mistake – please reopen the ticket and provide further information.\nAgain, please do not reopen tickets that have been marked as ”wontfix” or\n”needsnewfeatureprocess”. For ”wontfix” tickets, bring the issue to the\n<a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> instead. For ”needsnewfeatureprocess” tickets, propose the\nfeature through the <a class=\"reference internal\" href=\"/sv/6.0/internals/contributing/bugs-and-features/#requesting-features\"><span class=\"std std-ref\">new features process</span></a>.</p>\n</section>\n<section id=\"how-can-i-help-with-development\">\n<span id=\"how-can-i-help-with-triaging\"></span><h2>How can I help with development?<a class=\"heading-anchor\" href=\"#how-can-i-help-with-development\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>The development process is primarily driven by community members. Really,\n<strong>ANYONE</strong> can help.</p>\n<p>Om du vill engagera dig kan du börja med att <a class=\"reference external\" href=\"https://www.djangoproject.com/accounts/register/\">skapa ett konto på Trac</a>. Om du har ett konto men har glömt ditt lösenord kan du återställa det genom att använda sidan för återställning av lösenord.</p>\n<p>Då kan du hjälpa till genom att:</p>\n<ul class=\"simple\">\n<li><p>Closing ”Unreviewed” tickets as ”invalid”, ”worksforme”, ”duplicate”,\n”wontfix”, or ”needsnewfeatureprocess”.</p></li>\n<li><p>Stänga ”ogranskade” ärenden som ”behöver information” när beskrivningen är för knapphändig för att kunna åtgärdas.</p></li>\n<li><p>Korrigering av flaggorna ”Behöver testas”, ”Behöver dokumenteras” eller ”Har patch” för ärenden där de är felaktigt inställda.</p></li>\n<li><p>Ställ in flaggan ”<a class=\"reference external\" href=\"https://code.djangoproject.com/query?status=!closed&amp;easy=1\">Easy pickings</a>” för ärenden som är små och relativt okomplicerade.</p></li>\n<li><p>Ange <em>typ</em> av ärenden som fortfarande är okategoriserade.</p></li>\n<li><p>Kontrollera att gamla ärenden fortfarande är giltiga. Om ett ärende inte har varit aktivt på länge är det möjligt att problemet har åtgärdats men att ärendet ännu inte har stängts.</p></li>\n<li><p>Identifiera trender och teman i ärendena. Om det finns många felrapporter om en viss del av Django, kan det tyda på att vi bör överväga att refaktorisera den delen av koden. Om en trend håller på att växa fram bör du ta upp den till diskussion (med hänvisning till de relevanta ärendena) på <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a>.</p></li>\n<li><p>Kontrollera att de lösningar som andra har skickat in är korrekta. Om de är korrekta och även innehåller lämplig dokumentation och tester flyttar du dem till steget ”Redo för kontroll”. Om de inte är korrekta lämnar du en kommentar där du förklarar varför och sätter motsvarande flaggor (”Patch needs improvement”, ”Needs tests” etc.).</p></li>\n</ul>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Sidan <a class=\"reference external\" href=\"https://code.djangoproject.com/wiki/Reports\">Reports</a> innehåller länkar till många användbara Trac-frågor, inklusive flera som är användbara för att triagera ärenden och granska förslag som föreslås ovan.</p>\n<p>You can also find more <a class=\"reference internal\" href=\"/sv/6.0/internals/contributing/new-contributors/\"><span class=\"doc\">Råd till nya bidragsgivare</span></a>.</p>\n</aside>\n<p>Vi ber dock alla allmänna gemenskapsmedlemmar som arbetar i ärendedatabasen att göra följande</p>\n<ul class=\"simple\">\n<li><p>Please <strong>don’t</strong> promote your own tickets to ”Accepted”. Another community\nmember should review the report and set this stage after reproducing and\nconfirming the issue.</p></li>\n<li><p><strong>Främja</strong> inte dina egna ärenden till ”Redo för incheckning”. Du kan markera andras ärenden som du har granskat som ”Redo för incheckning”, men du bör få minst en annan medlem av gemenskapen att granska en patch som du skickar in.</p></li>\n<li><p><strong>Reversera</strong> inte ett beslut utan att skicka ett meddelande till <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> för att hitta konsensus.</p></li>\n<li><p>Om du är osäker på om du bör göra en ändring, gör inte ändringen utan lämna istället en kommentar med dina farhågor på ärendet eller skicka ett meddelande till <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a>. Det är okej att vara osäker, men din input är fortfarande värdefull.</p></li>\n</ul>\n</section>\n<section id=\"bisecting-a-regression\">\n<span id=\"id5\"></span><h2>Bisektion av en regression<a class=\"heading-anchor\" href=\"#bisecting-a-regression\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>En regression är en bugg som finns i en nyare version av Django men inte i en äldre. En mycket användbar information är den commit som introducerade regressionen. Att veta vilken commit som orsakade förändringen i beteende hjälper till att identifiera om förändringen var avsiktlig eller om det var en oavsiktlig bieffekt. Så här kan du avgöra detta.</p>\n<p>Börja med att skriva ett regressionstest för Djangos testsvit för den aktuella frågan. Vi låtsas till exempel att vi felsöker en regression i migreringar. När du har skrivit testet och bekräftat att det misslyckas på den senaste huvudgrenen, lägg det i en separat fil som du kan köra fristående. I vårt exempel låtsas vi att vi har skapat <code class=\"docutils literal notranslate\">tests/migrations/test_regression.py</code>, som kan köras med:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$ ./runtests.py migrations.test_regression\n</code></pre></div>\n<p>Därefter markerar vi den aktuella punkten i historien som ”dålig” eftersom testet misslyckas:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$ git bisect bad\nYou need to start by <span class=\"s2\">&quot;git bisect start&quot;</span>\nDo you want me to <span class=\"k\">do</span> it <span class=\"k\">for</span> you <span class=\"o\">[</span>Y/n<span class=\"o\">]</span>? y\n</code></pre></div>\n<p>Nu måste vi hitta en punkt i git-historiken innan regressionen infördes (dvs. en punkt där testet godkänns). Använd något som <code class=\"docutils literal notranslate\">git checkout HEAD~100</code> för att kolla in en tidigare revision (100 commits tidigare, i det här fallet). Kontrollera om testet misslyckas. Om så är fallet markerar du den punkten som ”dålig” (<code class=\"docutils literal notranslate\">git bisect bad</code>), checkar sedan ut en tidigare revision och kontrollerar igen. När du hittar en revision där ditt test godkänns markerar du den som ”bra”:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$ git bisect good\nBisecting: X revisions left to <span class=\"nb\">test</span> after this <span class=\"o\">(</span>roughly Y steps<span class=\"o\">)</span>\n...\n</code></pre></div>\n<p>Nu är vi redo för den roliga delen: att använda <code class=\"docutils literal notranslate\">git bisect run</code> för att automatisera resten av processen:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$ git bisect run tests/runtests.py migrations.test_regression\n</code></pre></div>\n<p>Du bör se <code class=\"docutils literal notranslate\">git bisect</code> använda en binär sökning för att automatiskt kontrollera revisioner mellan de bra och dåliga begåvningarna tills den hittar den första ”dåliga” begåvningen där testet misslyckas.</p>\n<p>Rapportera nu dina resultat på Trac-ärendet och inkludera regressionstestet som en bilaga. När någon skriver en fix för buggen kommer de redan att ha ditt test som utgångspunkt.</p>\n</section>","rootId":"triaging-tickets","toc":[{"title":"Arbetsflöde för triagering","anchor":"triage-workflow","children":[]},{"title":"Triage-stadier","anchor":"triage-stages","children":[{"title":"Ej Recenserade","anchor":"unreviewed","children":[]},{"title":"Accepterad","anchor":"accepted","children":[]},{"title":"Redo för incheckning","anchor":"ready-for-checkin","children":[]},{"title":"En dag/kanske","anchor":"someday-maybe","children":[]}]},{"title":"Andra triageattribut","anchor":"other-triage-attributes","children":[{"title":"Har lapp","anchor":"has-patch","children":[]},{"title":"Behov av dokumentation","anchor":"needs-documentation","children":[]},{"title":"Behov av tester","anchor":"needs-tests","children":[]},{"title":"Patch behöver förbättras","anchor":"patch-needs-improvement","children":[]},{"title":"Lätt att välja","anchor":"easy-pickings","children":[]},{"title":"Typ","anchor":"type","children":[]},{"title":"Komponent","anchor":"component","children":[]},{"title":"Allvarlighetsgrad","anchor":"severity","children":[]},{"title":"Version","anchor":"version","children":[]},{"title":"UI/UX","anchor":"ui-ux","children":[]},{"title":"Cc","anchor":"cc","children":[]},{"title":"Nyckelord","anchor":"keywords","children":[]}]},{"title":"Stänga ärenden","anchor":"closing-tickets","children":[]},{"title":"How can I help with development?","anchor":"how-can-i-help-with-development","children":[]},{"title":"Bisektion av en regression","anchor":"bisecting-a-regression","children":[]}],"breadcrumbs":[{"docname":"internals/index","title":"Djangos interna funktioner","url":"/sv/6.0/internals/"},{"docname":"internals/contributing/index","title":"Att bidra till Django","url":"/sv/6.0/internals/contributing/"}],"prev":{"docname":"internals/contributing/bugs-and-features","title":"Rapportering av buggar och önskemål om funktioner","url":"/sv/6.0/internals/contributing/bugs-and-features/"},"next":{"docname":"internals/mailing-lists","title":"Mailinglistor och forum","url":"/sv/6.0/internals/mailing-lists/"},"formats":{"html":"/sv/6.0/internals/contributing/triaging-tickets/","markdown":"/sv/6.0/internals/contributing/triaging-tickets.md","json":"/sv/6.0/internals/contributing/triaging-tickets.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/internals/contributing/triaging-tickets.txt","official":"https://docs.djangoproject.com/sv/6.0/internals/contributing/triaging-tickets/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}