techport
Module techport
Definitions
ballerinax/techport Ballerina library
Overview
The Techport REST API v3.4.0 connector(https://techport.nasa.gov/home) OpenAPI Specification.
This is the public REST API for TechPort. All of the integrations communicates with TechPort through this API.
For additional help getting started with the API, visit the following help articles:
This module supports Techport API version v3.4.0.
Key Features
- Programmatic access to create and manage resources via REST API
- Seamless integration with REST API endpoints
- Support for standard HTTP methods and JSON responses
Quickstart
To use the Techport connector in your Ballerina application, update the .bal file as follows:
Step 1: Import connector
First, import the ballerinax/techport module into the Ballerina project.
import ballerinax/techport;
Step 2: Create a new connector instance
You can now initialize the client.
techport:Client baseClient = check new;
Step 3: Invoke connector operation
- Now you can use the operations available within the connector. Following is an example on how to obtain project information since 2000-01-01
techport:ProjectIdResponse response = check baseClient->getProjectsSince("2000-01-01");
- Use
bal runcommand to compile and run the Ballerina program.
Clients
techport: Client
This is a generated connector for TechPort RESTful API v3.4.0 OpenAPI specification.
All of the integrations communicates with TechPort through this API.
For additional help getting started with the API, visit the following help articles:
Constructor
Gets invoked to initialize the connector.
The connector initialization doesn't require setting the API credentials.
Please refer to API documentation for more detail.
init (ConnectionConfig config, string serviceUrl)- config ConnectionConfig {} - The configurations to be used when initializing the
connector
- serviceUrl string "https://techport.nasa.gov" - URL of the target service
getApiSpecification
Returns the swagger specification for the API.
getProjectsSince
function getProjectsSince(string updatedSince) returns ProjectIdResponse|errorReturns a list of available technology project IDs.
Parameters
- updatedSince string - ISO 8601 full-date in the format YYYY-MM-DD. Filters the list of available ID values by their lastUpdated parameter.
Return Type
- ProjectIdResponse|error - List of Project Ids since the given date.
searchProjects
function searchProjects(int? projectId, string? searchQuery, string? missionDirectorate, string? titleSearch) returns ProjectSearchResponse|errorReturns a list of projects matching the search term.
Parameters
- projectId int? (default ()) - The specific ID of the project requested.
- searchQuery string? (default ()) - The term on which to search. Will check all project fields for the this term.
- missionDirectorate string? (default ()) - The mission directorate acronym of the projects. Used to filter.
- titleSearch string? (default ()) - The term on which to search. Will check only project titles for the this term.
Return Type
- ProjectSearchResponse|error - List of ProjectSearchResult records.
getProject
Returns information about a specific technology project.
Parameters
- projectId int - ID of project to fetch
Records
techport: ClientHttp1Settings
Provides settings related to HTTP/1.x protocol.
Fields
- keepAlive KeepAlive(default http:KEEPALIVE_AUTO) - Specifies whether to reuse a connection for multiple requests
- chunking Chunking(default http:CHUNKING_AUTO) - The chunking behaviour of the request
- proxy? ProxyConfig - Proxy server related options
techport: ConnectionConfig
Provides a set of configurations for controlling the behaviours when communicating with a remote HTTP endpoint.
Fields
- httpVersion HttpVersion(default http:HTTP_2_0) - The HTTP version understood by the client
- http1Settings? ClientHttp1Settings - Configurations related to HTTP/1.x protocol
- http2Settings? ClientHttp2Settings - Configurations related to HTTP/2 protocol
- timeout decimal(default 60) - The maximum time to wait (in seconds) for a response before closing the connection
- forwarded string(default "disable") - The choice of setting
forwarded/x-forwardedheader
- poolConfig? PoolConfiguration - Configurations associated with request pooling
- cache? CacheConfig - HTTP caching related configurations
- compression Compression(default http:COMPRESSION_AUTO) - Specifies the way of handling compression (
accept-encoding) header
- circuitBreaker? CircuitBreakerConfig - Configurations associated with the behaviour of the Circuit Breaker
- retryConfig? RetryConfig - Configurations associated with retrying
- responseLimits? ResponseLimitConfigs - Configurations associated with inbound response size limits
- secureSocket? ClientSecureSocket - SSL/TLS-related options
- proxy? ProxyConfig - Proxy server related options
- validation boolean(default true) - Enables the inbound payload validation functionality which provided by the constraint package. Enabled by default
techport: Contact
Represents an individual and their details.
Fields
- contactId? int - Unique ID for this contact
- displayOrder? int - Display order
- fax? string - Fax number for the contact
- firstName? string - First name for the contact
- lastName? string - Last name for the contact
- fullName? string - Full name for the contact, first middle initial last
- fullNameInverted? string - Full name for the contact but inverted, last first middle initial
- location? Location - Represents a physical location.
- locationId? int - Unique ID representing the contacts location
- middleInitial? string - Middle initial for the contact
- organization? Organization - A NASA center/facility associated with an project
- prefix? string - Prefix for the contact
- primaryEmail? string - Primary email for the contact
- secondaryEmail? string - Secondary email for the contact
- suffix? string - Suffix for the contact
- title? string - Title for the contact
- workPhoneExtension? string - Extension for contacts work phone number
- workPhone? string - Phone number for the contact
- receiveEmail? int - 1 if the contact is signed up to receive TechPort emails
- isPublicEmail? boolean - True if the contacts email is available to be shown to the public
techport: File
Represents a file associated with a library item.
Fields
- fileId? int - Unique identifier for the file.
- url? string - The TechPort URL at which the file is accessible for download.
- fileSize? int - The size of the file in bytes.
- fileExtension? string - The file extension for the file.
- fileName? string - The file name.
techport: LibraryItem
Represents a specific library item.
Fields
- id? int - Unique identifier for the library item.
- title? string - Title of the library item
- contentType? LkuCode - Lookup code representing more data about an object usually stored in our database.
- files? File[] - List of files associated with the library item.
- description? string - Description of the library item.
- url? string - External URL for the library item.
- publishedDateString? string - Date the library item was published.
- publishedBy? string - Publisher of the library item.
techport: LkuCode
Lookup code representing more data about an object usually stored in our database.
Fields
- lkuCodeId? int - Unique ID for this LKU Code
- code? string - Unique text code that represents this LKU Code
- description? string - Description of the LKU Code
- lkuCodeTypeId? int - Unique ID for the LKU Code Type
- lkuCodeType? LkuCodeType - Lookup code type further showing how the lookup codes within this type will be used.
- displayOrder? int - Display order
techport: LkuCodeType
Lookup code type further showing how the lookup codes within this type will be used.
Fields
- lkuCodeTypeId? int - Unique ID for this LKU Code Type
- codeType? string - Unique text code type that represents this LKU Code
- description? string - Description of the LKU Code Type
techport: Location
Represents a physical location.
Fields
- locationId? int - Unique ID for this location
- addressLine1? string - First line of address for location
- addressLine2? string - Second line of address for location
- city? string - City for location
- locationType? LkuCode - Lookup code representing more data about an object usually stored in our database.
- locationTypeId? int - Unique ID for the lookup code representing the location type
- state? string - State for location
- stateTerritoryName? string - State Territory name for location
- zip? string - ZIP code for location
- zip2? string - Secondary ZIP code for location
- NALocation? string - True if this location is located in North America
- country? LkuCode - Lookup code representing more data about an object usually stored in our database.
- countryId? int - Unique ID for the lookup code representing the location country
- shortLocationString? string - A string representing the full location
techport: Organization
A NASA center/facility associated with an project
Fields
- organizationId? int - Unique ID for this organization
- acronym? string - The acronym of the organization
- fax? string - Fax number of the organization
- isActive? boolean - True if the organization is an active organization
- location? Location - Represents a physical location.
- locationId? int - Unique ID representing the organizations location
- organizationName? string - The name of the organization
- organizationType? LkuCode - Lookup code representing more data about an object usually stored in our database.
- organizationTypeId? int - Unique ID for the lookup code representing the organization type
- parentOrganizationId? int - Unique ID for the parent organization
- phone? string - The phone number for the organization
- replacementOrganizationId? int - Unique ID for the replacement organization
- url? string - The URL for the organization
- NAOrganization? boolean - True if the organization is in North America
- 'external? boolean - True if the organization is external to NASA
- linkCount? int - Amount of links this organization has
techport: Program
Represents a NASA program.
Fields
- programId? int - Unique ID for this program
- acronym? string - Acronym for this program
- active? boolean - True if the program is still active
- description? string - Description for the program
- parentProgram? Program - Represents a NASA program.
- parentProgramId? int - Unique ID for the parent program
- responsibleMd? Organization - A NASA center/facility associated with an project
- responsibleMdId? int - Unique ID for the parent responsible mission directorate
- title? string - Title for the program
techport: Project
Top-level TechPort object representing a NASA technology project and its associated data.
Fields
- projectId? int - Unique identifier for the project.
- lastUpdated? string - ISO 8601 full-date in the format YYYY-MM-DD describing the last time this project was updated.
- title? string - Title of the project.
- acronym? string - Abbreviated name of the project.
- statusDescription? string - Indicates whether the project is currently active, completed, or canceled.
- description? string - A detailed description of the project.
- benefits? string - Describes the benefits offered to NASA funded and planned missions, unfunded or planned missions, commercial space industry, and to the nation.
- startDateString? string - The month and year the project was authorized to proceed.
- endDateString? string - The month and year the project is expected to complete its work.
- startTrl? int - The technology maturity (technology readiness level) of the project at its beginning.
- currentTrl? int - The current technology maturity (technology readiness level) of the project.
- endTrl? int - The estimated technology maturity (technology readiness level) of the project at its end.
- primaryTaxonomyNodes? TaxonomyNode[] - List of primary taxonomy nodes (from the NASA Technology Roadmap) associated with the project.
- additionalTaxonomyNodes? TaxonomyNode[] - List of additional and cross-cutting taxonomy nodes associated with the project.
- destinations? LkuCode[] - List of the NASA destinations the technology on this project helps achieve.
- supportedMission? LkuCode - Lookup code representing more data about an object usually stored in our database.
- program? Program - Represents a NASA program.
- responsibleMd? Program - Represents a NASA program.
- leadOrganization? Organization - A NASA center/facility associated with an project
- supportingOrganizations? Organization[] - The supporting organizations for this project that are conducting work on the project.
- coFundingPartners? Organization[] - Other government agencies, NASA Mission Directoratres, universities, or commercial entities performing contributing resources to this project.
- statesWithWork? Location[] - States and territories with people performing work on this project.
- programDirectors? Contact[] - Names of the Program Directors responsible for the management of this project.
- programManagers? Contact[] - Names of the Program Managers responsible for the management of this project.
- projectManagers? Contact[] - Names of the Project Managers responsible for the management of this project.
- principalInvestigators? Contact[] - Names of the Principal Investigators who are the lead scientists or engineers for this project.
- coInvestigators? Contact[] - Names of the additional investigators who are scientists or engineers for this project.
- website? string - The URL for the associated website.
- libraryItems? LibraryItem[] - List of library items in the project library.
- stiDaas? LibraryItem[] - List of STI DAAs in the project library.
- closeoutSummary? string - The project closeout summary excerpt.
- closeoutDocuments? LibraryItem[] - List of document files or links to the project final report closeout documentation.
- primaryImage? LibraryItem - Represents a specific library item.
techport: ProjectId
Fields
- projectId? int? - Project IDs.
- lastUpdated? string? - Date where the project was last updated.
techport: ProjectIdResponse
Fields
- projects? ProjectId[] -
- totalCount? int -
techport: ProjectSearchResponse
Fields
- projects? ProjectSearchResult[] -
techport: ProjectSearchResult
Fields
- id? int - Project Id.
- title? string - Project title.
- description? string - Details about the project.
techport: ProxyConfig
Proxy server configurations to be used with the HTTP client endpoint.
Fields
- host string(default "") - Host name of the proxy server
- port int(default 0) - Proxy server port
- userName string(default "") - Proxy server username
- password string(default "") - Proxy server password
techport: Taxonomy
Represents data associated with a single taxonomy root entity.
Fields
- taxonomyRootId? int - Unique ID for this taxonomy
- releaseStatusId? int - ID for this taxonomy roots release status
- title? string - Title for this taxonomy
- definition? string - Definition for this taxonomy
- modifiedBy? string - The last user to modify this taxonomy
- modifiedDate? string - The date this taxonomy was last modified
- children? TreeNode[] -
- releaseStatus? string - The release status of this taxonomy
techport: TaxonomyNode
Represents data associated with a single taxonomy node entity.
Fields
- taxonomyNodeId? int - Unique identifier for the taxonomy node
- taxonomyRootId? int - Unique identifier for the root of this taxonomy node
- parentNodeId? int - Unique identifier for the taxonomy node/root that is the direct parent of this taxonomy node
- level? int - The level of this node on the tree (0 being the root)
- code? string - Code of the taxonomy node
- title? string - Title of the taxonomy node
- definition? string - Definition of the taxonomy node
- hasChildren? boolean - Defines whether this node has children
- publishedUrl? string - Published URL of the taxonomy node
techport: TechnologyArea
The Technology Area for a given technology that corresponds to the NASA Technology Roadmap.
Fields
- id? int - Unique identifier for the Technology Area.
- code? string - The code identifier for the Technology Area.
- title? string - The title of the Technology Area.
techport: TreeNode
Represents a taxonomy node in a tree.
Fields
- content? TaxonomyNode - Represents data associated with a single taxonomy node entity.
- children? TreeNode[] -
String types
techport: Destination
Destination
Represents a destination towards which the technology on this project helps advance the Agency goals.
techport: WorkLocation
WorkLocation
A state/territory where work on this project is performed.
techport: PrincipalInvestigator
PrincipalInvestigator
The name of the Principal Investigator who is a lead scientist or engineer for an project.
techport: ProgramManager
ProgramManager
The name of a Program Manager responsible for management of an project.
techport: ProgramDirector
ProgramDirector
The name of a Program Director responsible for management of an project.
techport: ProjectManager
ProjectManager
The name of a Project Manager responsible for management of an project.
techport: CoInvestigator
CoInvestigator
The name of an investigator who is a scientist or engineer for an project.
techport: CloseoutDocument
CloseoutDocument
Represents a file hyperlink or external hyperlink to a project closeout final report artifact.
Import
import ballerinax/techport;Metadata
Released date: 3 days ago
Version: 1.5.2
License: Apache-2.0
Compatibility
Platform: any
Ballerina version: 2201.8.0
GraalVM compatible: Yes
Pull count
Total: 27
Current verison: 0
Weekly downloads
Keywords
Type/Connector
Vendor/Tech Port
Area/Cloud & Infrastructure
IT Operations/Cloud Services
Cost/Free
Contributors
Dependencies