diff --git a/data/nav.yml b/data/nav.yml index b9a4037608..eedce79115 100644 --- a/data/nav.yml +++ b/data/nav.yml @@ -314,6 +314,8 @@ path: "team-management" - name: "User and team permissions" path: "team-management/permissions" + - name: "System banners" + path: "team-management/system-banners" - name: "Governance" children: - name: "Overview" diff --git a/pages/apis/graphql/cookbooks/organizations.md b/pages/apis/graphql/cookbooks/organizations.md index 23eb3ba60a..d58276f370 100644 --- a/pages/apis/graphql/cookbooks/organizations.md +++ b/pages/apis/graphql/cookbooks/organizations.md @@ -309,3 +309,40 @@ query getTimeScopedOrganizationAuditEvents{ } } ``` + +## Create & delete system banners + +Create & delete system banners via the `organizationBannerUpsert` & `organizationBannerDelete` mutations. + +To create a banner call `organizationBannerUpsert` with the organization's GraphQL id and message. + +```graphql +mutation OrganizationBannerUpsert { + organizationBannerUpsert(input: { + organizationId: "organization-id", + message: "**Change to 2FA**: On October 1st ECommerce Inc will require 2FA to be set to access all Pipelines. \r\n\r\n---\r\n\r\nIf you have not set already setup 2FA please go to: [https://buildkite.com/user/two-factor](https://buildkite.com/user/two-factor) and setup 2FA now. ", + }) { + clientMutationId + banner { + id + message + uuid + } + } +} +``` + +To remove the banner call `organizationBannerDelete` with the banner's GraphQL id. + +```graphql +mutation deleteBanner { + organizationBannerDelete( + input: { + id: "banner-id" + } + ) + { + deletedBannerId + } +} +``` diff --git a/pages/team_management.md b/pages/team_management.md index 4126663c81..516fe40c86 100644 --- a/pages/team_management.md +++ b/pages/team_management.md @@ -7,4 +7,5 @@ toc: false Managing users and teams in CI/CD is fundamental to collaboration, streamlined processes, and ensuring adequate access controls. Buildkite provides features to manage team access: - [User and team permissions](/docs/team-management/permissions) +- [System banners](/docs/team-management/system-banners) (enterprise only) - [Managing API access tokens](/docs/apis/managing-api-tokens) (under the APIs section) diff --git a/pages/team_management/system_banners.md b/pages/team_management/system_banners.md new file mode 100644 index 0000000000..e978beb16f --- /dev/null +++ b/pages/team_management/system_banners.md @@ -0,0 +1,30 @@ +--- +keywords: docs, tutorials, 2fa +--- + +# System banners (enterprise only) + +Organization owners can create announcement banners for the organization. Banners +will be displayed to all organization members at the top of every page in the +organization. + +You can use Markdown to format your message and link to other documentation +which you may have. + +## Steps to creating a banner + +- You must be logged in as an Administrator +- Visit the Organization's [settings page] +- Add a message to the **System banners** panel +- Click **Save Banner** + +[settings page]: + +## Programmatically creating a system banner + +You can create a system banner programmatically via the GraphQL API. + +Please review the GraphQL [cookbook] on instructions on how to create +a banner via the API. + +[cookbook]: