MCPcopy Create free account
hub / github.com/driangle/taskmd / buildImportConfigFromFlags

Function buildImportConfigFromFlags

apps/cli/internal/cli/importcmd.go:128–186  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

126}
127
128func buildImportConfigFromFlags() (sync.ImportConfig, error) {
129 project := importProject
130 tokenEnv := importTokenEnv
131
132 baseURL := importBaseURL
133 userEnv := importUserEnv
134
135 // GitHub-specific: --repo is an alias for --project
136 if importSource == "github" {
137 if project == "" && importRepo != "" {
138 project = importRepo
139 }
140 if tokenEnv == "" {
141 tokenEnv = "GITHUB_TOKEN"
142 }
143 }
144
145 // Jira-specific: --url is an alias for --base-url, default env vars
146 if importSource == "jira" {
147 if baseURL == "" && importURL != "" {
148 baseURL = importURL
149 }
150 if tokenEnv == "" {
151 tokenEnv = "JIRA_TOKEN"
152 }
153 if userEnv == "" {
154 userEnv = "JIRA_USER"
155 }
156 }
157
158 srcCfg := sync.SourceConfig{
159 Name: importSource,
160 Project: project,
161 TokenEnv: tokenEnv,
162 UserEnv: userEnv,
163 BaseURL: baseURL,
164 }
165
166 if importFilter != "" {
167 srcCfg.Filters = parseImportFilters(importFilter)
168 }
169
170 // GitHub-specific: merge shortcut flags into filters
171 if importSource == "github" {
172 srcCfg.Filters = mergeGitHubShortcutFlags(srcCfg.Filters)
173 }
174
175 // Jira-specific: merge --jql into filters
176 if importSource == "jira" {
177 srcCfg.Filters = mergeJiraShortcutFlags(srcCfg.Filters)
178 }
179
180 return sync.ImportConfig{
181 SourceName: importSource,
182 SourceCfg: srcCfg,
183 OutputDir: importOutDir,
184 ScanDir: ".",
185 }, nil

Calls 3

parseImportFiltersFunction · 0.85
mergeGitHubShortcutFlagsFunction · 0.85
mergeJiraShortcutFlagsFunction · 0.85