baton-jira-datacenter
is a connector for jira-datacenter built using the Baton SDK. It communicates with the jira-datacenter API to sync data about users and roles.
Check out Baton to learn more about the project in general.
A docker compose file exists to help you start up a local Jira Data Center instance.
It is recommended that you run this on a linux amd64 machine. This is due to the fact that Atlassian does not ship ARM containers, so emulated performance is poor on an ARM macbook.
mkdir -p dev/jira-data
docker-compose up
All users are allowed to create their own PATs, which will match their current permission level. To create the tokens, you may follow these steps:
In your Atlassian application go to:
- In Jira, select your profile picture at the top right of the screen, then choose Profile. Once you access your profile, select Personal Access Tokens in the left-hand menu.
- Select Create token.
- Give your new token a name.
- Optionally, for security reasons, you can set your token to automatically expire after a set number of days.
Note: Even though, every user can generate a personal access token, you must be an admin in order to sync resources.
brew install conductorone/baton/baton conductorone/baton/baton-jira-datacenter
baton-jira-datacenter
baton resources
docker run --rm -v $(pwd):/out -e BATON_ACCESS_TOKEN=access_token -e BATON_INSTANCE_URL=instance_url ghcr.io/conductorone/baton-jira-datacenter:latest -f "/out/sync.c1z"
docker run --rm -v $(pwd):/out ghcr.io/conductorone/baton:latest -f "/out/sync.c1z" resources
go install github.com/conductorone/baton/cmd/baton@main
go install github.com/conductorone/baton-jira-datacenter/cmd/baton-jira-datacenter@main
BATON_ACCESS_TOKEN=access_token BATON_INSTANCE_URL=instance_url
baton resources
baton-jira-datacenter
will pull down information about the following resources:
- Users
- Groups
- Roles
- Permissions
- Tickets
- Projects
We started Baton because we were tired of taking screenshots and manually building spreadsheets. We welcome contributions, and ideas, no matter how small -- our goal is to make identity and permissions sprawl less painful for everyone. If you have questions, problems, or ideas: Please open a Github Issue!
See CONTRIBUTING.md for more details.
baton-jira-datacenter
Usage:
baton-jira-datacenter [flags]
baton-jira-datacenter [command]
Available Commands:
capabilities Get connector capabilities
completion Generate the autocompletion script for the specified shell
help Help about any command
Flags:
--access-token string required: The Jira personal access token to authenticate with. ($BATON_ACCESS_TOKEN)
--client-id string The client ID used to authenticate with ConductorOne ($BATON_CLIENT_ID)
--client-secret string The client secret used to authenticate with ConductorOne ($BATON_CLIENT_SECRET)
-f, --file string The path to the c1z file to sync with ($BATON_FILE) (default "sync.c1z")
-h, --help help for baton-jira-datacenter
--instance-url string required: The URL that Jira is hosted at. Example: "https://localhost:8080" ($BATON_INSTANCE_URL)
--log-format string The output format for logs: json, console ($BATON_LOG_FORMAT) (default "json")
--log-level string The log level: debug, info, warn, error ($BATON_LOG_LEVEL) (default "info")
--project-keys strings Limit external ticket schemas to any of the provided project keys ($BATON_PROJECT_KEYS)
-p, --provisioning This must be set in order for provisioning actions to be enabled ($BATON_PROVISIONING)
--skip-full-sync This must be set to skip a full sync ($BATON_SKIP_FULL_SYNC)
--ticketing This must be set to enable ticketing support ($BATON_TICKETING)
-v, --version version for baton-jira-datacenter
Use "baton-jira-datacenter [command] --help" for more information about a command.