Tails tasks are managed in a Redmine project.

If you need to do something in Redmine and you appear to lack the needed credentials, please ask tails-sysadmins@boum.org to give you more power.

Some documentation about how we are using Redmine is available in the working together pages. See also the review and merge process documentation.

Tinkering with Redmine is an important part of the Ticket gardener role.

Atom feeds

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

Tracking review'n'merge requests

Subscribe to:

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.

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@redmine.tails.boum.org
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@redmine.tails.boum.org
Subject: Re: [Tails - Feature #6813] (Confirmed) Test creating a ticket by email

Status: Resolved

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

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 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. 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.
      • Help 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.
    • Needs Validation
      • Proposed changes are ready to be reviewed. Read our merge policy to know more.
    • Resolved:
      • Fixed in Git. The Target version indicates whether it is fixed in a version of Tails that was already released, or for a future one.
    • 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.
  • 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.
  • 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: #7584.
  • Blueprint:
  • Starter:
    • Issues flagged as Starter on Redmine are a great tool for new contributors getting into Tails. Learn more.

Requesting input from someone else

If you want to work on a ticket but you need some input from someone else, ask your question on a comment on the ticket, mentioning them with their Redmine login name: @nick. Redmine will send them an email notification about it.

If you expect the person you're asking input from will need to do substantial amounts of work to answer your question, you may file a dedicated subtask assigned to them.

Acting upon input requests

It's important to provide requested information as quickly as you can, to make the Tails contribution process more efficient and enjoyable.

When input is requested from you on a ticket with @nick, you get an email notification. You should ensure your email setup allows you to notice such email from Redmine.

When you receive such a request, if you cannot provide the requested input immediately, you're responsible for keeping track of this task, for example by creating a new subtask assigned to yourself, or using whatever personal organization tools that work for you.

Core team's work

Some of the teams who do Core work (be it paid or done on a volunteer basis) maintain Redmine metadata in order to:

  • provide visibility on what they doing & their priorities;

  • give the Tails community some power over setting these priorities;

  • allow the Tails community to help core workers define their priorities: they sometimes have a hard time deciding by themselves how they should spend their time on what matters the most to the project.

In the Redmine sidebar, you can see a bunch of views whose name starts with Core work.

The teams who use this mechanism are more than happy to get feedback about these priorities: both addition and removal suggestions are welcome. Please check the mission statement for the corresponding team first, to ensure you're not asking them to do something that's outside of the scope of their job. And please justify your suggestions. Please check these views once in a while and talk to us! :)