-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.example.yaml
More file actions
135 lines (115 loc) · 5.66 KB
/
Copy pathsettings.example.yaml
File metadata and controls
135 lines (115 loc) · 5.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# github2snipe configuration
# Copy this file to settings.yaml and fill in your values.
# settings.yaml is gitignored and should never be committed.
#
# Environment variable overrides are listed in CONTEXT.md.
github:
# Connection mode: "enterprise" or "organization"
#
# enterprise — sync all members of a GitHub Enterprise tenant.
# Requires a PAT with read:enterprise scope.
# organization — sync members of a single GitHub Organization.
# Requires a PAT with read:org scope.
mode: "enterprise"
# GitHub Enterprise slug (required when mode: enterprise).
# This is the URL-safe identifier visible in enterprise URLs:
# https://github.com/enterprises/<enterprise-slug>
enterprise: "your-enterprise-slug"
# GitHub Organization name (required when mode: organization).
# This is the org's login name, not its display name.
organization: "your-org-name"
# Organizations to enumerate in enterprise mode (traditional GHEC accounts).
# The enterprise members API (GET /enterprises/{slug}/members) only works for
# Enterprise Managed Users (EMU) tenants. Traditional GitHub Enterprise Cloud
# accounts — where users keep their personal GitHub accounts — must enumerate
# members via the organization API instead.
#
# Set this to the list of org slugs within your enterprise. Members are
# combined and deduplicated across all listed orgs. Outside collaborators
# and pending invitations also enumerate across all listed orgs when enabled.
#
# Leave empty only if your enterprise uses EMU (Enterprise Managed Users).
# Has no effect when mode: organization.
organizations:
- "your-org-slug"
# - "another-org-slug"
# Personal Access Token (PAT).
# Can also be set via the GITHUB_TOKEN environment variable.
# Required scopes:
# mode: enterprise → admin:enterprise (NOT read:enterprise — that only reads profile data;
# admin:enterprise is required to list members)
# mode: organization → read:org
# Note: GitHub returns 404 (not 403) when the PAT has insufficient scope or the
# user is not an enterprise owner — both cases look identical in the API response.
token: ""
# Optional: prefix and/or suffix to wrap around the default license name.
# Default license name:
# mode: enterprise → "GitHub Enterprise"
# mode: organization → "GitHub"
# Final Snipe-IT license name: {prefix}{default_name}{suffix}
# Include any separator characters (spaces, dashes) in the values themselves.
# Examples:
# prefix: "Acme - " → "Acme - GitHub Enterprise"
# suffix: " (acme)" → "GitHub Enterprise (acme)"
license_name_prefix: ""
license_name_suffix: ""
# Include outside collaborators in the sync (organization mode only).
# Outside collaborators have access to specific org repos but are not org members.
# They consume GitHub license seats and will be added to Snipe-IT with
# type: outside_collaborator in their seat notes.
# Has no effect when mode: enterprise.
include_outside_collaborators: false
# Include pending org membership invitations (organization mode only).
# Pending invitations consume GitHub license seats.
# Pending users will be added to Snipe-IT with status: pending_invitation in notes.
# Has no effect when mode: enterprise.
include_pending_invitations: false
snipe_it:
# Base URL of your Snipe-IT instance (no trailing slash).
url: "https://your-snipe-it-instance.example.com"
# Snipe-IT API key with license management permissions.
# Generate one at: Admin → API Keys
# Can also be set via the SNIPE_TOKEN environment variable.
api_key: ""
# Override the computed license name entirely. If set, license_name_prefix and
# license_name_suffix are ignored. Leave empty to use the computed name.
license_name: ""
# Snipe-IT category ID to assign to the license when created. Required.
# Find IDs at: Admin → Categories, or via the Snipe-IT API.
license_category_id: 0
# Optional: manufacturer ID for the GitHub license.
# If 0, a "GitHub" manufacturer is automatically found or created.
license_manufacturer_id: 0
# Optional: supplier ID. If 0, no supplier is set on the license.
license_supplier_id: 0
# Optional: total purchased seat count to set on the Snipe-IT license.
#
# In enterprise mode, the sync automatically fetches this from GitHub via the
# consumed-licenses API (requires the PAT to have read:enterprise or
# admin:enterprise scope). When the API returns a value, this field is ignored.
#
# Set this as a manual override when auto-fetch is not available (e.g. org mode,
# or PAT lacks the required scope). If 0 and auto-fetch returns nothing, the
# active member count is used as the floor. Seats are never shrunk automatically.
license_seats: 0
sync:
# Simulate a full sync without making any changes.
# Overridden by the --dry-run flag.
dry_run: false
# Re-sync seat notes even if they appear up to date.
# Overridden by the --force flag.
force: false
# Automatically create Snipe-IT accounts for GitHub users not already in Snipe-IT.
# Without this, unmatched users are warned and skipped.
# Overridden by the --create-users flag.
# Requires GitHub users to have a public email set in their GitHub profile.
create_users: false
# Snipe-IT API rate limit in milliseconds between requests.
# 500ms = 2 req/s. Reduce for local instances; increase if you encounter 429 errors.
# Override: SNIPE_RATE_LIMIT_MS
rate_limit_ms: 500
slack:
# Incoming webhook URL for Slack notifications.
# Optional. If omitted, all notifications are silently skipped.
# Can be overridden with the SLACK_WEBHOOK environment variable.
webhook_url: ""