grim/youtrack-import
Clone
Summary
Browse
Changes
Graph
Grab the distinct version and milestone fields from tickets as well
draft
default
tip
2020-09-07, Gary Kramlich
c3d30cb6d4ea
Grab the distinct version and milestone fields from tickets as well
package
trac
import
(
"fmt"
"keep.imfreedom.org/grim/youtrack-import/youtrack"
)
func
createProject
(
projectID
string
,
e
*
environment
,
importUsersFile
,
unknownUser
string
)
(
*
youtrack
.
Project
,
error
)
{
users
,
err
:=
e
.
loadUsers
(
importUsersFile
)
if
err
!=
nil
{
return
nil
,
err
}
fmt
.
Printf
(
"loaded %d users\n"
,
len
(
users
))
ytVersions
,
err
:=
e
.
loadVersions
()
if
err
!=
nil
{
return
nil
,
err
}
fmt
.
Printf
(
"loaded %d versions\n"
,
len
(
ytVersions
))
ytSubsystems
,
err
:=
e
.
loadComponents
(
users
,
unknownUser
)
if
err
!=
nil
{
return
nil
,
err
}
fmt
.
Printf
(
"loaded %d subsystems\n"
,
len
(
ytSubsystems
))
ytIssues
,
err
:=
e
.
loadTickets
(
projectID
,
users
,
unknownUser
)
if
err
!=
nil
{
return
nil
,
err
}
fmt
.
Printf
(
"loaded %d issues\n"
,
len
(
ytIssues
))
// build a new slice of users that only includes the ones we're importing.
sliceUsers
:=
make
([]
*
youtrack
.
User
,
len
(
users
))
idx
:=
0
for
_
,
user
:=
range
users
{
sliceUsers
[
idx
]
=
user
idx
++
}
project
:=
&
youtrack
.
Project
{
Issues
:
ytIssues
,
Users
:
sliceUsers
,
Versions
:
ytVersions
,
Subsystems
:
ytSubsystems
,
}
return
project
,
nil
}