Tails tasks are managed in a [[!tails_redmine "" desc="Redmine project"]].

If you need to do something in Redmine and you appear to lack the
needed credentials, please ask [[tails-sysadmins@boum.org|about/contact#tails-sysadmins]] to give you
more power.

Some documentation about how we are using Redmine is available in the
[[contribute/working_together]] pages. See also the [[review and merge
process|contribute/merge_policy/review]] documentation.

Tinkering with Redmine is an important part of the
[[Ticket gardener|contribute/working_together/roles/ticket_gardener/]] role.

<a id="atom"></a>

Atom feeds
==========

Each custom query listed in the Redmine sidebar has an Atom feed.

Tracking review'n'merge requests
--------------------------------

Subscribe to:

* the [*Fix
  committed*](https://labs.riseup.net/code/projects/tails/issues?query_id=111)
  feed;
* the [*Ready for
  QA*](https://labs.riseup.net/code/projects/tails/issues?query_id=117) feed.

How to use Redmine's Atom feeds
-------------------------------

To use a Redmine Atom feed:

1. Go to the custom query you want to track.
2. Look for the *Atom* link at the bottom of the page.
3. Point your feed reader to that link.

Email commands
==============

This only works by sending mails from an email address associated with
a Redmine account.
For details, see the [corresponding documentation on the Redmine
website](http://www.redmine.org/projects/redmine/wiki/RedmineReceivingEmails#How-it-works).

Creating a ticket by email
------------------------

You need to provide all the required fields in the body of the email, and the
syntax is case sensitive. For example this works:

    To: redmine@labs.riseup.net
    Subject: Test creating a ticket by email

        Project: tails
        Tracker: Feature
        Status: Confirmed
        Priority: Low
        Type of work: Test

        It should be possible to create a ticket by sending an email to Redmine.

If you send attachments with your email they will also be attached to the
ticket. For example your OpenPGP signature :)

Updating a ticket by email
--------------------------

An easy trick is to reply to an email notification about that ticket. Then only
include in the body of the email the fields that you want to change, and a
description for your changes. For example:

    To: redmine@labs.riseup.net
    Subject: Re: [Tails - Feature #6813] (Confirmed) Test creating a ticket by email

    Status: Resolved

    This works but Redmine is quite picky on the syntax...

<a id="fields"></a>
How to use Redmine fields
=========================

It is important to be consistent in the use of the fields to make collective work
easier. See [[document progress|contribute/working_together/document_progress]]
for more on this topic.

Please take a time to see how we use the fields of Redmine:

* Subject:
  - The Subject should be a short but clear description of what the ticket is about.
    Some people are case sensitive, please try to consider that.
* Description:
  - For the preferred style of this field when reporting a bug, refer to our
    [[bug reporting instructions|doc/first_steps/bug_reporting]]. Features or
    Discuss tickets may follow a different style.
* Status:
   * New:
     - New users' tickets are marked always as new. If a Tails contributor can
       reproduce the issue, it should be marked as *Confirmed*.
     - [[Frontdesk|contribute/working_together/roles/front_desk]] team is in
       charge of keeping an eye on them.
   * Confirmed:
     - Tails contributors can reproduce the issue.
   * In Progress:
     - Some work towards resolution has been done.
     - Added by Redmine automatically when a Git commit with `will-fix: #NNNN`
       is added to the Tails repository. This keyword should be only used in
       topic branches.
   * Fix committed:
     - The fix has been merged into the  [[main Tails Git repository|contribute/git#main-repo]].
     - Added by Redmine automatically when a Git commit with `fix-committed: #NNNN`
       is added to the Tails repository.
   * Resolved:
     - Fix is on current Tails.
   * Duplicate:
     - Another ticket in Redmine covers this issue. Do not forget the related issue!
       You can add a related issue from the 'Related issues' section on the ticket.
   * Rejected:
     - Not applicable, not a Tails problem, being worked on elsewhere.
* Priority
   * Low:
     - It would be good to have it, but nobody is volunteering to do it.
   * Elevated:
     - Regressions are always marked as Elevated.
 * Assignee:
    - Assign yourself to a ticket if you are working on it to prevent duplicated
      work.
    - Assign a ticket marking `QA check` as `Info needed` to get information from
      someone.
* Category:
    - This are usually transversal issues, not specific tools.
* Target version:
    - The Tails release this ticket aims to be fixed for.
    - If submitting code, the Tails release you would like your changes to be in.
* QA Check (quality assurance):
    * Info Needed:
      - If you want to work on this ticket but you need more information, select
        this option, ideally along with an assignee and a note about what to do
        after the information has been given (*reassign to you?*).
      - Answering such tickets quickly when they are assigned to you is very
        important to speed up development.
    * Ready for QA:
      - When your code is ready to fix this ticket, you can set this option, usually
        accompanied by a Git branch to review.
        Read our [[merge policy|/contribute/merge_policy]] to know more.
    * Pass:
      - When a reviewer has reviewed submitted code can set this field to pass,
        and can be merged to `tails` repository.
* Feature Branch:
  - Add the information of the branch for this issue in the format
    `repositoryname:branch`, or only the branch name if it's on Tails repository.
* Type of work:
  * Communicate:
    - Inside or outside of Tails (for example, with other projects).
  * Contributors documentation:
    - Everything below /contribute on the website.
  * Debian:
    - Related or to be done on the Debian project.
  * Discuss:
    - Discuss tickets are reviewed to discuss during the monthly Tails
      contributors meeting.
  * End-user documentation:
    - Everything below /doc on the website.
  * Wait:
    - Used when waiting for input from other projects.
  * Website:
    - All website work not covered by other options.
* Watchers:
  - If you think somebody might be interested on this ticket although not as
    assignee, you can add them as a watcher. They will receive an email with
    information every time the ticket gets updated.
  - If you create a ticket you will receive updates like a watcher.
  - If you comment on a ticket, you're *not* automatically a watcher.
* Parent task:
  - It is always good to add it if there is any. Sometimes we use this field to
    organize work that spans over many tickets. See for example: [[!tails_ticket 7584]].
* Blueprint:
  - Many times the work to fix the tickets is also done in a wiki page, see
    <https://tails.boum.org/blueprint/>.
* Easy:
  - Issues flagged as `Easy` on Redmine are a great tool for new contributors
    getting into Tails. [[Learn
    more|/contribute/working_together/criteria_for_easy_tasks/]].
