Often you need to manage a set of consistently repeating events, where multiple issues are used to track the combined activity of a team. This page describes how to utilize GitLab Issue Import and a few spreadsheet tricks to make it possible to create a repeatable set of issues for future projects.
The Issue Import CSV
button is at the top of the GitLab project issue list. This feature can be very useful for repeating projects with similar groups of issues / work.
You're familiar with the GitLab structure of how projects, groups, epics, milestones, issues, and labels work. If not, please review GitLab 101- No Tissues with Issues
You're comfortable working in a spreadsheet and using formulas to concatenate text into a cell. note: In my examples, I use the &
operator, which is the same as the concat
function.
You have Developer permission level or higher in your project. (required to do issue import)
Your issues will be created in the same project. You can still do this for cross-project templates, but you will either need to MOVE issues to the destination project (can be automated) or more manually you would need to upload a separate CSV for each individual project. Check out this automation tutorial for how to automate moving an issue from one project to another.
Import CSV
is really simple. It requires only two columns,
Import CSV
is really powerful. It allows you to use the /Quick Actions to do cool things to your new issues like:
Decide what project structure will be for your set of issues. Specifically,
labels
will be used for the project,epics
and sub-epics
will be used to track the work, andmilestones
will you use for this work effort.If these structures do not already exist in GitLab, configure them now.
First: - Two columns where the BASIC text of the issue title and description go.
raw title
,raw description
,
These two columns is where you will enter the text for the titles and descriptions of your issues.Second: Two columns where the actual text for the issue title and description are 'assembled'
title
,description
These two columns are actually just formulas that combine different cells to make up the Title and Description for your issues.Third: One or more additional columns to hold issue specific QUICK ACTIONS. In these columns, you can add content such as; epics
, estimates
, labels
, and more can be stored. In the example spreadsheet these columns each contain specific data for each issue:
Team Label
, Type
, Effort
, Size
, Epic
, Milestone
, Iteration
When you're done it will look like this:
Fourth: If you want to have the same Label or the same Quick Action for ALL the issues. A cell at the top of the spreadsheet is a place for common Quick Actions
Note: it's often much easier to work in the Formula bar in google sheets, which makes it easier to enter multi line text in the cell.
Note: If you are using automation, you could use a label to promote the issue to be an epic or a label to automate moving the issue to another project, to make it confidential, or whatever you want to do with quick actions. Read this automation tutorial to learn more about how automation can update issues for you.
See this publicly available example import spreadsheet.
title
and description
cells (including the column headers) and copy the contents.paste as values
. This will eliminate the formulas, but will keep the actual values.title
and description
Import CSV
button:
Import Issues
button and wait for the magic to happen.
Quick Action
codes. Then, copy and paste the quick actions
to your spreadsheet. That way your quick actions
will not have typos or errors.issue created date
). However, if you list your spreadsheet in the reverse order, then your last issues will be loaded first. That means they will be OLDER, and therefore listed last in GitLab issue lists.