Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vikrantyadav11/f6b0117274e8a7ddd5ec1fe41ddd9fca to your computer and use it in GitHub Desktop.
Save vikrantyadav11/f6b0117274e8a7ddd5ec1fe41ddd9fca to your computer and use it in GitHub Desktop.
// Retrieve the list of projects
def projectsResponse = get('/rest/api/2/project').asObject(List).body
def fieldMappings = [:]
projectsResponse.each { project ->
def projectId = project.id
def projectName = project.name
// Retrieve the list of screens for the project
def screensResponse = get("/rest/api/2/screens?projectId=$projectId").asObject(List).body
screensResponse.each { screen ->
def screenId = screen.id
def screenName = screen.name
// Retrieve fields on the screen
def screenFieldsResponse = get("/rest/api/2/screens/$screenId/fields").asObject(List).body
screenFieldsResponse.each { screenField ->
def fieldId = screenField.id
def fieldName = screenField.name
def fieldType = screenField.schema?.type ?: 'N/A'
if (!fieldMappings[fieldId]) {
fieldMappings[fieldId] = [
name: fieldName,
type: fieldType,
projects: []
]
}
fieldMappings[fieldId].projects << [
projectName: projectName,
screenName: screenName
]
}
}
}
return fieldMappings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment